The name of the agent being used.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | ResearchAssistant |
The assistant message passed to the model.
| Property | Value |
|---|---|
| Type | string |
| Has PII | true |
| Exists in OpenTelemetry | No |
| Example | get_weather tool call |
The model’s response message.
| Property | Value |
|---|---|
| Type | string |
| Has PII | true |
| Exists in OpenTelemetry | No |
| Example | The weather in Paris is rainy and overcast, with temperatures around 57°F |
The cost of tokens used to process the AI input (prompt) in USD (without cached input tokens).
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | 123.45 |
The cost of tokens used for creating the AI output in USD (without reasoning tokens).
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | 123.45 |
The total cost for the tokens used.
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | 12.34 |
The name of the operation being performed.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | chat |
The type of AI operation. Must be one of ‘agent’, ‘ai_client’, ‘tool’, ‘handoff’, ‘guardrail’. Makes querying for spans in the UI easier.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | No |
| Example | tool |
Name of the AI pipeline or chain being executed.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | No |
| Example | Autofix Pipeline |
| Aliases | ai.pipeline.name |
The available tools for the model. It has to be a stringified version of an array of objects.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | No |
| Example | [{"name": "get_weather", "description": "Get the weather for a given location"}, {"name": "get_news", "description": "Get the news for a given topic"}] |
Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 0.5 |
| Aliases | ai.frequency_penalty |
The maximum number of tokens to generate in the response.
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 2048 |
The messages passed to the model. It has to be a stringified version of an array of objects. The role attribute of each object must be "user", "assistant", "tool", or "system". For messages of the role "tool", the content can be a string or an arbitrary object with information about the tool call. For other messages the content can be either a string or a list of objects in the format {type: "text", text:"..."}.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | No |
| Example | [{"role": "system", "content": "Generate a random number."}, {"role": "user", "content": [{"text": "Generate a random number between 0 and 10.", "type": "text"}]}, {"role": "tool", "content": {"toolCallId": "1", "toolName": "Weather", "output": "rainy"}}] |
| Aliases | ai.input_messages |
The model identifier being used for the request.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | gpt-4-turbo-preview |
Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 0.5 |
| Aliases | ai.presence_penalty |
The seed, ideally models given the same seed and same other parameters will produce the exact same output.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | 1234567890 |
| Aliases | ai.seed |
For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 0.1 |
| Aliases | ai.temperature |
Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 35 |
| Aliases | ai.top_k |
Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 0.7 |
| Aliases | ai.top_p |
The reason why the model stopped generating.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | COMPLETE |
| Aliases | ai.finish_reason |
Unique identifier for the completion.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | gen_123abc |
| Aliases | ai.generation_id |
The vendor-specific ID of the model used.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | gpt-4 |
| Aliases | ai.model_id |
Whether or not the AI model call’s response was streamed back asynchronously
| Property | Value |
|---|---|
| Type | boolean |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | true |
| Aliases | ai.streaming |
The model’s response text messages. It has to be a stringified version of an array of response text messages.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | No |
| Example | ["The weather in Paris is rainy and overcast, with temperatures around 57°F", "The weather in London is sunny and warm, with temperatures around 65°F"] |
The total output tokens per seconds throughput
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | 12345.67 |
The tool calls in the model’s response. It has to be a stringified version of an array of objects.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | No |
| Example | [{"name": "get_weather", "arguments": {"location": "Paris"}}] |
The provider of the model.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | openai |
| Aliases | ai.model.provider |
The system instructions passed to the model.
| Property | Value |
|---|---|
| Type | string |
| Has PII | true |
| Exists in OpenTelemetry | No |
| Example | You are a helpful assistant |
The description of the tool being used.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | Searches the web for current information about a topic |
The input of the tool being used. It has to be a stringified version of the input to the tool.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | No |
| Example | {"location": "Paris"} |
The response from a tool or function call passed to the model.
| Property | Value |
|---|---|
| Type | string |
| Has PII | true |
| Exists in OpenTelemetry | No |
| Example | rainy, 57°F |
Name of the tool utilized by the agent.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | Flights |
| Aliases | ai.function_call |
The output of the tool being used. It has to be a stringified version of the output of the tool.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | No |
| Example | rainy, 57°F |
The type of tool being used.
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | function |
The number of tokens used to process the AI input (prompt) without cached input tokens.
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 10 |
| Aliases | ai.prompt_tokens.used, gen_ai.usage.prompt_tokens |
The number of cached tokens used to process the AI input (prompt).
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | 50 |
The number of tokens used for creating the AI output (without reasoning tokens).
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 10 |
| Aliases | ai.completion_tokens.used, gen_ai.usage.completion_tokens |
The number of tokens used for reasoning to create the AI output.
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | 75 |
The total number of tokens used to process the prompt. (input tokens plus output todkens)
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | 20 |
| Aliases | ai.total_tokens.used |
The user message passed to the model.
| Property | Value |
|---|---|
| Type | string |
| Has PII | true |
| Exists in OpenTelemetry | No |
| Example | What's the weather in Paris? |
These attributes are deprecated and will be removed in a future version. Please use the recommended replacements.
The input messages sent to the model
| Property | Value |
|---|---|
| Type | string |
| Has PII | maybe |
| Exists in OpenTelemetry | Yes |
| Example | [{"role": "user", "message": "hello"}] |
| Deprecated | Yes, no replacement at this time |
| Deprecation Reason | Deprecated from OTEL, use gen_ai.input.messages with the new format instead. |
The number of tokens used in the GenAI response (completion).
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 10 |
| Deprecated | Yes, use gen_ai.usage.output_tokens instead |
| Aliases | ai.completion_tokens.used, gen_ai.usage.output_tokens |
The number of tokens used in the GenAI input (prompt).
| Property | Value |
|---|---|
| Type | integer |
| Has PII | false |
| Exists in OpenTelemetry | Yes |
| Example | 20 |
| Deprecated | Yes, use gen_ai.usage.input_tokens instead |
| Aliases | ai.prompt_tokens.used, gen_ai.usage.input_tokens |
The total cost for the tokens used.
| Property | Value |
|---|---|
| Type | double |
| Has PII | false |
| Exists in OpenTelemetry | No |
| Example | 12.34 |
| Deprecated | Yes, use gen_ai.cost.total_tokens instead |