ChatCompletion\FunctionInvokingChatClient.cs (15)
272using Activity? activity = _activitySource?.StartActivity(OpenTelemetryConsts.GenAI.OrchestrateToolsName);
411using Activity? activity = _activitySource?.StartActivity(OpenTelemetryConsts.GenAI.OrchestrateToolsName);
648_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.InputTokens, (int)inputTokens);
653_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.OutputTokens, (int)outputTokens);
1123$"{OpenTelemetryConsts.GenAI.ExecuteToolName} {context.Function.Name}",
1127new(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.ExecuteToolName),
1128new(OpenTelemetryConsts.GenAI.Tool.Type, OpenTelemetryConsts.ToolTypeFunction),
1129new(OpenTelemetryConsts.GenAI.Tool.Call.Id, context.CallContent.CallId),
1130new(OpenTelemetryConsts.GenAI.Tool.Name, context.Function.Name),
1131new(OpenTelemetryConsts.GenAI.Tool.Description, context.Function.Description),
1145_ = activity?.SetTag(OpenTelemetryConsts.GenAI.Tool.Call.Arguments, functionArguments);
1170_ = activity.SetTag(OpenTelemetryConsts.Error.Type, e.GetType().FullName)
1194_ = activity?.SetTag(OpenTelemetryConsts.GenAI.Tool.Call.Result, functionResult);
ChatCompletion\OpenTelemetryChatClient.cs (52)
65string name = string.IsNullOrEmpty(sourceName) ? OpenTelemetryConsts.DefaultSourceName : sourceName!;
70OpenTelemetryConsts.GenAI.Client.TokenUsage.Name,
71OpenTelemetryConsts.TokensUnit,
72OpenTelemetryConsts.GenAI.Client.TokenUsage.Description,
73advice: new() { HistogramBucketBoundaries = OpenTelemetryConsts.GenAI.Client.TokenUsage.ExplicitBucketBoundaries }
77OpenTelemetryConsts.GenAI.Client.OperationDuration.Name,
78OpenTelemetryConsts.SecondsUnit,
79OpenTelemetryConsts.GenAI.Client.OperationDuration.Description,
80advice: new() { HistogramBucketBoundaries = OpenTelemetryConsts.GenAI.Client.OperationDuration.ExplicitBucketBoundaries }
373string.IsNullOrWhiteSpace(modelId) ? OpenTelemetryConsts.GenAI.ChatName : $"{OpenTelemetryConsts.GenAI.ChatName} {modelId}",
379.AddTag(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.ChatName)
380.AddTag(OpenTelemetryConsts.GenAI.Request.Model, modelId)
381.AddTag(OpenTelemetryConsts.GenAI.Provider.Name, _providerName);
386.AddTag(OpenTelemetryConsts.Server.Address, _serverAddress)
387.AddTag(OpenTelemetryConsts.Server.Port, _serverPort);
394_ = activity.AddTag(OpenTelemetryConsts.GenAI.Conversation.Id, conversationId);
399_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.FrequencyPenalty, frequencyPenalty);
404_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.MaxTokens, maxTokens);
409_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.PresencePenalty, presencePenalty);
414_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.Seed, seed);
419_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.StopSequences, $"[{string.Join(", ", stopSequences.Select(s => $"\"{s}\""))}]");
424_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.Temperature, temperature);
429_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.TopK, topK);
434_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.TopP, top_p);
442_ = activity.AddTag(OpenTelemetryConsts.GenAI.Output.Type, OpenTelemetryConsts.TypeText);
445_ = activity.AddTag(OpenTelemetryConsts.GenAI.Output.Type, OpenTelemetryConsts.TypeJson);
455OpenTelemetryConsts.GenAI.Tool.Definitions,
500tags.Add(OpenTelemetryConsts.Error.Type, error.GetType().FullName);
511tags.Add(OpenTelemetryConsts.GenAI.Token.Type, OpenTelemetryConsts.TokenTypeInput);
519tags.Add(OpenTelemetryConsts.GenAI.Token.Type, OpenTelemetryConsts.TokenTypeOutput);
528.AddTag(OpenTelemetryConsts.Error.Type, error.GetType().FullName)
541_ = activity.AddTag(OpenTelemetryConsts.GenAI.Response.FinishReasons, $"[\"{finishReason.Value.ToLowerInvariant()}\"]");
547_ = activity.AddTag(OpenTelemetryConsts.GenAI.Response.Id, response.ResponseId);
552_ = activity.AddTag(OpenTelemetryConsts.GenAI.Response.Model, response.ModelId);
557_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.InputTokens, (int)inputTokens);
562_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.OutputTokens, (int)outputTokens);
579tags.Add(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.ChatName);
583tags.Add(OpenTelemetryConsts.GenAI.Request.Model, requestModelId);
586tags.Add(OpenTelemetryConsts.GenAI.Provider.Name, _providerName);
590tags.Add(OpenTelemetryConsts.Server.Address, endpointAddress);
591tags.Add(OpenTelemetryConsts.Server.Port, _serverPort);
596tags.Add(OpenTelemetryConsts.GenAI.Response.Model, responseModel);
608OpenTelemetryConsts.GenAI.SystemInstructions,
613OpenTelemetryConsts.GenAI.Input.Messages,
623OpenTelemetryConsts.GenAI.Output.Messages,
ChatCompletion\OpenTelemetryImageGenerator.cs (36)
58string name = string.IsNullOrEmpty(sourceName) ? OpenTelemetryConsts.DefaultSourceName : sourceName!;
63OpenTelemetryConsts.GenAI.Client.TokenUsage.Name,
64OpenTelemetryConsts.TokensUnit,
65OpenTelemetryConsts.GenAI.Client.TokenUsage.Description,
66advice: new() { HistogramBucketBoundaries = OpenTelemetryConsts.GenAI.Client.TokenUsage.ExplicitBucketBoundaries }
70OpenTelemetryConsts.GenAI.Client.OperationDuration.Name,
71OpenTelemetryConsts.SecondsUnit,
72OpenTelemetryConsts.GenAI.Client.OperationDuration.Description,
73advice: new() { HistogramBucketBoundaries = OpenTelemetryConsts.GenAI.Client.OperationDuration.ExplicitBucketBoundaries }
148string.IsNullOrWhiteSpace(modelId) ? OpenTelemetryConsts.GenAI.GenerateContentName : $"{OpenTelemetryConsts.GenAI.GenerateContentName} {modelId}",
154.AddTag(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.GenerateContentName)
155.AddTag(OpenTelemetryConsts.GenAI.Output.Type, OpenTelemetryConsts.TypeImage)
156.AddTag(OpenTelemetryConsts.GenAI.Request.Model, modelId)
157.AddTag(OpenTelemetryConsts.GenAI.Provider.Name, _providerName);
162.AddTag(OpenTelemetryConsts.Server.Address, _serverAddress)
163.AddTag(OpenTelemetryConsts.Server.Port, _serverPort);
170_ = activity.AddTag(OpenTelemetryConsts.GenAI.Request.ChoiceCount, count);
197OpenTelemetryConsts.GenAI.Input.Messages,
229tags.Add(OpenTelemetryConsts.Error.Type, error.GetType().FullName);
238.AddTag(OpenTelemetryConsts.Error.Type, error.GetType().FullName)
249OpenTelemetryConsts.GenAI.Output.Messages,
260tags.Add(OpenTelemetryConsts.GenAI.Token.Type, OpenTelemetryConsts.TokenTypeInput);
268tags.Add(OpenTelemetryConsts.GenAI.Token.Type, OpenTelemetryConsts.TokenTypeOutput);
278_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.InputTokens, (int)inputTokens);
283_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.OutputTokens, (int)outputTokens);
291tags.Add(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.GenerateContentName);
295tags.Add(OpenTelemetryConsts.GenAI.Request.Model, requestModelId);
298tags.Add(OpenTelemetryConsts.GenAI.Provider.Name, _providerName);
302tags.Add(OpenTelemetryConsts.Server.Address, endpointAddress);
303tags.Add(OpenTelemetryConsts.Server.Port, _serverPort);
Embeddings\OpenTelemetryEmbeddingGenerator.cs (31)
63string name = string.IsNullOrEmpty(sourceName) ? OpenTelemetryConsts.DefaultSourceName : sourceName!;
68OpenTelemetryConsts.GenAI.Client.TokenUsage.Name,
69OpenTelemetryConsts.TokensUnit,
70OpenTelemetryConsts.GenAI.Client.TokenUsage.Description,
71advice: new() { HistogramBucketBoundaries = OpenTelemetryConsts.GenAI.Client.TokenUsage.ExplicitBucketBoundaries }
75OpenTelemetryConsts.GenAI.Client.OperationDuration.Name,
76OpenTelemetryConsts.SecondsUnit,
77OpenTelemetryConsts.GenAI.Client.OperationDuration.Description,
78advice: new() { HistogramBucketBoundaries = OpenTelemetryConsts.GenAI.Client.OperationDuration.ExplicitBucketBoundaries }
153string.IsNullOrWhiteSpace(modelId) ? OpenTelemetryConsts.GenAI.EmbeddingsName : $"{OpenTelemetryConsts.GenAI.EmbeddingsName} {modelId}",
157new(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.EmbeddingsName),
158new(OpenTelemetryConsts.GenAI.Request.Model, modelId),
159new(OpenTelemetryConsts.GenAI.Provider.Name, _providerName),
167.AddTag(OpenTelemetryConsts.Server.Address, _endpointAddress)
168.AddTag(OpenTelemetryConsts.Server.Port, _endpointPort);
173_ = activity.AddTag(OpenTelemetryConsts.GenAI.Embeddings.Dimension.Count, dimensionsValue);
216tags.Add(OpenTelemetryConsts.Error.Type, error.GetType().FullName);
225tags.Add(OpenTelemetryConsts.GenAI.Token.Type, OpenTelemetryConsts.TokenTypeInput);
236.AddTag(OpenTelemetryConsts.Error.Type, error.GetType().FullName)
242_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.InputTokens, inputTokens);
247_ = activity.AddTag(OpenTelemetryConsts.GenAI.Response.Model, responseModelId);
264tags.Add(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.EmbeddingsName);
268tags.Add(OpenTelemetryConsts.GenAI.Request.Model, requestModelId);
271tags.Add(OpenTelemetryConsts.GenAI.Provider.Name, _providerName);
275tags.Add(OpenTelemetryConsts.Server.Address, endpointAddress);
276tags.Add(OpenTelemetryConsts.Server.Port, _endpointPort);
282tags.Add(OpenTelemetryConsts.GenAI.Response.Model, responseModelId);
SpeechToText\OpenTelemetrySpeechToTextClient.cs (37)
60string name = string.IsNullOrEmpty(sourceName) ? OpenTelemetryConsts.DefaultSourceName : sourceName!;
65OpenTelemetryConsts.GenAI.Client.TokenUsage.Name,
66OpenTelemetryConsts.TokensUnit,
67OpenTelemetryConsts.GenAI.Client.TokenUsage.Description,
68advice: new() { HistogramBucketBoundaries = OpenTelemetryConsts.GenAI.Client.TokenUsage.ExplicitBucketBoundaries }
72OpenTelemetryConsts.GenAI.Client.OperationDuration.Name,
73OpenTelemetryConsts.SecondsUnit,
74OpenTelemetryConsts.GenAI.Client.OperationDuration.Description,
75advice: new() { HistogramBucketBoundaries = OpenTelemetryConsts.GenAI.Client.OperationDuration.ExplicitBucketBoundaries }
206string.IsNullOrWhiteSpace(modelId) ? OpenTelemetryConsts.GenAI.GenerateContentName : $"{OpenTelemetryConsts.GenAI.GenerateContentName} {modelId}",
212.AddTag(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.GenerateContentName)
213.AddTag(OpenTelemetryConsts.GenAI.Request.Model, modelId)
214.AddTag(OpenTelemetryConsts.GenAI.Provider.Name, _providerName)
215.AddTag(OpenTelemetryConsts.GenAI.Output.Type, OpenTelemetryConsts.TypeText);
220.AddTag(OpenTelemetryConsts.Server.Address, _serverAddress)
221.AddTag(OpenTelemetryConsts.Server.Port, _serverPort);
260tags.Add(OpenTelemetryConsts.Error.Type, error.GetType().FullName);
271tags.Add(OpenTelemetryConsts.GenAI.Token.Type, OpenTelemetryConsts.TokenTypeInput);
279tags.Add(OpenTelemetryConsts.GenAI.Token.Type, OpenTelemetryConsts.TokenTypeOutput);
288.AddTag(OpenTelemetryConsts.Error.Type, error.GetType().FullName)
300_ = activity.AddTag(OpenTelemetryConsts.GenAI.Response.Id, response.ResponseId);
305_ = activity.AddTag(OpenTelemetryConsts.GenAI.Response.Model, response.ModelId);
310_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.InputTokens, (int)inputTokens);
315_ = activity.AddTag(OpenTelemetryConsts.GenAI.Usage.OutputTokens, (int)outputTokens);
332tags.Add(OpenTelemetryConsts.GenAI.Operation.Name, OpenTelemetryConsts.GenAI.GenerateContentName);
336tags.Add(OpenTelemetryConsts.GenAI.Request.Model, requestModelId);
339tags.Add(OpenTelemetryConsts.GenAI.Provider.Name, _providerName);
343tags.Add(OpenTelemetryConsts.Server.Address, endpointAddress);
344tags.Add(OpenTelemetryConsts.Server.Port, _serverPort);
349tags.Add(OpenTelemetryConsts.GenAI.Response.Model, responseModel);
359OpenTelemetryConsts.GenAI.Output.Messages,