Usage accounting workflow for key counters, usage rows, optional traces, and user-message logging.
@spec maybe_record_trace(map(), String.t(), map(), map(), LLMProxy.Usage.t(), map()) :: term()
@spec track_usage(map(), String.t(), LLMProxy.Usage.t(), map()) :: :ok | term()