trackGeneration method
void
trackGeneration({})
Track text generation
Implementation
void trackGeneration({
required String modelId,
required int promptTokens,
required int completionTokens,
required int latencyMs,
String? modelName,
double? temperature,
int? maxTokens,
int? contextLength,
double? tokensPerSecond,
int? timeToFirstTokenMs,
bool isStreaming = false,
}) {
final totalTokens = promptTokens + completionTokens;
final calculatedTps = tokensPerSecond ??
(latencyMs > 0 ? (completionTokens / latencyMs) * 1000 : 0.0);
track(
'generation_completed',
category: TelemetryCategory.llm,
properties: {
'model_id': modelId,
'model_name': modelName,
'prompt_tokens': promptTokens,
'completion_tokens': completionTokens,
'total_tokens': totalTokens,
'latency_ms': latencyMs,
'generation_time_ms': latencyMs,
'tokens_per_second': calculatedTps,
'temperature': temperature,
'max_tokens': maxTokens,
'context_length': contextLength,
'time_to_first_token_ms': timeToFirstTokenMs,
'is_streaming': isStreaming,
},
);
}