Classify the operation before its route

The FAQ excerpt presents a blank request as a way to warm a model through both generate and chat. That documented pattern is useful evidence for an application classifier, but it does not turn every blank request into a known preload. Record declared intent at submission time and retain the unmodified operation record alongside the derived category.

A practical local convention is to place intentionally warming calls in an operational-lifecycle category and requests submitted for user inference in a workload category. This is an application-owned accounting rule, not an Ollama billing, demand, or attribution label.

Four-case decision table

Use this table to keep endpoint selection, completion state, and local accounting decisions separate.

Proposed handling for four telemetry cases
CaseRequest purposeEndpoint classProposed accounting categoryUsage collection pointConclusion supportedInference to rejectEvidence ownerBounded application-owned action
Empty generate request used for preloadingOperational model warminggenerateOperational lifecycleKeep the raw reply; use completion telemetry only when presentThe FAQ shows a blank generate call for warming a model.A generate route automatically means user workload.Ollama FAQ excerptAttach an intentional-preload tag and exclude it from the user-workload rollup.
Empty chat request used for preloadingOperational model warmingchatOperational lifecycleKeep the raw reply; use completion telemetry only when presentThe FAQ also shows blank chat as a warming path.A chat route automatically means conversational user demand.Ollama FAQ excerptAttach an intentional-preload tag and exclude it from the user-workload rollup.
Non-streaming user requestUser inferenceNon-streaming API callUser inferenceRead fields from the completed responseThe usage reference illustrates fields on a completed, non-streaming generate reply.Metric presence alone establishes why the request was sent.Ollama usage excerptRetain the source record and apply the locally declared workload category.
Streaming user requestUser inferenceStreaming API callUser inferenceRead usage from the terminal chunkFor a streaming reply, usage is delivered in the terminal piece marked done=true.An earlier chunk is a complete usage observation.Ollama usage excerptWait for completion; if final telemetry is unavailable, store it as missing.

Correct a hypothetical telemetry failure

Consider an explicitly hypothetical pipeline that labels a known blank preload as user workload and converts absent values on an earlier streaming chunk to zero. The repair is to preserve the raw operation, keep the tagged preload in the operational-lifecycle category, wait for the terminal done=true chunk, and represent unavailable final telemetry as missing rather than zero.

This correction separates observation from interpretation: the terminal streaming record is the documented location for usage data, while the tag, accounting category, retention choice, and missing-value convention are proposed application policy. A missing value says that the pipeline lacks the final observation; zero would be a different local assertion.

Use metrics as observations, not intent labels

The usage reference lists whole-response and load durations, prompt and output token counts, cached-prompt count, and prompt or output evaluation durations. Its timing figures use nanoseconds.

These fields can support an operational record of the response, but this article does not use classification or metrics to conclude residency duration, hardware placement, privacy, billing, user demand, or performance. Lifecycle configuration, access controls, and tuning are outside this troubleshooting scope.

Alternatives and review boundaries

Where submission tags are reliable, purpose-based classification is the preferred design because it preserves the stated reason for the operation. If a trustworthy tag is unavailable, a cautious alternative is a review queue for blank calls rather than silently assigning them to workload; route-only grouping can remain a transport report, but should not become the accounting decision.

Revisit the mapping after source changes or an incompatible release. This guidance is limited to the supplied documentation excerpts and intentionally leaves application authentication of preload intent, retention fields, failure status taxonomy, and correction ownership to local review.