GenAI OTel Conformance — Detailed Results

Generated 2026-04-14 21:32 UTC — genai-otel-conformance | Dashboard

Anthropic (Python) — OTel Contrib

Entities: 3 spans, 3 resources, 83 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×13
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
✓
gen_ai.request.max_tokens ×3
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×12
✓
gen_ai.usage.cache_creation.input_tokens ×2
✓
gen_ai.usage.cache_read.input_tokens ×2
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Non-registry attributes (2):
gen_ai.response.finish_reason ×4
gen_ai.usage.total_tokens ×2

Metrics (5):
gen_ai.client.generation.choices ×2
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×12
–
server.address
Client Token Usage Metric Attributes
Required
–
gen_ai.operation.name
✓
gen_ai.token.type ×4
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×12
–
server.address

Violations (11):
Attribute 'gen_ai.response.finish_reason' does not exist in the registry.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.response.finish_reason' collides with existing namespace 'gen_ai.response'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Metric does not exist in the registry.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.operation.name' is not present.
Unit should be '{token}', but found 'token'.

Anthropic (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 1.0.0
Entities: 3 spans, 3 resources, 66 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (19):
input.mime_type ×3
input.value ×3
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.provider ×3
llm.system ×3
llm.token_count.completion ×3
llm.token_count.prompt ×3
llm.token_count.total ×1
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×3
output.mime_type ×3
output.value ×3

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (19):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Anthropic (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 3 spans, 3 resources, 83 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×13
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
✓
gen_ai.request.max_tokens ×3
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×12
✓
gen_ai.usage.cache_creation.input_tokens ×2
✓
gen_ai.usage.cache_read.input_tokens ×2
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Non-registry attributes (2):
gen_ai.response.finish_reason ×4
gen_ai.usage.total_tokens ×2

Metrics (5):
gen_ai.client.generation.choices ×2
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×12
–
server.address
Client Token Usage Metric Attributes
Required
–
gen_ai.operation.name
✓
gen_ai.token.type ×4
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×12
–
server.address

Violations (11):
Attribute 'gen_ai.response.finish_reason' does not exist in the registry.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.response.finish_reason' collides with existing namespace 'gen_ai.response'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Metric does not exist in the registry.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.operation.name' is not present.
Unit should be '{token}', but found 'token'.

Anthropic (Python) — Prototype

Entities: 3 spans, 1 log, 4 resources, 56 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Anthropic (JS) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.9
Entities: 3 spans, 1 resource, 53 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (22):
input.mime_type ×3
input.value ×3
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×1
llm.output_messages.0.message.contents.0.message_content.text ×1
llm.output_messages.0.message.contents.0.message_content.type ×1
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.provider ×3
llm.system ×3
llm.token_count.completion ×2
llm.token_count.prompt ×2
llm.token_count.total ×2
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×3
output.mime_type ×3
output.value ×3

Violations (22):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.output_messages.0.message.contents.0.message_content.type' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Anthropic (JS) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.25.0
Entities: 3 spans, 1 resource, 36 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
✓
gen_ai.request.max_tokens ×3
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (1):
gen_ai.usage.total_tokens ×3

Violations (2):
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'

Anthropic (JS) — Prototype

Entities: 3 spans, 1 log, 2 resources, 45 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
✓
gen_ai.request.max_tokens ×3
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

AutoGen (Python) — Native

Instrumentation: microsoft/autogen — 0.7.5
Entities: 1 span, 3 resources, 22 attributes
Create Agent Attributes
Required
✓
gen_ai.operation.name ×1
–
gen_ai.provider.name
✓
gen_ai.system ×1
Conditionally Required
–
error.type
✓
gen_ai.agent.description ×1
–
gen_ai.agent.id
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.request.model
–
server.port
Recommended
–
server.address
Opt-In
–
gen_ai.system_instructions

Non-registry attributes (1):
gen_ai.system ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (2):
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Enum attribute 'gen_ai.system' has value 'autogen' which is not documented.

AutoGen (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.6
Entities: 3 spans, 4 resources, 56 attributes
Create Agent Attributes
Required
✓
gen_ai.operation.name ×1
–
gen_ai.provider.name
✓
gen_ai.system ×1
Conditionally Required
–
error.type
✓
gen_ai.agent.description ×1
–
gen_ai.agent.id
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.request.model
–
server.port
Recommended
–
server.address
Opt-In
–
gen_ai.system_instructions
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
–
gen_ai.agent.name
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (18):
exception.escaped ×1
gen_ai.system ×1
graph.node.id ×1
graph.node.parent_id ×1
input.value ×1
llm.input_messages.0.message.content ×1
llm.input_messages.0.message.role ×1
llm.input_messages.1.message.content ×1
llm.input_messages.1.message.role ×1
llm.model_name ×1
llm.output_messages.0.message.content ×1
llm.output_messages.0.message.role ×1
llm.token_count.completion ×1
llm.token_count.prompt ×1
llm.token_count.total ×1
openinference.span.kind ×2
output.mime_type ×1
output.value ×1

Metrics (2):
otel.sdk.span.live ×3
otel.sdk.span.started ×3

Violations (20):
Attribute 'exception.escaped' has type 'string'. Type should be 'boolean'.
Attribute 'exception.escaped' is deprecated; reason = 'obsoleted', note = 'It's no longer recommended to record exceptions that are handled and do not escape the scope of a span. '.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'graph.node.id' does not exist in the registry.
Attribute 'graph.node.parent_id' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.input_messages.1.message.content' does not exist in the registry.
Attribute 'llm.input_messages.1.message.role' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Enum attribute 'gen_ai.system' has value 'autogen' which is not documented.

AutoGen (Python) — Prototype

Entities: 3 spans, 3 resources, 37 attributes
Create Agent Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.agent.description ×1
–
gen_ai.agent.id
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
✓
gen_ai.request.model ×3
–
server.port
Recommended
–
server.address
Opt-In
–
gen_ai.system_instructions
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
✓
server.port ×1
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×1
✓
gen_ai.response.id ×1
✓
gen_ai.response.model ×1
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×1
✓
gen_ai.usage.output_tokens ×1
✓
server.address ×1
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

AWS Bedrock (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.34
Entities: 2 spans, 3 resources, 33 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (13):
input.value ×1
llm.input_messages.0.message.contents.0.message_content.text ×1
llm.input_messages.0.message.contents.0.message_content.type ×1
llm.input_messages.0.message.role ×1
llm.invocation_parameters ×1
llm.model_name ×2
llm.output_messages.0.message.content ×1
llm.output_messages.0.message.role ×1
llm.token_count.completion ×1
llm.token_count.prompt ×1
llm.token_count.total ×1
openinference.span.kind ×2
output.value ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (13):
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.input_messages.0.message.contents.0.message_content.type' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

AWS Bedrock (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 3 spans, 3 resources, 80 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×17
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×2
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×17
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×3
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
✓
gen_ai.usage.input_tokens ×3
–
server.address

Non-registry attributes (1):
gen_ai.usage.total_tokens ×3

Metrics (5):
gen_ai.bedrock.guardrail.activation ×2
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×14
–
server.address
Client Token Usage Metric Attributes
Required
–
gen_ai.operation.name
✓
gen_ai.token.type ×8
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×14
–
server.address

Violations (9):
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Metric does not exist in the registry.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.operation.name' is not present.
Unit should be '{token}', but found 'token'.

AWS Bedrock (Python) — Prototype

Entities: 3 spans, 1 log, 4 resources, 46 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
✓
gen_ai.usage.input_tokens ×4
–
server.address

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (19):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.id' is not present.
Recommended attribute 'gen_ai.response.model' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

AWS Bedrock (JS) — OTel Contrib

Instrumentation: open-telemetry/opentelemetry-js-contrib — 0.69.0
Entities: 4 spans, 3 resources, 75 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×9
–
gen_ai.provider.name
✓
gen_ai.system ×10
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×10
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (4):
gen_ai.system ×10
http.status_code ×4
rpc.service ×4
rpc.system ×4

Metrics (2):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×9
Conditionally Required
–
error.type
✓
gen_ai.request.model ×10
–
server.port
Recommended
–
gen_ai.response.model
–
server.address
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×9
✓
gen_ai.token.type ×4
Conditionally Required
✓
gen_ai.request.model ×10
–
server.port
Recommended
–
gen_ai.response.model
–
server.address

Violations (10):
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'http.status_code' is deprecated; reason = 'renamed', note = 'Replaced by `http.response.status_code`.'.
Attribute 'rpc.service' is deprecated; reason = 'uncategorized', note = 'Value should be included in `rpc.method` which is expected to be a fully-qualified name.'.
Attribute 'rpc.system' is deprecated; reason = 'renamed', note = 'Replaced by `rpc.system.name`.'.
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'rpc.system' has value 'aws-api' which is not documented.
Recommended attribute 'gen_ai.response.model' is not present.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.provider.name' is not present.

AWS Bedrock (JS) — OpenInference

Instrumentation: Arize-ai/openinference — 0.4.10
Entities: 4 spans, 1 resource, 65 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (18):
input.mime_type ×4
input.value ×4
llm.input_messages.0.message.content ×4
llm.input_messages.0.message.role ×4
llm.invocation_parameters ×1
llm.model_name ×4
llm.output_messages.0.message.content ×3
llm.output_messages.0.message.role ×4
llm.provider ×4
llm.stop_reason ×3
llm.system ×4
llm.token_count.completion ×3
llm.token_count.prompt ×3
llm.token_count.total ×3
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×4
output.mime_type ×4
output.value ×4

Violations (18):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.stop_reason' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

AWS Bedrock (JS) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.25.0
Entities: 4 spans, 1 resource, 18 attributes
Embeddings Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×1
✓
gen_ai.usage.input_tokens ×1
–
server.address

Non-registry attributes (1):
gen_ai.usage.total_tokens ×1

Violations (2):
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'

AWS Bedrock (JS) — Prototype

Entities: 4 spans, 1 log, 2 resources, 43 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
–
gen_ai.response.id
✓
gen_ai.response.model ×5
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×5
✓
gen_ai.usage.input_tokens ×5
–
server.address

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
–
gen_ai.response.id
✓
gen_ai.response.model ×5
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (18):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.id' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

AWS Bedrock (Java) — OTel Contrib

Instrumentation: open-telemetry/opentelemetry-java-instrumentation — 2.26.0-alpha
Entities: 2 spans, 4 logs, 7 resources, 101 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×9
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
✓
server.port ×2
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
✓
server.address ×2
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (3):
event.name ×4
rpc.service ×6
rpc.system ×6

Metrics (2):
gen_ai.client.operation.duration ×1
gen_ai.client.token.usage ×1
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.response.model
–
server.address
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.token.type ×2
Conditionally Required
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.response.model
–
server.address

Violations (8):
Attribute 'event.name' is deprecated; reason = 'uncategorized', note = 'The value of this attribute MUST now be set as the value of the EventName field on the LogRecord to indicate that the LogRecord represents an Event. '.
Attribute 'rpc.service' is deprecated; reason = 'uncategorized', note = 'Value should be included in `rpc.method` which is expected to be a fully-qualified name.'.
Attribute 'rpc.system' is deprecated; reason = 'renamed', note = 'Replaced by `rpc.system.name`.'.
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'rpc.system' has value 'aws-api' which is not documented.
Recommended attribute 'gen_ai.response.model' is not present.
Recommended attribute 'server.address' is not present.

AWS Bedrock (Java) — Prototype

Entities: 2 spans, 1 log, 3 resources, 36 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×2
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
✓
server.port ×2
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×2
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×3
Conditionally Required
–
error.type
✓
gen_ai.request.model ×3
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (19):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.id' is not present.
Recommended attribute 'gen_ai.response.model' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

AWS Bedrock Agent (Python) — Prototype

Instrumentation: 1.42.88
Entities: 1 span, 3 resources, 24 attributes
Invoke Agent Client Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
✓
gen_ai.agent.id ×1
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
✓
server.port ×1
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
✓
server.address ×1
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

AWS Bedrock Agent (JS) — Prototype

Instrumentation: 3.1030.0
Entities: 1 span, 1 resource, 10 attributes
Invoke Agent Client Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
✓
gen_ai.agent.id ×1
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
✓
server.port ×1
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
✓
server.address ×1
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

AWS Bedrock Agent (Java) — Prototype

Instrumentation: 2.42.34
Entities: 1 span, 1 resource, 10 attributes
Invoke Agent Client Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
✓
gen_ai.agent.id ×1
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
✓
server.port ×1
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
✓
server.address ×1
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Azure AI Evaluation (Python) — Prototype

Instrumentation: 1.16.5
Entities: 1 span, 1 log, 4 resources, 26 attributes

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.evaluation.result ×1
Evaluation Result Event Attributes
Required
✓
gen_ai.evaluation.name ×1
Recommended
✓
gen_ai.evaluation.explanation ×1
✓
gen_ai.evaluation.score.label ×1
✓
gen_ai.evaluation.score.value ×1
–
gen_ai.response.id

Violations (2):
Conditionally required attribute 'error.type' is not present.
Recommended attribute 'gen_ai.response.id' is not present.

Azure AI Foundry (Python) — Prototype

Instrumentation: 2.0.1
Entities: 1 span, 3 resources, 28 attributes
Invoke Agent Client Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
✓
gen_ai.agent.id ×1
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×1
–
gen_ai.request.seed
✓
server.port ×1
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×1
✓
gen_ai.usage.output_tokens ×1
✓
server.address ×1
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Azure AI Inference (Python) — OTel Contrib

Instrumentation: open-telemetry/opentelemetry-python-contrib — 1.0.0b12
Entities: 8 spans, 3 resources, 96 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
–
gen_ai.provider.name
✓
gen_ai.system ×9
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
✓
server.port ×3
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×3
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (9):
az.client_request_id ×4
component ×4
gen_ai.event.content ×6
gen_ai.system ×9
http.method ×4
http.status_code ×4
http.url ×4
net.peer.name ×4
net.peer.port ×4

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (12):
Attribute 'az.client_request_id' does not exist in the registry.
Attribute 'component' does not exist in the registry.
Attribute 'gen_ai.event.content' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'http.method' is deprecated; reason = 'renamed', note = 'Replaced by `http.request.method`.'.
Attribute 'http.status_code' is deprecated; reason = 'renamed', note = 'Replaced by `http.response.status_code`.'.
Attribute 'http.url' is deprecated; reason = 'renamed', note = 'Replaced by `url.full`.'.
Attribute 'net.peer.name' is deprecated; reason = 'uncategorized', note = 'Replaced by `server.address` on client spans and `client.address` on server spans.'.
Attribute 'net.peer.port' is deprecated; reason = 'uncategorized', note = 'Replaced by `server.port` on client spans and `client.port` on server spans.'.
Attribute name 'az.client_request_id' collides with existing namespace 'az'
Attribute name 'component' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'gen_ai.event.content' collides with existing namespace 'gen_ai'

Azure AI Inference (Python) — Prototype

Entities: 4 spans, 1 log, 4 resources, 69 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
✓
server.port ×5
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×5
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×5
✓
gen_ai.usage.input_tokens ×4
✓
server.address ×5

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×5

Violations (16):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Enum attribute 'gen_ai.provider.name' has value 'az.ai.inference' which is not documented.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

Azure OpenAI (Python) — OTel Contrib

Entities: 4 spans, 6 logs, 4 resources, 141 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×16
–
gen_ai.provider.name
✓
gen_ai.system ×22
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×16
–
gen_ai.request.seed
✓
server.port ×16
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×14
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×16
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
✓
gen_ai.operation.name ×16
–
gen_ai.provider.name
✓
gen_ai.system ×22
Conditionally Required
–
error.type
✓
gen_ai.request.model ×16
✓
server.port ×16
Recommended
✓
gen_ai.embeddings.dimension.count ×1
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×14
✓
gen_ai.usage.input_tokens ×4
✓
server.address ×16

Non-registry attributes (1):
gen_ai.system ×22

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×16
Conditionally Required
–
error.type
✓
gen_ai.request.model ×16
✓
server.port ×16
Recommended
✓
gen_ai.response.model ×14
✓
server.address ×16
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×16
✓
gen_ai.token.type ×6
Conditionally Required
✓
gen_ai.request.model ×16
✓
server.port ×16
Recommended
✓
gen_ai.response.model ×14
✓
server.address ×16

Events (2):
gen_ai.choice ×3
gen_ai.user.message ×3

Violations (6):
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Conditionally required attribute 'error.type' is not present.
Event 'gen_ai.choice' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.output.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.user.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.input.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Recommended attribute 'gen_ai.response.model' is not present.
Required attribute 'gen_ai.provider.name' is not present.

Azure OpenAI (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.44
Entities: 4 spans, 3 resources, 78 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (23):
embedding.embeddings.0.embedding.text ×1
embedding.embeddings.0.embedding.vector ×1
embedding.invocation_parameters ×1
embedding.model_name ×1
input.mime_type ×4
input.value ×4
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.system ×4
llm.token_count.completion ×3
llm.token_count.prompt ×4
llm.token_count.total ×4
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×4
output.mime_type ×4
output.value ×4

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (23):
Attribute 'embedding.embeddings.0.embedding.text' does not exist in the registry.
Attribute 'embedding.embeddings.0.embedding.vector' does not exist in the registry.
Attribute 'embedding.invocation_parameters' does not exist in the registry.
Attribute 'embedding.model_name' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Azure OpenAI (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 4 spans, 3 resources, 249 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×36
✓
gen_ai.provider.name ×36
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×36
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×36
✓
gen_ai.provider.name ×36
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×36
✓
gen_ai.usage.input_tokens ×4
–
server.address

Non-registry attributes (6):
gen_ai.is_streaming ×4
gen_ai.openai.api_base ×4
gen_ai.openai.api_version ×4
gen_ai.response.finish_reason ×6
gen_ai.usage.total_tokens ×4
stream ×32

Metrics (8):
gen_ai.client.generation.choices ×2
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
gen_ai.server.time_to_first_token ×2
llm.chat_completions.streaming_time_to_generate ×2
llm.openai.embeddings.vector_size ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×36
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×36
✓
server.address ×32
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×36
✓
gen_ai.token.type ×10
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×36
✓
server.address ×32

Violations (17):
Attribute 'gen_ai.is_streaming' does not exist in the registry.
Attribute 'gen_ai.openai.api_base' does not exist in the registry.
Attribute 'gen_ai.openai.api_version' does not exist in the registry.
Attribute 'gen_ai.response.finish_reason' does not exist in the registry.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute 'stream' does not exist in the registry.
Attribute name 'gen_ai.is_streaming' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.openai.api_base' collides with existing namespace 'gen_ai.openai'
Attribute name 'gen_ai.openai.api_version' collides with existing namespace 'gen_ai.openai'
Attribute name 'gen_ai.response.finish_reason' collides with existing namespace 'gen_ai.response'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Attribute name 'stream' must include a namespace (e.g. '{namespace}.{attribute_key}')
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Metric does not exist in the registry.
Unit should be '{token}', but found 'token'.

Azure OpenAI (Python) — Prototype

Entities: 4 spans, 1 log, 4 resources, 72 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
✓
server.port ×5
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×5
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
✓
gen_ai.embeddings.dimension.count ×1
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×5
✓
gen_ai.usage.input_tokens ×5
✓
server.address ×5

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×5

Violations (15):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

Azure OpenAI (JS) — OTel Contrib

Instrumentation: open-telemetry/opentelemetry-js-contrib — 0.12.0
Entities: 4 spans, 6 logs, 4 resources, 131 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×14
–
gen_ai.provider.name
✓
gen_ai.system ×20
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×14
–
gen_ai.request.seed
✓
server.port ×14
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×14
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×14
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
✓
gen_ai.operation.name ×14
–
gen_ai.provider.name
✓
gen_ai.system ×20
Conditionally Required
–
error.type
✓
gen_ai.request.model ×14
✓
server.port ×14
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×14
✓
gen_ai.usage.input_tokens ×4
✓
server.address ×14

Non-registry attributes (2):
event.name ×6
gen_ai.system ×20

Metrics (2):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×14
Conditionally Required
–
error.type
✓
gen_ai.request.model ×14
✓
server.port ×14
Recommended
✓
gen_ai.response.model ×14
✓
server.address ×14
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×14
✓
gen_ai.token.type ×6
Conditionally Required
✓
gen_ai.request.model ×14
✓
server.port ×14
Recommended
✓
gen_ai.response.model ×14
✓
server.address ×14

Violations (4):
Attribute 'event.name' is deprecated; reason = 'uncategorized', note = 'The value of this attribute MUST now be set as the value of the EventName field on the LogRecord to indicate that the LogRecord represents an Event. '.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Conditionally required attribute 'error.type' is not present.
Required attribute 'gen_ai.provider.name' is not present.

Azure OpenAI (JS) — OpenInference

Instrumentation: Arize-ai/openinference — 4.0.7
Entities: 4 spans, 1 resource, 59 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (23):
embedding.embeddings.0.embedding.text ×1
embedding.embeddings.0.embedding.vector ×1
embedding.model_name ×1
input.mime_type ×4
input.value ×4
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.provider ×4
llm.system ×3
llm.token_count.completion ×2
llm.token_count.prompt ×2
llm.token_count.total ×2
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×4
output.mime_type ×3
output.value ×3

Violations (23):
Attribute 'embedding.embeddings.0.embedding.text' does not exist in the registry.
Attribute 'embedding.embeddings.0.embedding.vector' does not exist in the registry.
Attribute 'embedding.model_name' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Azure OpenAI (JS) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.25.0
Entities: 3 spans, 1 resource, 35 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Non-registry attributes (1):
gen_ai.usage.total_tokens ×2

Violations (2):
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'

Azure OpenAI (JS) — Prototype

Entities: 4 spans, 1 log, 2 resources, 57 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
✓
server.port ×5
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×5
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×5
✓
gen_ai.usage.input_tokens ×5
✓
server.address ×5

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×5

Violations (15):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

Azure OpenAI (C#) — Native

Instrumentation: azure/azure-sdk-for-net — 2.9.0-beta.1
Entities: 3 spans, 3 resources, 113 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×13
✓
gen_ai.provider.name ×13
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×13
–
gen_ai.request.seed
✓
server.port ×13
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×13
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×13
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.operation.time_per_output_chunk ×2
gen_ai.client.operation.time_to_first_chunk ×2
gen_ai.client.token.usage ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×13
Conditionally Required
–
error.type
✓
gen_ai.request.model ×13
✓
server.port ×13
Recommended
✓
gen_ai.response.model ×13
✓
server.address ×13
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×13
✓
gen_ai.token.type ×4
Conditionally Required
✓
gen_ai.request.model ×13
✓
server.port ×13
Recommended
✓
gen_ai.response.model ×13
✓
server.address ×13

Violations (3):
Attribute 'gen_ai.response.finish_reasons' has type 'string'. Type should be 'string[]'.
Conditionally required attribute 'error.type' is not present.
Metric does not exist in the registry.

Azure OpenAI (C#) — Prototype

Entities: 3 spans, 1 log, 2 resources, 50 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
✓
server.port ×4
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×4
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
✓
server.port ×4
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×4

Violations (15):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

Claude Agent SDK (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.0
Entities: 1 span, 3 resources, 32 attributes
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
–
gen_ai.agent.name
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (13):
input.mime_type ×1
input.value ×1
llm.cost.total ×1
llm.model_name ×1
llm.output_messages.0.message.content.0 ×1
llm.output_messages.0.message.role ×1
llm.system ×1
llm.token_count.completion ×1
llm.token_count.prompt ×1
llm.token_count.total ×1
openinference.span.kind ×1
output.mime_type ×1
output.value ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (13):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.cost.total' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content.0' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Claude Agent SDK (Python) — Prototype

Entities: 1 span, 3 resources, 20 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Cohere (Python) — OTel Contrib

Entities: 3 spans, 3 resources, 51 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×3
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
✓
gen_ai.request.model ×3
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (12):
gen_ai.completion.0.content ×2
gen_ai.completion.0.role ×2
gen_ai.prompt.0.content ×3
gen_ai.prompt.0.role ×3
gen_ai.system ×3
gen_ai.usage.completion_tokens ×2
gen_ai.usage.prompt_tokens ×2
llm.request.functions.0.description ×1
llm.request.functions.0.name ×1
llm.request.functions.0.parameters ×1
llm.request.type ×3
llm.usage.total_tokens ×2

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (19):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'gen_ai.usage.completion_tokens' has type 'double'. Type should be 'int'.
Attribute 'gen_ai.usage.completion_tokens' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.usage.output_tokens`.'.
Attribute 'gen_ai.usage.prompt_tokens' has type 'double'. Type should be 'int'.
Attribute 'gen_ai.usage.prompt_tokens' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.usage.input_tokens`.'.
Attribute 'llm.request.functions.0.description' does not exist in the registry.
Attribute 'llm.request.functions.0.name' does not exist in the registry.
Attribute 'llm.request.functions.0.parameters' does not exist in the registry.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Enum attribute 'gen_ai.system' has value 'Cohere' which is not documented.

Cohere (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 3 spans, 3 resources, 51 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×3
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
✓
gen_ai.request.model ×3
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (12):
gen_ai.completion.0.content ×2
gen_ai.completion.0.role ×2
gen_ai.prompt.0.content ×3
gen_ai.prompt.0.role ×3
gen_ai.system ×3
gen_ai.usage.completion_tokens ×2
gen_ai.usage.prompt_tokens ×2
llm.request.functions.0.description ×1
llm.request.functions.0.name ×1
llm.request.functions.0.parameters ×1
llm.request.type ×3
llm.usage.total_tokens ×2

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (19):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'gen_ai.usage.completion_tokens' has type 'double'. Type should be 'int'.
Attribute 'gen_ai.usage.completion_tokens' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.usage.output_tokens`.'.
Attribute 'gen_ai.usage.prompt_tokens' has type 'double'. Type should be 'int'.
Attribute 'gen_ai.usage.prompt_tokens' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.usage.input_tokens`.'.
Attribute 'llm.request.functions.0.description' does not exist in the registry.
Attribute 'llm.request.functions.0.name' does not exist in the registry.
Attribute 'llm.request.functions.0.parameters' does not exist in the registry.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Enum attribute 'gen_ai.system' has value 'Cohere' which is not documented.

Cohere (Python) — Prototype

Entities: 3 spans, 1 log, 4 resources, 49 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
✓
gen_ai.usage.input_tokens ×4
–
server.address

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
–
gen_ai.response.model
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (18):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.model' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Cohere (JS) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.25.0
Entities: 2 spans, 1 resource, 20 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×2
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×2
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (7):
gen_ai.completion.0.content ×2
gen_ai.completion.0.finish_reason ×2
gen_ai.completion.0.role ×2
gen_ai.prompt.0.role ×2
gen_ai.prompt.0.user ×2
gen_ai.system ×2
llm.request.type ×2

Violations (13):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.finish_reason' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.user' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'llm.request.type' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.finish_reason' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.user' collides with existing namespace 'gen_ai.prompt'
Enum attribute 'gen_ai.system' has value 'Cohere' which is not documented.

Cohere (JS) — Prototype

Entities: 3 spans, 1 log, 2 resources, 35 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
✓
gen_ai.usage.input_tokens ×4
–
server.address

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
–
gen_ai.response.model
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (18):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.model' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

CrewAI (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 1.1.2
Entities: 6 spans, 2 resources, 57 attributes
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
–
gen_ai.agent.name
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (26):
agent_fingerprint ×2
agent_role ×2
crew_agents ×2
crew_fingerprint ×3
crew_fingerprint_created_at ×1
crew_id ×5
crew_inputs ×1
crew_key ×5
crew_memory ×1
crew_number_of_agents ×1
crew_number_of_tasks ×1
crew_process ×1
crew_tasks ×2
crewai_version ×2
graph.node.id ×1
input.mime_type ×1
input.value ×1
openinference.span.kind ×2
output.mime_type ×2
output.value ×2
python_version ×1
task_fingerprint ×2
task_fingerprint_created_at ×1
task_id ×3
task_key ×3
tool ×1

Violations (46):
Attribute 'agent_fingerprint' does not exist in the registry.
Attribute 'agent_role' does not exist in the registry.
Attribute 'crew_agents' does not exist in the registry.
Attribute 'crew_fingerprint' does not exist in the registry.
Attribute 'crew_fingerprint_created_at' does not exist in the registry.
Attribute 'crew_id' does not exist in the registry.
Attribute 'crew_inputs' does not exist in the registry.
Attribute 'crew_key' does not exist in the registry.
Attribute 'crew_memory' does not exist in the registry.
Attribute 'crew_number_of_agents' does not exist in the registry.
Attribute 'crew_number_of_tasks' does not exist in the registry.
Attribute 'crew_process' does not exist in the registry.
Attribute 'crew_tasks' does not exist in the registry.
Attribute 'crewai_version' does not exist in the registry.
Attribute 'graph.node.id' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Attribute 'python_version' does not exist in the registry.
Attribute 'task_fingerprint' does not exist in the registry.
Attribute 'task_fingerprint_created_at' does not exist in the registry.
Attribute 'task_id' does not exist in the registry.
Attribute 'task_key' does not exist in the registry.
Attribute 'tool' does not exist in the registry.
Attribute name 'agent_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'agent_role' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_agents' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_fingerprint_created_at' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_id' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_inputs' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_key' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_memory' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_number_of_agents' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_number_of_tasks' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_process' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_tasks' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crewai_version' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'python_version' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_fingerprint_created_at' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_id' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_key' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'tool' must include a namespace (e.g. '{namespace}.{attribute_key}')

CrewAI (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.48.1
Entities: 7 spans, 4 resources, 134 attributes
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
–
gen_ai.agent.name
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×1
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Invoke Workflow Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.workflow.name
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages

Non-registry attributes (91):
agent_fingerprint ×2
agent_role ×2
crew_agents ×1
crew_fingerprint ×3
crew_fingerprint_created_at ×1
crew_id ×3
crew_key ×3
crew_memory ×1
crew_number_of_agents ×1
crew_number_of_tasks ×1
crew_process ×1
crew_tasks ×1
crewai.agent.adapted_agent ×1
crewai.agent.agent_executor ×1
crewai.agent.allow_code_execution ×1
crewai.agent.allow_delegation ×1
crewai.agent.backstory ×1
crewai.agent.cache ×1
crewai.agent.callbacks ×1
crewai.agent.code_execution_mode ×1
crewai.agent.crew ×1
crewai.agent.date_format ×1
crewai.agent.entity_type ×1
crewai.agent.executor_class ×1
crewai.agent.goal ×1
crewai.agent.guardrail_max_retries ×1
crewai.agent.i18n ×1
crewai.agent.id ×1
crewai.agent.inject_date ×1
crewai.agent.llm ×1
crewai.agent.max_iter ×1
crewai.agent.max_retry_limit ×1
crewai.agent.multimodal ×1
crewai.agent.planning ×1
crewai.agent.reasoning ×1
crewai.agent.respect_context_window ×1
crewai.agent.role ×1
crewai.agent.security_config ×1
crewai.agent.tools ×1
crewai.agent.tools_handler ×1
crewai.agent.tools_results ×1
crewai.agent.use_system_prompt ×1
crewai.agent.verbose ×1
crewai.crew.after_kickoff_callbacks ×1
crewai.crew.agents ×1
crewai.crew.before_kickoff_callbacks ×1
crewai.crew.cache ×1
crewai.crew.entity_type ×1
crewai.crew.execution_logs ×1
crewai.crew.id ×1
crewai.crew.memory ×1
crewai.crew.name ×1
crewai.crew.planning ×1
crewai.crew.process ×1
crewai.crew.result ×1
crewai.crew.security_config ×1
crewai.crew.share_crew ×1
crewai.crew.stream ×1
crewai.crew.tasks ×1
crewai.crew.tasks_output ×1
crewai.crew.token_usage ×1
crewai.crew.verbose ×1
crewai.task.agent ×1
crewai.task.async_execution ×1
crewai.task.context ×1
crewai.task.create_directory ×1
crewai.task.delegations ×1
crewai.task.description ×1
crewai.task.expected_output ×1
crewai.task.guardrail_max_retries ×1
crewai.task.human_input ×1
crewai.task.i18n ×1
crewai.task.id ×1
crewai.task.input_files ×1
crewai.task.markdown ×1
crewai.task.processed_by_agents ×1
crewai.task.retry_count ×1
crewai.task.security_config ×1
crewai.task.tools ×1
crewai.task.tools_errors ×1
crewai.task.used_tools ×1
crewai_version ×2
gen_ai.system ×5
python_version ×1
task_fingerprint ×2
task_fingerprint_created_at ×1
task_id ×2
task_key ×2
tool ×1
traceloop.entity.output ×1
traceloop.span.kind ×2

Metrics (1):
gen_ai.client.token.usage ×2
Client Token Usage Metric Attributes
Required
–
gen_ai.operation.name
✓
gen_ai.token.type ×4
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×5
–
server.address

Violations (117):
Attribute 'agent_fingerprint' does not exist in the registry.
Attribute 'agent_role' does not exist in the registry.
Attribute 'crew_agents' does not exist in the registry.
Attribute 'crew_fingerprint' does not exist in the registry.
Attribute 'crew_fingerprint_created_at' does not exist in the registry.
Attribute 'crew_id' does not exist in the registry.
Attribute 'crew_key' does not exist in the registry.
Attribute 'crew_memory' does not exist in the registry.
Attribute 'crew_number_of_agents' does not exist in the registry.
Attribute 'crew_number_of_tasks' does not exist in the registry.
Attribute 'crew_process' does not exist in the registry.
Attribute 'crew_tasks' does not exist in the registry.
Attribute 'crewai.agent.adapted_agent' does not exist in the registry.
Attribute 'crewai.agent.agent_executor' does not exist in the registry.
Attribute 'crewai.agent.allow_code_execution' does not exist in the registry.
Attribute 'crewai.agent.allow_delegation' does not exist in the registry.
Attribute 'crewai.agent.backstory' does not exist in the registry.
Attribute 'crewai.agent.cache' does not exist in the registry.
Attribute 'crewai.agent.callbacks' does not exist in the registry.
Attribute 'crewai.agent.code_execution_mode' does not exist in the registry.
Attribute 'crewai.agent.crew' does not exist in the registry.
Attribute 'crewai.agent.date_format' does not exist in the registry.
Attribute 'crewai.agent.entity_type' does not exist in the registry.
Attribute 'crewai.agent.executor_class' does not exist in the registry.
Attribute 'crewai.agent.goal' does not exist in the registry.
Attribute 'crewai.agent.guardrail_max_retries' does not exist in the registry.
Attribute 'crewai.agent.i18n' does not exist in the registry.
Attribute 'crewai.agent.id' does not exist in the registry.
Attribute 'crewai.agent.inject_date' does not exist in the registry.
Attribute 'crewai.agent.llm' does not exist in the registry.
Attribute 'crewai.agent.max_iter' does not exist in the registry.
Attribute 'crewai.agent.max_retry_limit' does not exist in the registry.
Attribute 'crewai.agent.multimodal' does not exist in the registry.
Attribute 'crewai.agent.planning' does not exist in the registry.
Attribute 'crewai.agent.reasoning' does not exist in the registry.
Attribute 'crewai.agent.respect_context_window' does not exist in the registry.
Attribute 'crewai.agent.role' does not exist in the registry.
Attribute 'crewai.agent.security_config' does not exist in the registry.
Attribute 'crewai.agent.tools' does not exist in the registry.
Attribute 'crewai.agent.tools_handler' does not exist in the registry.
Attribute 'crewai.agent.tools_results' does not exist in the registry.
Attribute 'crewai.agent.use_system_prompt' does not exist in the registry.
Attribute 'crewai.agent.verbose' does not exist in the registry.
Attribute 'crewai.crew.after_kickoff_callbacks' does not exist in the registry.
Attribute 'crewai.crew.agents' does not exist in the registry.
Attribute 'crewai.crew.before_kickoff_callbacks' does not exist in the registry.
Attribute 'crewai.crew.cache' does not exist in the registry.
Attribute 'crewai.crew.entity_type' does not exist in the registry.
Attribute 'crewai.crew.execution_logs' does not exist in the registry.
Attribute 'crewai.crew.id' does not exist in the registry.
Attribute 'crewai.crew.memory' does not exist in the registry.
Attribute 'crewai.crew.name' does not exist in the registry.
Attribute 'crewai.crew.planning' does not exist in the registry.
Attribute 'crewai.crew.process' does not exist in the registry.
Attribute 'crewai.crew.result' does not exist in the registry.
Attribute 'crewai.crew.security_config' does not exist in the registry.
Attribute 'crewai.crew.share_crew' does not exist in the registry.
Attribute 'crewai.crew.stream' does not exist in the registry.
Attribute 'crewai.crew.tasks' does not exist in the registry.
Attribute 'crewai.crew.tasks_output' does not exist in the registry.
Attribute 'crewai.crew.token_usage' does not exist in the registry.
Attribute 'crewai.crew.verbose' does not exist in the registry.
Attribute 'crewai.task.agent' does not exist in the registry.
Attribute 'crewai.task.async_execution' does not exist in the registry.
Attribute 'crewai.task.context' does not exist in the registry.
Attribute 'crewai.task.create_directory' does not exist in the registry.
Attribute 'crewai.task.delegations' does not exist in the registry.
Attribute 'crewai.task.description' does not exist in the registry.
Attribute 'crewai.task.expected_output' does not exist in the registry.
Attribute 'crewai.task.guardrail_max_retries' does not exist in the registry.
Attribute 'crewai.task.human_input' does not exist in the registry.
Attribute 'crewai.task.i18n' does not exist in the registry.
Attribute 'crewai.task.id' does not exist in the registry.
Attribute 'crewai.task.input_files' does not exist in the registry.
Attribute 'crewai.task.markdown' does not exist in the registry.
Attribute 'crewai.task.processed_by_agents' does not exist in the registry.
Attribute 'crewai.task.retry_count' does not exist in the registry.
Attribute 'crewai.task.security_config' does not exist in the registry.
Attribute 'crewai.task.tools' does not exist in the registry.
Attribute 'crewai.task.tools_errors' does not exist in the registry.
Attribute 'crewai.task.used_tools' does not exist in the registry.
Attribute 'crewai_version' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'python_version' does not exist in the registry.
Attribute 'task_fingerprint' does not exist in the registry.
Attribute 'task_fingerprint_created_at' does not exist in the registry.
Attribute 'task_id' does not exist in the registry.
Attribute 'task_key' does not exist in the registry.
Attribute 'tool' does not exist in the registry.
Attribute 'traceloop.entity.output' does not exist in the registry.
Attribute 'traceloop.span.kind' does not exist in the registry.
Attribute name 'agent_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'agent_role' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_agents' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_fingerprint_created_at' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_id' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_key' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_memory' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_number_of_agents' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_number_of_tasks' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_process' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_tasks' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crewai_version' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'python_version' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_fingerprint_created_at' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_id' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_key' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'tool' must include a namespace (e.g. '{namespace}.{attribute_key}')
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'gen_ai.system' has value 'crewai' which is not documented.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.operation.name' is not present.
Required attribute 'gen_ai.provider.name' is not present.
Unit should be '{token}', but found 'token'.

CrewAI (Python) — Prototype

Entities: 5 spans, 1 resource, 39 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×1
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Non-registry attributes (19):
agent_fingerprint ×2
agent_role ×2
crew_agents ×1
crew_fingerprint ×3
crew_fingerprint_created_at ×1
crew_id ×3
crew_key ×3
crew_memory ×1
crew_number_of_agents ×1
crew_number_of_tasks ×1
crew_process ×1
crew_tasks ×1
crewai_version ×2
python_version ×1
task_fingerprint ×2
task_fingerprint_created_at ×1
task_id ×2
task_key ×2
tool ×1

Violations (38):
Attribute 'agent_fingerprint' does not exist in the registry.
Attribute 'agent_role' does not exist in the registry.
Attribute 'crew_agents' does not exist in the registry.
Attribute 'crew_fingerprint' does not exist in the registry.
Attribute 'crew_fingerprint_created_at' does not exist in the registry.
Attribute 'crew_id' does not exist in the registry.
Attribute 'crew_key' does not exist in the registry.
Attribute 'crew_memory' does not exist in the registry.
Attribute 'crew_number_of_agents' does not exist in the registry.
Attribute 'crew_number_of_tasks' does not exist in the registry.
Attribute 'crew_process' does not exist in the registry.
Attribute 'crew_tasks' does not exist in the registry.
Attribute 'crewai_version' does not exist in the registry.
Attribute 'python_version' does not exist in the registry.
Attribute 'task_fingerprint' does not exist in the registry.
Attribute 'task_fingerprint_created_at' does not exist in the registry.
Attribute 'task_id' does not exist in the registry.
Attribute 'task_key' does not exist in the registry.
Attribute 'tool' does not exist in the registry.
Attribute name 'agent_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'agent_role' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_agents' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_fingerprint_created_at' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_id' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_key' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_memory' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_number_of_agents' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_number_of_tasks' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_process' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crew_tasks' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'crewai_version' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'python_version' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_fingerprint' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_fingerprint_created_at' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_id' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'task_key' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'tool' must include a namespace (e.g. '{namespace}.{attribute_key}')

DSPy (Python) — Native

Instrumentation: stanfordnlp/dspy — 3.1.3
Entities: 4 spans, 3 resources, 154 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×2
–
gen_ai.provider.name
✓
gen_ai.system ×2
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×2
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×2
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
✓
gen_ai.input.messages ×2
✓
gen_ai.output.messages ×2
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (60):
gen_ai.completion.0.function_call.arguments ×1
gen_ai.completion.0.function_call.name ×1
gen_ai.cost.discount_amount ×2
gen_ai.cost.discount_percent ×2
gen_ai.cost.input_cost ×2
gen_ai.cost.margin_fixed_amount ×2
gen_ai.cost.margin_percent ×2
gen_ai.cost.margin_total_amount ×2
gen_ai.cost.original_cost ×2
gen_ai.cost.output_cost ×2
gen_ai.cost.tool_usage_cost ×2
gen_ai.cost.total_cost ×2
gen_ai.system ×2
gen_ai.usage.total_tokens ×2
hidden_params ×2
llm.is_streaming ×2
llm.openai.choices ×2
llm.openai.created ×2
llm.openai.extra_body ×2
llm.openai.extra_headers ×2
llm.openai.id ×2
llm.openai.messages ×2
llm.openai.model ×2
llm.openai.object ×2
llm.openai.service_tier ×2
llm.openai.system_fingerprint ×2
llm.openai.tools ×1
llm.openai.usage ×2
llm.request.functions.0.description ×1
llm.request.functions.0.name ×1
llm.request.functions.0.parameters ×1
llm.request.type ×2
metadata.applied_guardrails ×2
metadata.cold_storage_object_key ×2
metadata.mcp_tool_call_metadata ×2
metadata.prompt_management_metadata ×2
metadata.requester_custom_headers ×2
metadata.requester_ip_address ×2
metadata.requester_metadata ×2
metadata.spend_logs_metadata ×2
metadata.team_alias ×2
metadata.team_id ×2
metadata.usage_object ×2
metadata.user_agent ×2
metadata.user_api_key_alias ×2
metadata.user_api_key_auth_metadata ×2
metadata.user_api_key_budget_reset_at ×2
metadata.user_api_key_end_user_id ×2
metadata.user_api_key_hash ×2
metadata.user_api_key_max_budget ×2
metadata.user_api_key_org_id ×2
metadata.user_api_key_project_alias ×2
metadata.user_api_key_project_id ×2
metadata.user_api_key_request_route ×2
metadata.user_api_key_spend ×2
metadata.user_api_key_team_alias ×2
metadata.user_api_key_team_id ×2
metadata.user_api_key_user_email ×2
metadata.user_api_key_user_id ×2
metadata.vector_store_request_metadata ×2

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (75):
Attribute 'gen_ai.completion.0.function_call.arguments' does not exist in the registry.
Attribute 'gen_ai.completion.0.function_call.name' does not exist in the registry.
Attribute 'gen_ai.cost.discount_amount' does not exist in the registry.
Attribute 'gen_ai.cost.discount_percent' does not exist in the registry.
Attribute 'gen_ai.cost.input_cost' does not exist in the registry.
Attribute 'gen_ai.cost.margin_fixed_amount' does not exist in the registry.
Attribute 'gen_ai.cost.margin_percent' does not exist in the registry.
Attribute 'gen_ai.cost.margin_total_amount' does not exist in the registry.
Attribute 'gen_ai.cost.original_cost' does not exist in the registry.
Attribute 'gen_ai.cost.output_cost' does not exist in the registry.
Attribute 'gen_ai.cost.tool_usage_cost' does not exist in the registry.
Attribute 'gen_ai.cost.total_cost' does not exist in the registry.
Attribute 'gen_ai.response.finish_reasons' has type 'string'. Type should be 'string[]'.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute 'hidden_params' does not exist in the registry.
Attribute 'llm.is_streaming' does not exist in the registry.
Attribute 'llm.openai.choices' does not exist in the registry.
Attribute 'llm.openai.created' does not exist in the registry.
Attribute 'llm.openai.extra_body' does not exist in the registry.
Attribute 'llm.openai.extra_headers' does not exist in the registry.
Attribute 'llm.openai.id' does not exist in the registry.
Attribute 'llm.openai.messages' does not exist in the registry.
Attribute 'llm.openai.model' does not exist in the registry.
Attribute 'llm.openai.object' does not exist in the registry.
Attribute 'llm.openai.service_tier' does not exist in the registry.
Attribute 'llm.openai.system_fingerprint' does not exist in the registry.
Attribute 'llm.openai.tools' does not exist in the registry.
Attribute 'llm.openai.usage' does not exist in the registry.
Attribute 'llm.request.functions.0.description' does not exist in the registry.
Attribute 'llm.request.functions.0.name' does not exist in the registry.
Attribute 'llm.request.functions.0.parameters' does not exist in the registry.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'metadata.applied_guardrails' does not exist in the registry.
Attribute 'metadata.cold_storage_object_key' does not exist in the registry.
Attribute 'metadata.mcp_tool_call_metadata' does not exist in the registry.
Attribute 'metadata.prompt_management_metadata' does not exist in the registry.
Attribute 'metadata.requester_custom_headers' does not exist in the registry.
Attribute 'metadata.requester_ip_address' does not exist in the registry.
Attribute 'metadata.requester_metadata' does not exist in the registry.
Attribute 'metadata.spend_logs_metadata' does not exist in the registry.
Attribute 'metadata.team_alias' does not exist in the registry.
Attribute 'metadata.team_id' does not exist in the registry.
Attribute 'metadata.usage_object' does not exist in the registry.
Attribute 'metadata.user_agent' does not exist in the registry.
Attribute 'metadata.user_api_key_alias' does not exist in the registry.
Attribute 'metadata.user_api_key_auth_metadata' does not exist in the registry.
Attribute 'metadata.user_api_key_budget_reset_at' does not exist in the registry.
Attribute 'metadata.user_api_key_end_user_id' does not exist in the registry.
Attribute 'metadata.user_api_key_hash' does not exist in the registry.
Attribute 'metadata.user_api_key_max_budget' does not exist in the registry.
Attribute 'metadata.user_api_key_org_id' does not exist in the registry.
Attribute 'metadata.user_api_key_project_alias' does not exist in the registry.
Attribute 'metadata.user_api_key_project_id' does not exist in the registry.
Attribute 'metadata.user_api_key_request_route' does not exist in the registry.
Attribute 'metadata.user_api_key_spend' does not exist in the registry.
Attribute 'metadata.user_api_key_team_alias' does not exist in the registry.
Attribute 'metadata.user_api_key_team_id' does not exist in the registry.
Attribute 'metadata.user_api_key_user_email' does not exist in the registry.
Attribute 'metadata.user_api_key_user_id' does not exist in the registry.
Attribute 'metadata.vector_store_request_metadata' does not exist in the registry.
Attribute name 'gen_ai.completion.0.function_call.arguments' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.function_call.name' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.discount_amount' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.discount_percent' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.input_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.margin_fixed_amount' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.margin_percent' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.margin_total_amount' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.original_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.output_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.tool_usage_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.total_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Attribute name 'hidden_params' must include a namespace (e.g. '{namespace}.{attribute_key}')

DSPy (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.34
Entities: 2 spans, 3 resources, 40 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (12):
input.mime_type ×2
input.value ×2
llm.input_messages.0.message.content ×2
llm.input_messages.0.message.role ×2
llm.invocation_parameters ×2
llm.model_name ×2
llm.output_messages.0.message.content ×1
llm.output_messages.0.message.role ×1
llm.provider ×2
openinference.span.kind ×2
output.mime_type ×2
output.value ×2

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (12):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

DSPy (Python) — Prototype

Entities: 3 spans, 2 logs, 4 resources, 55 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×2
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×2
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
✓
gen_ai.input.messages ×2
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (2):
gen_ai.client.inference.operation.details ×1
gen_ai.evaluation.result ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×3
Conditionally Required
–
error.type
✓
gen_ai.request.model ×3
–
server.port
Recommended
–
gen_ai.input.messages
✓
gen_ai.output.messages ×3
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×2
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Evaluation Result Event Attributes
Required
✓
gen_ai.evaluation.name ×1
Recommended
✓
gen_ai.evaluation.explanation ×1
✓
gen_ai.evaluation.score.label ×1
✓
gen_ai.evaluation.score.value ×1
✓
gen_ai.response.id ×4

Violations (18):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.input.messages' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Google ADK (Python) — Native

Instrumentation: google/adk-python — 1.29.0
Entities: 4 spans, 3 logs, 2 resources, 36 attributes
Invoke Agent Internal Attributes
Required
✓
gen_ai.operation.name ×2
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.agent.description ×1
–
gen_ai.agent.id
✓
gen_ai.agent.name ×2
–
gen_ai.agent.version
✓
gen_ai.conversation.id ×2
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×2
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×5
Conditionally Required
–
error.type
✓
gen_ai.conversation.id ×2
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×2
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (6):
gcp.vertex.agent.event_id ×2
gcp.vertex.agent.invocation_id ×2
gcp.vertex.agent.llm_request ×1
gcp.vertex.agent.llm_response ×1
gcp.vertex.agent.session_id ×1
gen_ai.system ×5

Events (3):
gen_ai.choice ×1
gen_ai.system.message ×1
gen_ai.user.message ×1

Violations (15):
Attribute 'gcp.vertex.agent.event_id' does not exist in the registry.
Attribute 'gcp.vertex.agent.invocation_id' does not exist in the registry.
Attribute 'gcp.vertex.agent.llm_request' does not exist in the registry.
Attribute 'gcp.vertex.agent.llm_response' does not exist in the registry.
Attribute 'gcp.vertex.agent.session_id' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute name 'gcp.vertex.agent.event_id' collides with existing namespace 'gcp'
Attribute name 'gcp.vertex.agent.invocation_id' collides with existing namespace 'gcp'
Attribute name 'gcp.vertex.agent.llm_request' collides with existing namespace 'gcp'
Attribute name 'gcp.vertex.agent.llm_response' collides with existing namespace 'gcp'
Attribute name 'gcp.vertex.agent.session_id' collides with existing namespace 'gcp'
Enum attribute 'gen_ai.system' has value 'gcp.vertex.agent' which is not documented.
Event 'gen_ai.choice' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.output.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.system.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.system_instructions` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.user.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.input.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.

Google ADK (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.10
Entities: 3 spans, 3 logs, 2 resources, 62 attributes
Invoke Agent Internal Attributes
Required
✓
gen_ai.operation.name ×2
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.agent.description ×1
–
gen_ai.agent.id
✓
gen_ai.agent.name ×2
–
gen_ai.agent.version
✓
gen_ai.conversation.id ×2
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×1
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×1
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×1
✓
gen_ai.usage.output_tokens ×1
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Inference Attributes
Required
✓
gen_ai.operation.name ×2
–
gen_ai.provider.name
✓
gen_ai.system ×4
Conditionally Required
–
error.type
✓
gen_ai.conversation.id ×2
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×1
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×1
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×1
✓
gen_ai.usage.output_tokens ×1
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (26):
agent.name ×1
gcp.vertex.agent.event_id ×1
gcp.vertex.agent.invocation_id ×1
gcp.vertex.agent.llm_request ×1
gcp.vertex.agent.llm_response ×1
gcp.vertex.agent.session_id ×1
gen_ai.system ×4
input.mime_type ×2
input.value ×2
llm.input_messages.0.message.content ×1
llm.input_messages.0.message.role ×1
llm.input_messages.1.message.contents.0.message_content.text ×1
llm.input_messages.1.message.contents.0.message_content.type ×1
llm.input_messages.1.message.role ×1
llm.invocation_parameters ×1
llm.model_name ×1
llm.output_messages.0.message.contents.0.message_content.text ×1
llm.output_messages.0.message.contents.0.message_content.type ×1
llm.output_messages.0.message.role ×1
llm.provider ×1
llm.token_count.completion ×1
llm.token_count.prompt ×1
llm.token_count.total ×1
openinference.span.kind ×3
output.mime_type ×3
output.value ×3

Events (3):
gen_ai.choice ×1
gen_ai.system.message ×1
gen_ai.user.message ×1

Violations (35):
Attribute 'agent.name' does not exist in the registry.
Attribute 'gcp.vertex.agent.event_id' does not exist in the registry.
Attribute 'gcp.vertex.agent.invocation_id' does not exist in the registry.
Attribute 'gcp.vertex.agent.llm_request' does not exist in the registry.
Attribute 'gcp.vertex.agent.llm_response' does not exist in the registry.
Attribute 'gcp.vertex.agent.session_id' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.input_messages.1.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.input_messages.1.message.contents.0.message_content.type' does not exist in the registry.
Attribute 'llm.input_messages.1.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.output_messages.0.message.contents.0.message_content.type' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Attribute name 'gcp.vertex.agent.event_id' collides with existing namespace 'gcp'
Attribute name 'gcp.vertex.agent.invocation_id' collides with existing namespace 'gcp'
Attribute name 'gcp.vertex.agent.llm_request' collides with existing namespace 'gcp'
Attribute name 'gcp.vertex.agent.llm_response' collides with existing namespace 'gcp'
Attribute name 'gcp.vertex.agent.session_id' collides with existing namespace 'gcp'
Enum attribute 'gen_ai.system' has value 'gcp.vertex.agent' which is not documented.
Event 'gen_ai.choice' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.output.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.system.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.system_instructions` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.user.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.input.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.

Google ADK (Python) — Prototype

Entities: 1 span, 1 resource, 12 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.conversation.id ×1
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×1
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×1
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×1
✓
gen_ai.usage.output_tokens ×1
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Violations (1):
Enum attribute 'gen_ai.provider.name' has value 'google_genai' which is not documented.

Google GenAI (Python) — OTel Contrib

Entities: 3 spans, 12 logs, 4 resources, 93 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×9
–
gen_ai.provider.name
✓
gen_ai.system ×21
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×9
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (5):
gcp.client.name ×4
gcp.client.repo ×4
gcp.client.version ×4
gen_ai.system ×21
pypi.package.name ×4

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×9
Conditionally Required
–
error.type
✓
gen_ai.request.model ×9
–
server.port
Recommended
–
gen_ai.response.model
–
server.address
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×9
✓
gen_ai.token.type ×4
Conditionally Required
✓
gen_ai.request.model ×9
–
server.port
Recommended
–
gen_ai.response.model
–
server.address

Events (2):
gen_ai.choice ×9
gen_ai.user.message ×3

Violations (15):
Attribute 'gcp.client.name' does not exist in the registry.
Attribute 'gcp.client.repo' does not exist in the registry.
Attribute 'gcp.client.version' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'pypi.package.name' does not exist in the registry.
Attribute name 'gcp.client.name' collides with existing namespace 'gcp.client'
Attribute name 'gcp.client.repo' collides with existing namespace 'gcp.client'
Attribute name 'gcp.client.version' collides with existing namespace 'gcp.client'
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'server.port' is not present.
Event 'gen_ai.choice' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.output.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.user.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.input.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Recommended attribute 'gen_ai.response.model' is not present.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.provider.name' is not present.

Google GenAI (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.14
Entities: 4 spans, 3 resources, 68 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (18):
embedding.embeddings.0.embedding.text ×1
embedding.embeddings.0.embedding.vector ×1
embedding.model_name ×1
input.mime_type ×4
input.value ×4
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.model_name ×3
llm.output_messages.0.message.content ×3
llm.output_messages.0.message.role ×3
llm.provider ×4
llm.token_count.completion ×3
llm.token_count.prompt ×3
llm.token_count.total ×3
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×4
output.mime_type ×3
output.value ×3

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (18):
Attribute 'embedding.embeddings.0.embedding.text' does not exist in the registry.
Attribute 'embedding.embeddings.0.embedding.vector' does not exist in the registry.
Attribute 'embedding.model_name' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Google GenAI (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 3 spans, 3 resources, 67 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
✓
gen_ai.response.model ×9
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (7):
gen_ai.completion.0.content ×3
gen_ai.completion.0.role ×3
gen_ai.prompt.0.content ×3
gen_ai.prompt.0.role ×3
gen_ai.system ×3
llm.request.type ×3
llm.usage.total_tokens ×3

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×9
–
server.address
Client Token Usage Metric Attributes
Required
–
gen_ai.operation.name
✓
gen_ai.token.type ×4
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×9
–
server.address

Violations (19):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'gen_ai.provider.name' has value 'Google' which is not documented.
Enum attribute 'gen_ai.system' has value 'Google' which is not documented.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.operation.name' is not present.
Unit should be '{token}', but found 'token'.

Google GenAI (Python) — Prototype

Entities: 4 spans, 1 log, 4 resources, 54 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (19):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'gen_ai.provider.name' has value 'google_genai' which is not documented.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.id' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Groq (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.12
Entities: 3 spans, 3 resources, 56 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (18):
input.mime_type ×3
input.value ×3
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×2
llm.output_messages.0.message.content ×1
llm.output_messages.0.message.role ×2
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.token_count.completion ×2
llm.token_count.prompt ×2
llm.token_count.total ×2
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×3
output.mime_type ×2
output.value ×3

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (18):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Groq (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 3 spans, 3 resources, 69 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×5
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×8
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (12):
gen_ai.completion.0.content ×2
gen_ai.completion.0.finish_reason ×3
gen_ai.completion.0.role ×3
gen_ai.completion.0.tool_calls.0.arguments ×1
gen_ai.completion.0.tool_calls.0.id ×1
gen_ai.completion.0.tool_calls.0.name ×1
gen_ai.prompt.0.content ×3
gen_ai.prompt.0.role ×3
gen_ai.system ×5
llm.is_streaming ×3
llm.request.type ×3
llm.usage.total_tokens ×2

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×8
–
server.address
Client Token Usage Metric Attributes
Required
–
gen_ai.operation.name
✓
gen_ai.token.type ×4
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×8
–
server.address

Violations (27):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.finish_reason' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.completion.0.tool_calls.0.arguments' does not exist in the registry.
Attribute 'gen_ai.completion.0.tool_calls.0.id' does not exist in the registry.
Attribute 'gen_ai.completion.0.tool_calls.0.name' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'llm.is_streaming' does not exist in the registry.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.finish_reason' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.tool_calls.0.arguments' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.tool_calls.0.id' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.tool_calls.0.name' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.operation.name' is not present.
Required attribute 'gen_ai.provider.name' is not present.
Unit should be '{token}', but found 'token'.

Groq (Python) — Prototype

Entities: 3 spans, 1 log, 4 resources, 54 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Haystack (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.30
Entities: 3 spans, 3 resources, 56 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (19):
input.mime_type ×3
input.value ×3
llm.input_messages.0.message.content ×2
llm.input_messages.0.message.role ×2
llm.input_messages.1.message.role ×1
llm.input_messages.2.message.role ×1
llm.model_name ×2
llm.output_messages.0.message.content ×1
llm.output_messages.0.message.role ×2
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.provider ×2
llm.system ×2
llm.token_count.completion ×2
llm.token_count.prompt ×2
llm.token_count.total ×2
openinference.span.kind ×3
output.mime_type ×3
output.value ×3

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (19):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.input_messages.1.message.role' does not exist in the registry.
Attribute 'llm.input_messages.2.message.role' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Haystack (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 3 spans, 3 resources, 30 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (4):
gen_ai.completion.0.content ×3
gen_ai.completion.0.role ×3
gen_ai.system ×3
llm.request.type ×3

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (7):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'llm.request.type' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Enum attribute 'gen_ai.system' has value 'OpenAI' which is not documented.

Haystack (Python) — Prototype

Entities: 2 spans, 1 log, 4 resources, 45 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×2
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×3
Conditionally Required
–
error.type
✓
gen_ai.request.model ×3
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (18):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.id' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Instructor (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.14
Entities: 4 spans, 3 resources, 54 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (12):
input.mime_type ×4
input.value ×2
input.value.0.content ×2
input.value.0.role ×2
llm.input_messages.0.message.content ×2
llm.input_messages.0.message.role ×2
llm.invocation_parameters ×2
llm.model_name ×2
llm.system ×2
openinference.span.kind ×4
output.mime_type ×4
output.value ×4

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (12):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'input.value.0.content' does not exist in the registry.
Attribute 'input.value.0.role' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Instructor (Python) — Prototype

Entities: 2 spans, 1 log, 4 resources, 48 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×2
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×3
Conditionally Required
–
error.type
✓
gen_ai.request.model ×3
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

LangChain (Python) — OTel Contrib

Entities: 12 spans, 3 resources, 243 attributes
Create Agent Attributes
Required
✓
gen_ai.operation.name ×12
✓
gen_ai.provider.name ×18
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
✓
gen_ai.agent.name ×3
–
gen_ai.agent.version
–
gen_ai.request.model
–
server.port
Recommended
–
server.address
Opt-In
–
gen_ai.system_instructions
Invoke Agent Internal Attributes
Required
✓
gen_ai.operation.name ×12
✓
gen_ai.provider.name ×18
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
✓
gen_ai.agent.id ×1
✓
gen_ai.agent.name ×3
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Invoke Workflow Attributes
Required
✓
gen_ai.operation.name ×12
Conditionally Required
–
error.type
–
gen_ai.workflow.name
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×4
Inference Attributes
Required
✓
gen_ai.operation.name ×12
✓
gen_ai.provider.name ×18
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×10
–
gen_ai.usage.cache_creation.input_tokens
✓
gen_ai.usage.cache_read.input_tokens ×4
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×4
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×3
Execute Tool Attributes
Required
✓
gen_ai.operation.name ×12
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
✓
gen_ai.tool.description ×1
✓
gen_ai.tool.name ×1
✓
gen_ai.tool.type ×1
Opt-In
✓
gen_ai.tool.call.arguments ×1
✓
gen_ai.tool.call.result ×1

Non-registry attributes (29):
exception.escaped ×1
gen_ai.task.id ×3
gen_ai.task.input ×5
gen_ai.task.name ×3
gen_ai.task.output ×4
gen_ai.task.parent.id ×3
gen_ai.task.status ×6
gen_ai.usage.total_tokens ×4
gen_ai.workflow.edges ×1
gen_ai.workflow.nodes ×1
traceloop.association.properties.checkpoint_ns ×3
traceloop.association.properties.langgraph_checkpoint_ns ×6
traceloop.association.properties.langgraph_node ×6
traceloop.association.properties.langgraph_path ×6
traceloop.association.properties.langgraph_step ×6
traceloop.association.properties.langgraph_triggers ×6
traceloop.association.properties.ls_embedding_provider ×1
traceloop.association.properties.ls_integration ×9
traceloop.association.properties.ls_model_name ×4
traceloop.association.properties.ls_model_type ×4
traceloop.association.properties.ls_provider ×4
traceloop.association.properties.ls_retriever_name ×1
traceloop.association.properties.ls_vector_store_provider ×1
traceloop.entity.input ×6
traceloop.entity.name ×6
traceloop.entity.output ×5
traceloop.entity.path ×10
traceloop.span.kind ×6
traceloop.workflow.name ×10

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×10
–
server.address
Client Token Usage Metric Attributes
Required
–
gen_ai.operation.name
✓
gen_ai.token.type ×4
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×10
–
server.address

Violations (49):
Attribute 'exception.escaped' has type 'string'. Type should be 'boolean'.
Attribute 'exception.escaped' is deprecated; reason = 'obsoleted', note = 'It's no longer recommended to record exceptions that are handled and do not escape the scope of a span. '.
Attribute 'gen_ai.task.id' does not exist in the registry.
Attribute 'gen_ai.task.input' does not exist in the registry.
Attribute 'gen_ai.task.name' does not exist in the registry.
Attribute 'gen_ai.task.output' does not exist in the registry.
Attribute 'gen_ai.task.parent.id' does not exist in the registry.
Attribute 'gen_ai.task.status' does not exist in the registry.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute 'gen_ai.workflow.edges' does not exist in the registry.
Attribute 'gen_ai.workflow.nodes' does not exist in the registry.
Attribute 'traceloop.association.properties.checkpoint_ns' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_checkpoint_ns' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_node' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_path' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_step' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_triggers' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_embedding_provider' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_integration' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_model_name' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_model_type' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_provider' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_retriever_name' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_vector_store_provider' does not exist in the registry.
Attribute 'traceloop.entity.input' does not exist in the registry.
Attribute 'traceloop.entity.name' does not exist in the registry.
Attribute 'traceloop.entity.output' does not exist in the registry.
Attribute 'traceloop.entity.path' does not exist in the registry.
Attribute 'traceloop.span.kind' does not exist in the registry.
Attribute 'traceloop.workflow.name' does not exist in the registry.
Attribute name 'gen_ai.task.id' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.input' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.name' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.output' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.parent.id' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.status' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Attribute name 'gen_ai.workflow.edges' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.workflow.nodes' collides with existing namespace 'gen_ai'
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'gen_ai.operation.name' has value 'execute_task' which is not documented.
Enum attribute 'gen_ai.operation.name' has value 'vector_db_retrieve' which is not documented.
Enum attribute 'gen_ai.provider.name' has value 'langchain' which is not documented.
Enum attribute 'gen_ai.provider.name' has value 'langgraph' which is not documented.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.operation.name' is not present.
Unit should be '{token}', but found 'token'.

LangChain (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.62
Entities: 10 spans, 5 resources, 159 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Retrieval Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.data_source.id
–
gen_ai.provider.name
–
gen_ai.system
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.request.top_k
–
server.address
Opt-In
–
gen_ai.retrieval.documents
–
gen_ai.retrieval.query.text
Execute Tool Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
–
gen_ai.tool.description
–
gen_ai.tool.name
–
gen_ai.tool.type
Opt-In
–
gen_ai.tool.call.arguments
–
gen_ai.tool.call.result

Non-registry attributes (32):
exception.escaped ×1
input.mime_type ×9
input.value ×10
llm.input_messages.0.message.content ×6
llm.input_messages.0.message.role ×7
llm.input_messages.1.message.role ×1
llm.input_messages.1.message.tool_calls.0.tool_call.function.arguments ×1
llm.input_messages.1.message.tool_calls.0.tool_call.function.name ×1
llm.input_messages.1.message.tool_calls.0.tool_call.id ×1
llm.input_messages.2.message.content ×1
llm.input_messages.2.message.name ×1
llm.input_messages.2.message.role ×1
llm.input_messages.2.message.tool_call_id ×1
llm.invocation_parameters ×4
llm.model_name ×4
llm.output_messages.0.message.content ×3
llm.output_messages.0.message.role ×4
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.provider ×4
llm.system ×4
llm.token_count.completion ×4
llm.token_count.prompt ×4
llm.token_count.total ×4
llm.tools.0.tool.json_schema ×2
metadata ×10
openinference.span.kind ×10
output.mime_type ×9
output.value ×9
tool.description ×1
tool.name ×1

Metrics (2):
otel.sdk.span.live ×3
otel.sdk.span.started ×3

Violations (34):
Attribute 'exception.escaped' has type 'string'. Type should be 'boolean'.
Attribute 'exception.escaped' is deprecated; reason = 'obsoleted', note = 'It's no longer recommended to record exceptions that are handled and do not escape the scope of a span. '.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.input_messages.1.message.role' does not exist in the registry.
Attribute 'llm.input_messages.1.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.input_messages.1.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.input_messages.1.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.input_messages.2.message.content' does not exist in the registry.
Attribute 'llm.input_messages.2.message.name' does not exist in the registry.
Attribute 'llm.input_messages.2.message.role' does not exist in the registry.
Attribute 'llm.input_messages.2.message.tool_call_id' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'metadata' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Attribute 'tool.description' does not exist in the registry.
Attribute 'tool.name' does not exist in the registry.
Attribute name 'metadata' must include a namespace (e.g. '{namespace}.{attribute_key}')

LangChain (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 12 spans, 3 resources, 243 attributes
Create Agent Attributes
Required
✓
gen_ai.operation.name ×12
✓
gen_ai.provider.name ×18
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
✓
gen_ai.agent.name ×3
–
gen_ai.agent.version
–
gen_ai.request.model
–
server.port
Recommended
–
server.address
Opt-In
–
gen_ai.system_instructions
Invoke Agent Internal Attributes
Required
✓
gen_ai.operation.name ×12
✓
gen_ai.provider.name ×18
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
✓
gen_ai.agent.id ×1
✓
gen_ai.agent.name ×3
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Invoke Workflow Attributes
Required
✓
gen_ai.operation.name ×12
Conditionally Required
–
error.type
–
gen_ai.workflow.name
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×4
Inference Attributes
Required
✓
gen_ai.operation.name ×12
✓
gen_ai.provider.name ×18
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×10
–
gen_ai.usage.cache_creation.input_tokens
✓
gen_ai.usage.cache_read.input_tokens ×4
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×4
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×3
Execute Tool Attributes
Required
✓
gen_ai.operation.name ×12
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
✓
gen_ai.tool.description ×1
✓
gen_ai.tool.name ×1
✓
gen_ai.tool.type ×1
Opt-In
✓
gen_ai.tool.call.arguments ×1
✓
gen_ai.tool.call.result ×1

Non-registry attributes (29):
exception.escaped ×1
gen_ai.task.id ×3
gen_ai.task.input ×5
gen_ai.task.name ×3
gen_ai.task.output ×4
gen_ai.task.parent.id ×3
gen_ai.task.status ×6
gen_ai.usage.total_tokens ×4
gen_ai.workflow.edges ×1
gen_ai.workflow.nodes ×1
traceloop.association.properties.checkpoint_ns ×3
traceloop.association.properties.langgraph_checkpoint_ns ×6
traceloop.association.properties.langgraph_node ×6
traceloop.association.properties.langgraph_path ×6
traceloop.association.properties.langgraph_step ×6
traceloop.association.properties.langgraph_triggers ×6
traceloop.association.properties.ls_embedding_provider ×1
traceloop.association.properties.ls_integration ×9
traceloop.association.properties.ls_model_name ×4
traceloop.association.properties.ls_model_type ×4
traceloop.association.properties.ls_provider ×4
traceloop.association.properties.ls_retriever_name ×1
traceloop.association.properties.ls_vector_store_provider ×1
traceloop.entity.input ×6
traceloop.entity.name ×6
traceloop.entity.output ×5
traceloop.entity.path ×10
traceloop.span.kind ×6
traceloop.workflow.name ×10

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×10
–
server.address
Client Token Usage Metric Attributes
Required
–
gen_ai.operation.name
✓
gen_ai.token.type ×4
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×10
–
server.address

Violations (49):
Attribute 'exception.escaped' has type 'string'. Type should be 'boolean'.
Attribute 'exception.escaped' is deprecated; reason = 'obsoleted', note = 'It's no longer recommended to record exceptions that are handled and do not escape the scope of a span. '.
Attribute 'gen_ai.task.id' does not exist in the registry.
Attribute 'gen_ai.task.input' does not exist in the registry.
Attribute 'gen_ai.task.name' does not exist in the registry.
Attribute 'gen_ai.task.output' does not exist in the registry.
Attribute 'gen_ai.task.parent.id' does not exist in the registry.
Attribute 'gen_ai.task.status' does not exist in the registry.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute 'gen_ai.workflow.edges' does not exist in the registry.
Attribute 'gen_ai.workflow.nodes' does not exist in the registry.
Attribute 'traceloop.association.properties.checkpoint_ns' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_checkpoint_ns' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_node' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_path' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_step' does not exist in the registry.
Attribute 'traceloop.association.properties.langgraph_triggers' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_embedding_provider' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_integration' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_model_name' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_model_type' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_provider' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_retriever_name' does not exist in the registry.
Attribute 'traceloop.association.properties.ls_vector_store_provider' does not exist in the registry.
Attribute 'traceloop.entity.input' does not exist in the registry.
Attribute 'traceloop.entity.name' does not exist in the registry.
Attribute 'traceloop.entity.output' does not exist in the registry.
Attribute 'traceloop.entity.path' does not exist in the registry.
Attribute 'traceloop.span.kind' does not exist in the registry.
Attribute 'traceloop.workflow.name' does not exist in the registry.
Attribute name 'gen_ai.task.id' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.input' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.name' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.output' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.parent.id' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.task.status' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Attribute name 'gen_ai.workflow.edges' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.workflow.nodes' collides with existing namespace 'gen_ai'
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'gen_ai.operation.name' has value 'execute_task' which is not documented.
Enum attribute 'gen_ai.operation.name' has value 'vector_db_retrieve' which is not documented.
Enum attribute 'gen_ai.provider.name' has value 'langchain' which is not documented.
Enum attribute 'gen_ai.provider.name' has value 'langgraph' which is not documented.
Recommended attribute 'server.address' is not present.
Required attribute 'gen_ai.operation.name' is not present.
Unit should be '{token}', but found 'token'.

LangChain (Python) — Prototype

Entities: 4 spans, 1 log, 4 resources, 59 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

LangChain (JS) — OpenInference

Instrumentation: Arize-ai/openinference — 4.0.8
Entities: 9 spans, 1 resource, 92 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (20):
input.mime_type ×9
input.value ×9
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×3
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.prompt_template.template ×2
llm.prompt_template.variables ×2
llm.token_count.completion ×3
llm.token_count.prompt ×3
llm.token_count.total ×3
llm.tools.0.tool.json_schema ×1
metadata ×9
openinference.span.kind ×9
output.mime_type ×9
output.value ×9

Violations (21):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.prompt_template.template' does not exist in the registry.
Attribute 'llm.prompt_template.variables' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'metadata' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Attribute name 'metadata' must include a namespace (e.g. '{namespace}.{attribute_key}')

LangChain (JS) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.25.0
Entities: 9 spans, 1 resource, 70 attributes
Invoke Workflow Attributes
Required
✓
gen_ai.operation.name ×9
Conditionally Required
–
error.type
–
gen_ai.workflow.name
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
Inference Attributes
Required
✓
gen_ai.operation.name ×9
✓
gen_ai.provider.name ×9
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (5):
gen_ai.usage.total_tokens ×3
traceloop.entity.input ×6
traceloop.entity.output ×6
traceloop.span.kind ×6
traceloop.workflow.name ×6

Violations (8):
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute 'traceloop.entity.input' does not exist in the registry.
Attribute 'traceloop.entity.output' does not exist in the registry.
Attribute 'traceloop.span.kind' does not exist in the registry.
Attribute 'traceloop.workflow.name' does not exist in the registry.
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Enum attribute 'gen_ai.operation.name' has value 'workflow' which is not documented.
Enum attribute 'gen_ai.provider.name' has value 'langchain' which is not documented.

LangChain (JS) — Prototype

Entities: 4 spans, 1 log, 2 resources, 43 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

LiteLLM (Python) — Native

Instrumentation: BerriAI/litellm — 1.83.4
Entities: 8 spans, 4 resources, 261 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
–
gen_ai.provider.name
✓
gen_ai.system ×4
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
✓
gen_ai.operation.name ×4
–
gen_ai.provider.name
✓
gen_ai.system ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×4
✓
gen_ai.usage.input_tokens ×4
–
server.address

Non-registry attributes (62):
gen_ai.completion.0.function_call.arguments ×1
gen_ai.completion.0.function_call.name ×1
gen_ai.cost.discount_amount ×4
gen_ai.cost.discount_percent ×4
gen_ai.cost.input_cost ×4
gen_ai.cost.margin_fixed_amount ×4
gen_ai.cost.margin_percent ×4
gen_ai.cost.margin_total_amount ×4
gen_ai.cost.original_cost ×4
gen_ai.cost.output_cost ×4
gen_ai.cost.tool_usage_cost ×4
gen_ai.cost.total_cost ×4
gen_ai.system ×4
gen_ai.usage.total_tokens ×4
hidden_params ×4
llm.None.encoding_format ×1
llm.None.input ×1
llm.None.model ×1
llm.is_streaming ×4
llm.openai.choices ×2
llm.openai.created ×2
llm.openai.extra_body ×2
llm.openai.id ×2
llm.openai.messages ×2
llm.openai.model ×2
llm.openai.object ×2
llm.openai.service_tier ×2
llm.openai.system_fingerprint ×2
llm.openai.tools ×1
llm.openai.usage ×2
llm.request.functions.0.description ×1
llm.request.functions.0.name ×1
llm.request.functions.0.parameters ×1
llm.request.type ×4
metadata.applied_guardrails ×4
metadata.cold_storage_object_key ×4
metadata.mcp_tool_call_metadata ×4
metadata.prompt_management_metadata ×4
metadata.requester_custom_headers ×4
metadata.requester_ip_address ×4
metadata.requester_metadata ×4
metadata.spend_logs_metadata ×4
metadata.team_alias ×4
metadata.team_id ×4
metadata.usage_object ×4
metadata.user_agent ×4
metadata.user_api_key_alias ×4
metadata.user_api_key_auth_metadata ×4
metadata.user_api_key_budget_reset_at ×4
metadata.user_api_key_end_user_id ×4
metadata.user_api_key_hash ×4
metadata.user_api_key_max_budget ×4
metadata.user_api_key_org_id ×4
metadata.user_api_key_project_alias ×4
metadata.user_api_key_project_id ×4
metadata.user_api_key_request_route ×4
metadata.user_api_key_spend ×4
metadata.user_api_key_team_alias ×4
metadata.user_api_key_team_id ×4
metadata.user_api_key_user_email ×4
metadata.user_api_key_user_id ×4
metadata.vector_store_request_metadata ×4

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (82):
Attribute 'gen_ai.completion.0.function_call.arguments' does not exist in the registry.
Attribute 'gen_ai.completion.0.function_call.name' does not exist in the registry.
Attribute 'gen_ai.cost.discount_amount' does not exist in the registry.
Attribute 'gen_ai.cost.discount_percent' does not exist in the registry.
Attribute 'gen_ai.cost.input_cost' does not exist in the registry.
Attribute 'gen_ai.cost.margin_fixed_amount' does not exist in the registry.
Attribute 'gen_ai.cost.margin_percent' does not exist in the registry.
Attribute 'gen_ai.cost.margin_total_amount' does not exist in the registry.
Attribute 'gen_ai.cost.original_cost' does not exist in the registry.
Attribute 'gen_ai.cost.output_cost' does not exist in the registry.
Attribute 'gen_ai.cost.tool_usage_cost' does not exist in the registry.
Attribute 'gen_ai.cost.total_cost' does not exist in the registry.
Attribute 'gen_ai.response.finish_reasons' has type 'string'. Type should be 'string[]'.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute 'hidden_params' does not exist in the registry.
Attribute 'llm.None.encoding_format' does not exist in the registry.
Attribute 'llm.None.encoding_format' does not match name formatting rules.
Attribute 'llm.None.input' does not exist in the registry.
Attribute 'llm.None.input' does not match name formatting rules.
Attribute 'llm.None.model' does not exist in the registry.
Attribute 'llm.None.model' does not match name formatting rules.
Attribute 'llm.is_streaming' does not exist in the registry.
Attribute 'llm.openai.choices' does not exist in the registry.
Attribute 'llm.openai.created' does not exist in the registry.
Attribute 'llm.openai.extra_body' does not exist in the registry.
Attribute 'llm.openai.id' does not exist in the registry.
Attribute 'llm.openai.messages' does not exist in the registry.
Attribute 'llm.openai.model' does not exist in the registry.
Attribute 'llm.openai.object' does not exist in the registry.
Attribute 'llm.openai.service_tier' does not exist in the registry.
Attribute 'llm.openai.system_fingerprint' does not exist in the registry.
Attribute 'llm.openai.tools' does not exist in the registry.
Attribute 'llm.openai.usage' does not exist in the registry.
Attribute 'llm.request.functions.0.description' does not exist in the registry.
Attribute 'llm.request.functions.0.name' does not exist in the registry.
Attribute 'llm.request.functions.0.parameters' does not exist in the registry.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'metadata.applied_guardrails' does not exist in the registry.
Attribute 'metadata.cold_storage_object_key' does not exist in the registry.
Attribute 'metadata.mcp_tool_call_metadata' does not exist in the registry.
Attribute 'metadata.prompt_management_metadata' does not exist in the registry.
Attribute 'metadata.requester_custom_headers' does not exist in the registry.
Attribute 'metadata.requester_ip_address' does not exist in the registry.
Attribute 'metadata.requester_metadata' does not exist in the registry.
Attribute 'metadata.spend_logs_metadata' does not exist in the registry.
Attribute 'metadata.team_alias' does not exist in the registry.
Attribute 'metadata.team_id' does not exist in the registry.
Attribute 'metadata.usage_object' does not exist in the registry.
Attribute 'metadata.user_agent' does not exist in the registry.
Attribute 'metadata.user_api_key_alias' does not exist in the registry.
Attribute 'metadata.user_api_key_auth_metadata' does not exist in the registry.
Attribute 'metadata.user_api_key_budget_reset_at' does not exist in the registry.
Attribute 'metadata.user_api_key_end_user_id' does not exist in the registry.
Attribute 'metadata.user_api_key_hash' does not exist in the registry.
Attribute 'metadata.user_api_key_max_budget' does not exist in the registry.
Attribute 'metadata.user_api_key_org_id' does not exist in the registry.
Attribute 'metadata.user_api_key_project_alias' does not exist in the registry.
Attribute 'metadata.user_api_key_project_id' does not exist in the registry.
Attribute 'metadata.user_api_key_request_route' does not exist in the registry.
Attribute 'metadata.user_api_key_spend' does not exist in the registry.
Attribute 'metadata.user_api_key_team_alias' does not exist in the registry.
Attribute 'metadata.user_api_key_team_id' does not exist in the registry.
Attribute 'metadata.user_api_key_user_email' does not exist in the registry.
Attribute 'metadata.user_api_key_user_id' does not exist in the registry.
Attribute 'metadata.vector_store_request_metadata' does not exist in the registry.
Attribute name 'gen_ai.completion.0.function_call.arguments' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.function_call.name' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.discount_amount' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.discount_percent' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.input_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.margin_fixed_amount' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.margin_percent' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.margin_total_amount' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.original_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.output_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.tool_usage_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.cost.total_cost' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Attribute name 'hidden_params' must include a namespace (e.g. '{namespace}.{attribute_key}')
Enum attribute 'gen_ai.operation.name' has value 'embedding' which is not documented.
Enum attribute 'gen_ai.system' has value '' which is not documented.

LiteLLM (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.30
Entities: 4 spans, 5 resources, 79 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (22):
embedding.embeddings.0.embedding.text ×1
embedding.embeddings.0.embedding.vector ×1
embedding.invocation_parameters ×1
embedding.model_name ×1
input.mime_type ×3
input.value ×4
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.provider ×3
llm.token_count.completion ×2
llm.token_count.prompt ×3
llm.token_count.total ×3
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×4
output.mime_type ×1
output.value ×3

Metrics (2):
otel.sdk.span.live ×3
otel.sdk.span.started ×3

Violations (22):
Attribute 'embedding.embeddings.0.embedding.text' does not exist in the registry.
Attribute 'embedding.embeddings.0.embedding.vector' does not exist in the registry.
Attribute 'embedding.invocation_parameters' does not exist in the registry.
Attribute 'embedding.model_name' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

LiteLLM (Python) — Prototype

Entities: 4 spans, 1 log, 6 resources, 72 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×4
✓
gen_ai.usage.input_tokens ×4
–
server.address

Metrics (2):
otel.sdk.span.live ×3
otel.sdk.span.started ×3

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×3
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

LlamaIndex (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 4.3.9
Entities: 12 spans, 3 resources, 105 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address
Retrieval Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.data_source.id
–
gen_ai.provider.name
–
gen_ai.system
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.request.top_k
–
server.address
Opt-In
–
gen_ai.retrieval.documents
–
gen_ai.retrieval.query.text

Non-registry attributes (22):
embedding.embeddings.0.embedding.text ×3
embedding.embeddings.0.embedding.vector ×3
embedding.model_name ×5
input.mime_type ×11
input.value ×12
llm.input_messages.0.message.content ×2
llm.input_messages.0.message.role ×2
llm.invocation_parameters ×2
llm.model_name ×2
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×2
llm.provider ×2
llm.system ×2
llm.token_count.completion ×2
llm.token_count.prompt ×2
llm.token_count.total ×2
openinference.span.kind ×12
output.mime_type ×5
output.value ×7
retrieval.documents.0.document.content ×1
retrieval.documents.0.document.id ×1
retrieval.documents.0.document.score ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (22):
Attribute 'embedding.embeddings.0.embedding.text' does not exist in the registry.
Attribute 'embedding.embeddings.0.embedding.vector' does not exist in the registry.
Attribute 'embedding.model_name' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Attribute 'retrieval.documents.0.document.content' does not exist in the registry.
Attribute 'retrieval.documents.0.document.id' does not exist in the registry.
Attribute 'retrieval.documents.0.document.score' does not exist in the registry.

LlamaIndex (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 12 spans, 3 resources, 225 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×26
✓
gen_ai.provider.name ×26
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×2
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
✓
gen_ai.request.temperature ×2
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×26
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
✓
gen_ai.input.messages ×2
✓
gen_ai.output.messages ×2
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (10):
embedding.model_name ×3
gen_ai.is_streaming ×2
gen_ai.openai.api_base ×2
gen_ai.response.finish_reason ×4
gen_ai.usage.total_tokens ×2
stream ×24
traceloop.entity.input ×10
traceloop.entity.name ×10
traceloop.entity.output ×10
traceloop.span.kind ×10

Metrics (7):
gen_ai.client.generation.choices ×2
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
gen_ai.server.time_to_first_token ×2
llm.chat_completions.streaming_time_to_generate ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×26
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×26
✓
server.address ×24
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×26
✓
gen_ai.token.type ×8
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×26
✓
server.address ×24

Violations (20):
Attribute 'embedding.model_name' does not exist in the registry.
Attribute 'gen_ai.is_streaming' does not exist in the registry.
Attribute 'gen_ai.openai.api_base' does not exist in the registry.
Attribute 'gen_ai.response.finish_reason' does not exist in the registry.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute 'stream' does not exist in the registry.
Attribute 'traceloop.entity.input' does not exist in the registry.
Attribute 'traceloop.entity.name' does not exist in the registry.
Attribute 'traceloop.entity.output' does not exist in the registry.
Attribute 'traceloop.span.kind' does not exist in the registry.
Attribute name 'gen_ai.is_streaming' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.openai.api_base' collides with existing namespace 'gen_ai.openai'
Attribute name 'gen_ai.response.finish_reason' collides with existing namespace 'gen_ai.response'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Attribute name 'stream' must include a namespace (e.g. '{namespace}.{attribute_key}')
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Metric does not exist in the registry.
Unit should be '{token}', but found 'token'.

LlamaIndex (Python) — Prototype

Entities: 4 spans, 1 log, 5 resources, 59 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
✓
gen_ai.request.temperature ×3
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×2
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Metrics (2):
otel.sdk.span.live ×3
otel.sdk.span.started ×3

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×2
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

LlamaIndex (JS) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.25.0
Entities: 2 spans, 1 resource, 30 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×2
✓
gen_ai.provider.name ×2
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×2
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
✓
gen_ai.request.temperature ×2
–
gen_ai.request.top_k
✓
gen_ai.request.top_p ×2
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×2
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
✓
gen_ai.input.messages ×2
✓
gen_ai.output.messages ×2
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (1):
gen_ai.usage.total_tokens ×2

Violations (2):
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'

LlamaIndex (JS) — Prototype

Entities: 3 spans, 1 log, 2 resources, 38 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
✓
gen_ai.request.top_p ×1
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Microsoft.Extensions.AI (C#) — Native

Instrumentation: dotnet/extensions — 10.4.1
Entities: 3 spans, 3 resources, 113 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×13
✓
gen_ai.provider.name ×13
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×13
–
gen_ai.request.seed
✓
server.port ×13
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×13
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×13
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.operation.time_per_output_chunk ×2
gen_ai.client.operation.time_to_first_chunk ×2
gen_ai.client.token.usage ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×13
Conditionally Required
–
error.type
✓
gen_ai.request.model ×13
✓
server.port ×13
Recommended
✓
gen_ai.response.model ×13
✓
server.address ×13
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×13
✓
gen_ai.token.type ×4
Conditionally Required
✓
gen_ai.request.model ×13
✓
server.port ×13
Recommended
✓
gen_ai.response.model ×13
✓
server.address ×13

Violations (3):
Attribute 'gen_ai.response.finish_reasons' has type 'string'. Type should be 'string[]'.
Conditionally required attribute 'error.type' is not present.
Metric does not exist in the registry.

Microsoft.Extensions.AI (C#) — Prototype

Entities: 3 spans, 1 log, 2 resources, 50 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
✓
server.port ×4
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×4
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
✓
server.port ×4
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×4

Violations (15):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

Mistral AI (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 2.0.0
Entities: 7 spans, 1 resource, 114 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
✓
server.port ×4
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×4
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
✓
server.port ×4
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×4
✓
gen_ai.usage.input_tokens ×4
✓
server.address ×4

Non-registry attributes (20):
agent.trace.public ×4
http.url ×4
input.mime_type ×3
input.value ×3
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.provider ×3
llm.system ×3
llm.token_count.completion ×3
llm.token_count.prompt ×3
llm.token_count.total ×3
openinference.span.kind ×3
output.mime_type ×3
output.value ×3

Violations (20):
Attribute 'agent.trace.public' does not exist in the registry.
Attribute 'http.url' is deprecated; reason = 'renamed', note = 'Replaced by `url.full`.'.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Mistral AI (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 8 spans, 1 resource, 91 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×8
–
gen_ai.request.seed
✓
server.port ×4
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×6
✓
server.address ×4
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×8
✓
server.port ×4
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
✓
server.address ×4

Non-registry attributes (14):
agent.trace.public ×4
gen_ai.completion.0.content ×3
gen_ai.completion.0.finish_reason ×3
gen_ai.completion.0.role ×2
gen_ai.prompt.0.content ×1
gen_ai.prompt.0.role ×4
gen_ai.system ×4
gen_ai.usage.prompt_tokens ×3
http.url ×4
llm.is_streaming ×4
llm.request.type ×4
llm.usage.total_tokens ×3
mistral_ai.operation.id ×3
mistral_ai.request.total_tokens ×3

Violations (20):
Attribute 'agent.trace.public' does not exist in the registry.
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.finish_reason' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'gen_ai.usage.prompt_tokens' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.usage.input_tokens`.'.
Attribute 'http.url' is deprecated; reason = 'renamed', note = 'Replaced by `url.full`.'.
Attribute 'llm.is_streaming' does not exist in the registry.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute 'mistral_ai.operation.id' does not exist in the registry.
Attribute 'mistral_ai.request.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.finish_reason' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Enum attribute 'gen_ai.system' has value 'MistralAI' which is not documented.

Mistral AI (Python) — Prototype

Entities: 8 spans, 1 log, 2 resources, 102 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×9
✓
gen_ai.provider.name ×8
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×9
–
gen_ai.request.seed
✓
server.port ×4
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×6
✓
gen_ai.response.id ×7
✓
gen_ai.response.model ×7
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×8
✓
gen_ai.usage.output_tokens ×6
✓
server.address ×4
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×4
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×2
Embeddings Attributes
Required
✓
gen_ai.operation.name ×9
✓
gen_ai.provider.name ×8
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×9
✓
server.port ×4
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×7
✓
gen_ai.usage.input_tokens ×8
✓
server.address ×4

Non-registry attributes (2):
agent.trace.public ×4
http.url ×4

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×9
Conditionally Required
–
error.type
✓
gen_ai.request.model ×9
–
server.port
Recommended
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×4
✓
gen_ai.response.finish_reasons ×6
✓
gen_ai.response.id ×7
✓
gen_ai.response.model ×7
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×8
✓
gen_ai.usage.output_tokens ×6
–
server.address

Violations (20):
Attribute 'agent.trace.public' does not exist in the registry.
Attribute 'http.url' is deprecated; reason = 'renamed', note = 'Replaced by `url.full`.'.
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'gen_ai.provider.name' has value 'mistral' which is not documented.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

OpenAI (Python) — OTel Contrib

Entities: 4 spans, 6 logs, 4 resources, 141 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×16
–
gen_ai.provider.name
✓
gen_ai.system ×22
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×16
–
gen_ai.request.seed
✓
server.port ×16
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×14
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×16
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
✓
gen_ai.operation.name ×16
–
gen_ai.provider.name
✓
gen_ai.system ×22
Conditionally Required
–
error.type
✓
gen_ai.request.model ×16
✓
server.port ×16
Recommended
✓
gen_ai.embeddings.dimension.count ×1
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×14
✓
gen_ai.usage.input_tokens ×4
✓
server.address ×16

Non-registry attributes (1):
gen_ai.system ×22

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×16
Conditionally Required
–
error.type
✓
gen_ai.request.model ×16
✓
server.port ×16
Recommended
✓
gen_ai.response.model ×14
✓
server.address ×16
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×16
✓
gen_ai.token.type ×6
Conditionally Required
✓
gen_ai.request.model ×16
✓
server.port ×16
Recommended
✓
gen_ai.response.model ×14
✓
server.address ×16

Events (2):
gen_ai.choice ×3
gen_ai.user.message ×3

Violations (6):
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Conditionally required attribute 'error.type' is not present.
Event 'gen_ai.choice' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.output.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.user.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.input.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Recommended attribute 'gen_ai.response.model' is not present.
Required attribute 'gen_ai.provider.name' is not present.

OpenAI (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.44
Entities: 4 spans, 3 resources, 78 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (23):
embedding.embeddings.0.embedding.text ×1
embedding.embeddings.0.embedding.vector ×1
embedding.invocation_parameters ×1
embedding.model_name ×1
input.mime_type ×4
input.value ×4
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.system ×4
llm.token_count.completion ×3
llm.token_count.prompt ×4
llm.token_count.total ×4
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×4
output.mime_type ×4
output.value ×4

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (23):
Attribute 'embedding.embeddings.0.embedding.text' does not exist in the registry.
Attribute 'embedding.embeddings.0.embedding.vector' does not exist in the registry.
Attribute 'embedding.invocation_parameters' does not exist in the registry.
Attribute 'embedding.model_name' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

OpenAI (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 4 spans, 3 resources, 245 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×36
✓
gen_ai.provider.name ×36
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×36
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
✓
gen_ai.input.messages ×4
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×36
✓
gen_ai.provider.name ×36
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×36
✓
gen_ai.usage.input_tokens ×4
–
server.address

Non-registry attributes (5):
gen_ai.is_streaming ×4
gen_ai.openai.api_base ×4
gen_ai.response.finish_reason ×6
gen_ai.usage.total_tokens ×4
stream ×32

Metrics (8):
gen_ai.client.generation.choices ×2
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
gen_ai.server.time_to_first_token ×2
llm.chat_completions.streaming_time_to_generate ×2
llm.openai.embeddings.vector_size ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×36
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×36
✓
server.address ×32
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×36
✓
gen_ai.token.type ×10
Conditionally Required
–
gen_ai.request.model
–
server.port
Recommended
✓
gen_ai.response.model ×36
✓
server.address ×32

Violations (15):
Attribute 'gen_ai.is_streaming' does not exist in the registry.
Attribute 'gen_ai.openai.api_base' does not exist in the registry.
Attribute 'gen_ai.response.finish_reason' does not exist in the registry.
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute 'stream' does not exist in the registry.
Attribute name 'gen_ai.is_streaming' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.openai.api_base' collides with existing namespace 'gen_ai.openai'
Attribute name 'gen_ai.response.finish_reason' collides with existing namespace 'gen_ai.response'
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'
Attribute name 'stream' must include a namespace (e.g. '{namespace}.{attribute_key}')
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.request.model' is not present.
Conditionally required attribute 'server.port' is not present.
Metric does not exist in the registry.
Unit should be '{token}', but found 'token'.

OpenAI (Python) — Prototype

Entities: 4 spans, 1 log, 4 resources, 72 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
✓
server.port ×5
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×5
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
✓
gen_ai.embeddings.dimension.count ×1
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×5
✓
gen_ai.usage.input_tokens ×5
✓
server.address ×5

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×5

Violations (15):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

OpenAI (JS) — OTel Contrib

Instrumentation: open-telemetry/opentelemetry-js-contrib — 0.12.0
Entities: 4 spans, 6 logs, 4 resources, 131 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×14
–
gen_ai.provider.name
✓
gen_ai.system ×20
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×14
–
gen_ai.request.seed
✓
server.port ×14
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×14
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×14
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
✓
gen_ai.operation.name ×14
–
gen_ai.provider.name
✓
gen_ai.system ×20
Conditionally Required
–
error.type
✓
gen_ai.request.model ×14
✓
server.port ×14
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×14
✓
gen_ai.usage.input_tokens ×4
✓
server.address ×14

Non-registry attributes (2):
event.name ×6
gen_ai.system ×20

Metrics (2):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×14
Conditionally Required
–
error.type
✓
gen_ai.request.model ×14
✓
server.port ×14
Recommended
✓
gen_ai.response.model ×14
✓
server.address ×14
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×14
✓
gen_ai.token.type ×6
Conditionally Required
✓
gen_ai.request.model ×14
✓
server.port ×14
Recommended
✓
gen_ai.response.model ×14
✓
server.address ×14

Violations (4):
Attribute 'event.name' is deprecated; reason = 'uncategorized', note = 'The value of this attribute MUST now be set as the value of the EventName field on the LogRecord to indicate that the LogRecord represents an Event. '.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Conditionally required attribute 'error.type' is not present.
Required attribute 'gen_ai.provider.name' is not present.

OpenAI (JS) — OpenInference

Instrumentation: Arize-ai/openinference — 4.0.7
Entities: 4 spans, 1 resource, 59 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.request.model
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
–
gen_ai.response.model
–
gen_ai.usage.input_tokens
–
server.address

Non-registry attributes (23):
embedding.embeddings.0.embedding.text ×1
embedding.embeddings.0.embedding.vector ×1
embedding.model_name ×1
input.mime_type ×4
input.value ×4
llm.input_messages.0.message.content ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.provider ×4
llm.system ×3
llm.token_count.completion ×2
llm.token_count.prompt ×2
llm.token_count.total ×2
llm.tools.0.tool.json_schema ×1
openinference.span.kind ×4
output.mime_type ×3
output.value ×3

Violations (23):
Attribute 'embedding.embeddings.0.embedding.text' does not exist in the registry.
Attribute 'embedding.embeddings.0.embedding.vector' does not exist in the registry.
Attribute 'embedding.model_name' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.json_schema' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

OpenAI (JS) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.25.0
Entities: 3 spans, 1 resource, 35 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Non-registry attributes (1):
gen_ai.usage.total_tokens ×2

Violations (2):
Attribute 'gen_ai.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.usage.total_tokens' collides with existing namespace 'gen_ai.usage'

OpenAI (JS) — Prototype

Entities: 4 spans, 1 log, 2 resources, 57 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
✓
server.port ×5
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×5
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
–
gen_ai.embeddings.dimension.count
–
gen_ai.request.encoding_formats
✓
gen_ai.response.model ×5
✓
gen_ai.usage.input_tokens ×5
✓
server.address ×5

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
✓
server.port ×5
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×5

Violations (15):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

OpenAI (Java) — OTel Contrib

Instrumentation: open-telemetry/opentelemetry-java-instrumentation — 2.26.0-alpha
Entities: 4 spans, 6 logs, 11 resources, 137 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×9
✓
gen_ai.provider.name ×15
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×9
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×9
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Embeddings Attributes
Required
✓
gen_ai.operation.name ×9
✓
gen_ai.provider.name ×15
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×9
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
✓
gen_ai.request.encoding_formats ×1
✓
gen_ai.response.model ×9
✓
gen_ai.usage.input_tokens ×4
–
server.address

Non-registry attributes (1):
event.name ×6

Metrics (2):
gen_ai.client.operation.duration ×1
gen_ai.client.token.usage ×1
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×9
Conditionally Required
–
error.type
✓
gen_ai.request.model ×9
–
server.port
Recommended
✓
gen_ai.response.model ×9
–
server.address
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×9
✓
gen_ai.token.type ×3
Conditionally Required
✓
gen_ai.request.model ×9
–
server.port
Recommended
✓
gen_ai.response.model ×9
–
server.address

Violations (4):
Attribute 'event.name' is deprecated; reason = 'uncategorized', note = 'The value of this attribute MUST now be set as the value of the EventName field on the LogRecord to indicate that the LogRecord represents an Event. '.
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'server.port' is not present.
Recommended attribute 'server.address' is not present.

OpenAI (Java) — Prototype

Entities: 4 spans, 1 log, 5 resources, 60 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×5
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Embeddings Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×4
–
gen_ai.system
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
–
gen_ai.embeddings.dimension.count
✓
gen_ai.request.encoding_formats ×1
✓
gen_ai.response.model ×5
✓
gen_ai.usage.input_tokens ×5
–
server.address

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×5
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×5
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

OpenAI Agents (Python) — OTel Contrib

Entities: 2 spans, 8 logs, 4 resources, 90 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×8
–
gen_ai.provider.name
✓
gen_ai.system ×16
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×8
–
gen_ai.request.seed
✓
server.port ×8
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×8
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
✓
server.address ×8
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (1):
gen_ai.system ×16

Metrics (4):
gen_ai.client.operation.duration ×2
gen_ai.client.token.usage ×2
otel.sdk.span.live ×2
otel.sdk.span.started ×2
Client Operation Duration Metric Attributes
Required
✓
gen_ai.operation.name ×8
Conditionally Required
–
error.type
✓
gen_ai.request.model ×8
✓
server.port ×8
Recommended
✓
gen_ai.response.model ×8
✓
server.address ×8
Client Token Usage Metric Attributes
Required
✓
gen_ai.operation.name ×8
✓
gen_ai.token.type ×4
Conditionally Required
✓
gen_ai.request.model ×8
✓
server.port ×8
Recommended
✓
gen_ai.response.model ×8
✓
server.address ×8

Events (5):
gen_ai.assistant.message ×1
gen_ai.choice ×2
gen_ai.system.message ×2
gen_ai.tool.message ×1
gen_ai.user.message ×2

Violations (8):
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Conditionally required attribute 'error.type' is not present.
Event 'gen_ai.assistant.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.input.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.choice' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.output.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.system.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.system_instructions` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.tool.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.input.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Event 'gen_ai.user.message' is deprecated; reason = 'uncategorized', note = 'Chat history is reported on `gen_ai.input.messages` attribute on spans or `gen_ai.client.inference.operation.details` event. '.
Required attribute 'gen_ai.provider.name' is not present.

OpenAI Agents (Python) — Native

Instrumentation: openai/openai-agents-python — 0.13.6
Entities: 4 spans, 3 resources, 32 attributes
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×4
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Execute Tool Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
–
gen_ai.tool.description
✓
gen_ai.tool.name ×1
–
gen_ai.tool.type
Opt-In
–
gen_ai.tool.call.arguments
–
gen_ai.tool.call.result

Non-registry attributes (6):
gen_ai.agent.output_type ×1
gen_ai.agent.tools ×1
gen_ai.request.model_config ×2
gen_ai.system ×4
gen_ai.tool.input ×1
gen_ai.tool.output ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (11):
Attribute 'gen_ai.agent.output_type' does not exist in the registry.
Attribute 'gen_ai.agent.tools' does not exist in the registry.
Attribute 'gen_ai.request.model_config' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'gen_ai.tool.input' does not exist in the registry.
Attribute 'gen_ai.tool.output' does not exist in the registry.
Attribute name 'gen_ai.agent.output_type' collides with existing namespace 'gen_ai.agent'
Attribute name 'gen_ai.agent.tools' collides with existing namespace 'gen_ai.agent'
Attribute name 'gen_ai.request.model_config' collides with existing namespace 'gen_ai.request'
Attribute name 'gen_ai.tool.input' collides with existing namespace 'gen_ai.tool'
Attribute name 'gen_ai.tool.output' collides with existing namespace 'gen_ai.tool'

OpenAI Agents (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 1.4.1
Entities: 5 spans, 3 resources, 73 attributes
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
–
gen_ai.agent.name
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Execute Tool Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
–
gen_ai.tool.description
–
gen_ai.tool.name
–
gen_ai.tool.type
Opt-In
–
gen_ai.tool.call.arguments
–
gen_ai.tool.call.result

Non-registry attributes (28):
graph.node.id ×1
input.mime_type ×3
input.value ×3
llm.input_messages.0.message.content ×2
llm.input_messages.0.message.role ×2
llm.input_messages.1.message.content ×2
llm.input_messages.1.message.role ×2
llm.input_messages.2.message.role ×1
llm.input_messages.2.message.tool_calls.0.tool_call.function.arguments ×1
llm.input_messages.2.message.tool_calls.0.tool_call.function.name ×1
llm.input_messages.2.message.tool_calls.0.tool_call.id ×1
llm.input_messages.3.message.content ×1
llm.input_messages.3.message.role ×1
llm.input_messages.3.message.tool_call_id ×1
llm.invocation_parameters ×2
llm.model_name ×2
llm.output_messages.0.message.content ×1
llm.output_messages.0.message.role ×2
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.system ×4
llm.token_count.completion ×2
llm.token_count.prompt ×2
openinference.span.kind ×5
output.mime_type ×2
output.value ×3
tool.name ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (28):
Attribute 'graph.node.id' does not exist in the registry.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.content' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.input_messages.1.message.content' does not exist in the registry.
Attribute 'llm.input_messages.1.message.role' does not exist in the registry.
Attribute 'llm.input_messages.2.message.role' does not exist in the registry.
Attribute 'llm.input_messages.2.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.input_messages.2.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.input_messages.2.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.input_messages.3.message.content' does not exist in the registry.
Attribute 'llm.input_messages.3.message.role' does not exist in the registry.
Attribute 'llm.input_messages.3.message.tool_call_id' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Attribute 'tool.name' does not exist in the registry.

OpenAI Agents (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 5 spans, 3 resources, 56 attributes
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×5
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Invoke Workflow Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
–
gen_ai.workflow.name
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
Inference Attributes
Required
✓
gen_ai.operation.name ×2
–
gen_ai.provider.name
✓
gen_ai.system ×5
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Execute Tool Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
–
gen_ai.tool.description
✓
gen_ai.tool.name ×1
✓
gen_ai.tool.type ×1
Opt-In
–
gen_ai.tool.call.arguments
–
gen_ai.tool.call.result

Non-registry attributes (18):
gen_ai.completion.tool.name ×1
gen_ai.completion.tool.strict_json_schema ×1
gen_ai.completion.tool.type ×1
gen_ai.prompt.0.content ×2
gen_ai.prompt.0.role ×2
gen_ai.prompt.1.content ×2
gen_ai.prompt.1.role ×2
gen_ai.prompt.2.role ×1
gen_ai.prompt.2.tool_calls.0.arguments ×1
gen_ai.prompt.2.tool_calls.0.id ×1
gen_ai.prompt.2.tool_calls.0.name ×1
gen_ai.prompt.3.content ×1
gen_ai.prompt.3.role ×1
gen_ai.prompt.3.tool_call_id ×1
gen_ai.system ×5
llm.request.type ×2
traceloop.span.kind ×3
traceloop.workflow.name ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (33):
Attribute 'gen_ai.completion.tool.name' does not exist in the registry.
Attribute 'gen_ai.completion.tool.strict_json_schema' does not exist in the registry.
Attribute 'gen_ai.completion.tool.type' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.1.content' does not exist in the registry.
Attribute 'gen_ai.prompt.1.role' does not exist in the registry.
Attribute 'gen_ai.prompt.2.role' does not exist in the registry.
Attribute 'gen_ai.prompt.2.tool_calls.0.arguments' does not exist in the registry.
Attribute 'gen_ai.prompt.2.tool_calls.0.id' does not exist in the registry.
Attribute 'gen_ai.prompt.2.tool_calls.0.name' does not exist in the registry.
Attribute 'gen_ai.prompt.3.content' does not exist in the registry.
Attribute 'gen_ai.prompt.3.role' does not exist in the registry.
Attribute 'gen_ai.prompt.3.tool_call_id' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'traceloop.span.kind' does not exist in the registry.
Attribute 'traceloop.workflow.name' does not exist in the registry.
Attribute name 'gen_ai.completion.tool.name' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.tool.strict_json_schema' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.tool.type' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.1.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.1.role' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.2.role' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.2.tool_calls.0.arguments' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.2.tool_calls.0.id' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.2.tool_calls.0.name' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.3.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.3.role' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.3.tool_call_id' collides with existing namespace 'gen_ai.prompt'
Enum attribute 'gen_ai.system' has value 'openai_agents' which is not documented.

OpenAI Agents (Python) — Prototype

Entities: 1 span, 3 resources, 28 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×1
–
gen_ai.request.seed
✓
server.port ×1
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
✓
gen_ai.response.id ×1
✓
gen_ai.response.model ×1
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×1
✓
gen_ai.usage.output_tokens ×1
✓
server.address ×1
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

OpenAI Assistants (Python) — Prototype

Instrumentation: 2.31.0
Entities: 1 span, 3 resources, 28 attributes
Invoke Agent Client Attributes
Required
✓
gen_ai.operation.name ×1
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
✓
gen_ai.agent.id ×1
✓
gen_ai.agent.name ×1
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×1
–
gen_ai.request.seed
✓
server.port ×1
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×1
✓
gen_ai.usage.output_tokens ×1
✓
server.address ×1
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Promptflow (Python) — Native

Instrumentation: microsoft/promptflow — 1.18.4
Entities: 2 spans, 1 resource, 24 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (13):
__computed__.cumulative_token_count.total ×2
collection ×1
framework ×2
function ×2
inputs ×2
llm.generated_message ×1
llm.response.model ×1
llm.usage.completion_tokens ×1
llm.usage.prompt_tokens ×1
llm.usage.total_tokens ×1
output ×2
payload ×5
span_type ×2

Violations (21):
Attribute '__computed__.cumulative_token_count.total' does not exist in the registry.
Attribute '__computed__.cumulative_token_count.total' does not match name formatting rules.
Attribute 'collection' does not exist in the registry.
Attribute 'framework' does not exist in the registry.
Attribute 'function' does not exist in the registry.
Attribute 'inputs' does not exist in the registry.
Attribute 'llm.generated_message' does not exist in the registry.
Attribute 'llm.response.model' does not exist in the registry.
Attribute 'llm.usage.completion_tokens' does not exist in the registry.
Attribute 'llm.usage.prompt_tokens' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute 'output' does not exist in the registry.
Attribute 'payload' does not exist in the registry.
Attribute 'span_type' does not exist in the registry.
Attribute name 'collection' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'framework' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'function' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'inputs' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'output' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'payload' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'span_type' must include a namespace (e.g. '{namespace}.{attribute_key}')

Promptflow (Python) — Prototype

Entities: 1 span, 1 log, 2 resources, 25 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×2
✓
gen_ai.provider.name ×1
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×2
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×2
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×2
Conditionally Required
–
error.type
✓
gen_ai.request.model ×2
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×2
✓
gen_ai.response.id ×2
✓
gen_ai.response.model ×2
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×2
✓
gen_ai.usage.output_tokens ×2
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Pydantic AI (Python) — Native

Instrumentation: pydantic/pydantic-ai — 1.79.0
Entities: 6 spans, 1 resource, 107 attributes
Invoke Agent Client Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×3
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
✓
gen_ai.agent.name ×6
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
✓
server.port ×3
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×5
✓
server.address ×3
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×2
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
✓
gen_ai.agent.name ×6
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×5
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×3
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
✓
server.port ×3
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×5
✓
server.address ×3
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×2
Execute Tool Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
Recommended
✓
gen_ai.tool.call.id ×1
–
gen_ai.tool.description
✓
gen_ai.tool.name ×1
–
gen_ai.tool.type
Opt-In
–
gen_ai.tool.call.arguments
–
gen_ai.tool.call.result

Non-registry attributes (14):
agent_name ×2
final_result ×2
gen_ai.agent.call.id ×6
gen_ai.system ×3
logfire.json_schema ×6
logfire.metrics ×2
logfire.msg ×6
logfire.span_type ×6
model_name ×2
model_request_parameters ×3
operation.cost ×3
pydantic_ai.all_messages ×2
tool_arguments ×1
tool_response ×1

Violations (21):
Attribute 'agent_name' does not exist in the registry.
Attribute 'final_result' does not exist in the registry.
Attribute 'gen_ai.agent.call.id' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'logfire.json_schema' does not exist in the registry.
Attribute 'logfire.metrics' does not exist in the registry.
Attribute 'logfire.msg' does not exist in the registry.
Attribute 'logfire.span_type' does not exist in the registry.
Attribute 'model_name' does not exist in the registry.
Attribute 'model_request_parameters' does not exist in the registry.
Attribute 'operation.cost' does not exist in the registry.
Attribute 'pydantic_ai.all_messages' does not exist in the registry.
Attribute 'tool_arguments' does not exist in the registry.
Attribute 'tool_response' does not exist in the registry.
Attribute name 'agent_name' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'final_result' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'gen_ai.agent.call.id' collides with existing namespace 'gen_ai.agent'
Attribute name 'model_name' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'model_request_parameters' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'tool_arguments' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'tool_response' must include a namespace (e.g. '{namespace}.{attribute_key}')

Pydantic AI (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.12
Entities: 6 spans, 1 resource, 179 attributes
Invoke Agent Client Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×3
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
✓
gen_ai.agent.name ×6
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
✓
server.port ×3
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×5
✓
server.address ×3
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×2
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
✓
gen_ai.agent.name ×6
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×5
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×3
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
✓
server.port ×3
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×5
✓
gen_ai.usage.output_tokens ×5
✓
server.address ×3
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×2
Execute Tool Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
Recommended
✓
gen_ai.tool.call.id ×1
–
gen_ai.tool.description
✓
gen_ai.tool.name ×1
–
gen_ai.tool.type
Opt-In
–
gen_ai.tool.call.arguments
–
gen_ai.tool.call.result

Non-registry attributes (46):
agent_name ×2
final_result ×2
gen_ai.agent.call.id ×6
gen_ai.system ×3
input.value ×5
llm.input_messages.0.message.contents.0.message_content.text ×3
llm.input_messages.0.message.contents.0.message_content.type ×3
llm.input_messages.0.message.role ×3
llm.input_messages.1.message.contents.0.message_content.text ×3
llm.input_messages.1.message.contents.0.message_content.type ×3
llm.input_messages.1.message.role ×3
llm.input_messages.2.message.role ×1
llm.input_messages.2.message.tool_calls.0.tool_call.function.arguments ×1
llm.input_messages.2.message.tool_calls.0.tool_call.function.name ×1
llm.input_messages.2.message.tool_calls.0.tool_call.id ×1
llm.input_messages.3.message.contents.0.message_content.text ×1
llm.input_messages.3.message.role ×1
llm.input_messages.3.message.tool_call_id ×1
llm.model_name ×3
llm.output_messages.0.message.content ×2
llm.output_messages.0.message.role ×3
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×1
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×1
llm.output_messages.0.message.tool_calls.0.tool_call.id ×1
llm.provider ×3
llm.system ×3
llm.token_count.completion ×3
llm.token_count.prompt ×3
llm.token_count.total ×3
llm.tools.0.tool.description ×2
llm.tools.0.tool.name ×2
logfire.json_schema ×6
logfire.metrics ×2
logfire.msg ×6
logfire.span_type ×6
model_name ×2
model_request_parameters ×3
openinference.span.kind ×6
operation.cost ×3
output.value ×3
pydantic_ai.all_messages ×2
tool.name ×1
tool.parameters ×1
tool_arguments ×1
tool_call.id ×1
tool_response ×1

Violations (53):
Attribute 'agent_name' does not exist in the registry.
Attribute 'final_result' does not exist in the registry.
Attribute 'gen_ai.agent.call.id' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.input_messages.0.message.contents.0.message_content.type' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.input_messages.1.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.input_messages.1.message.contents.0.message_content.type' does not exist in the registry.
Attribute 'llm.input_messages.1.message.role' does not exist in the registry.
Attribute 'llm.input_messages.2.message.role' does not exist in the registry.
Attribute 'llm.input_messages.2.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.input_messages.2.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.input_messages.2.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.input_messages.3.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.input_messages.3.message.role' does not exist in the registry.
Attribute 'llm.input_messages.3.message.tool_call_id' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.content' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'llm.tools.0.tool.description' does not exist in the registry.
Attribute 'llm.tools.0.tool.name' does not exist in the registry.
Attribute 'logfire.json_schema' does not exist in the registry.
Attribute 'logfire.metrics' does not exist in the registry.
Attribute 'logfire.msg' does not exist in the registry.
Attribute 'logfire.span_type' does not exist in the registry.
Attribute 'model_name' does not exist in the registry.
Attribute 'model_request_parameters' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'operation.cost' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Attribute 'pydantic_ai.all_messages' does not exist in the registry.
Attribute 'tool.name' does not exist in the registry.
Attribute 'tool.parameters' does not exist in the registry.
Attribute 'tool_arguments' does not exist in the registry.
Attribute 'tool_call.id' does not exist in the registry.
Attribute 'tool_response' does not exist in the registry.
Attribute name 'agent_name' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'final_result' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'gen_ai.agent.call.id' collides with existing namespace 'gen_ai.agent'
Attribute name 'model_name' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'model_request_parameters' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'tool_arguments' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'tool_response' must include a namespace (e.g. '{namespace}.{attribute_key}')

Pydantic AI (Python) — Prototype

Entities: 2 spans, 1 log, 2 resources, 44 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×3
✓
gen_ai.provider.name ×2
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
✓
server.port ×3
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×3
Opt-In
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×3
Conditionally Required
–
error.type
✓
gen_ai.request.model ×3
✓
server.port ×3
Recommended
✓
gen_ai.input.messages ×3
✓
gen_ai.output.messages ×3
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×3

Violations (15):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

Semantic Kernel (C#) — Native

Instrumentation: microsoft/semantic-kernel — 1.74.0
Entities: 5 spans, 7 logs, 4 resources, 102 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
–
gen_ai.provider.name
✓
gen_ai.system ×10
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
✓
server.port ×4
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
✓
gen_ai.response.id ×3
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
✓
server.address ×4
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Execute Tool Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
✓
gen_ai.tool.description ×1
✓
gen_ai.tool.name ×1
–
gen_ai.tool.type
Opt-In
✓
gen_ai.tool.call.arguments ×1
✓
gen_ai.tool.call.result ×1

Non-registry attributes (11):
Duration ×1
FunctionName ×3
InputTokenCount ×4
OutputTokenCount ×4
PluginName ×3
TotalTokenCount ×4
gen_ai.event.content ×10
gen_ai.response.finish_reason ×4
gen_ai.system ×10
semantic_kernel.function.name ×2
{OriginalFormat} ×7

Metrics (4):
semantic_kernel.connectors.openai.tokens.completion ×2
semantic_kernel.connectors.openai.tokens.prompt ×2
semantic_kernel.connectors.openai.tokens.total ×2
semantic_kernel.function.invocation.duration ×2

Events (3):
LogFunctionComplete ×1
LogFunctionInvokedSuccess ×1
LogFunctionInvoking ×1

Violations (31):
Attribute 'Duration' does not exist in the registry.
Attribute 'Duration' does not match name formatting rules.
Attribute 'FunctionName' does not exist in the registry.
Attribute 'FunctionName' does not match name formatting rules.
Attribute 'InputTokenCount' does not exist in the registry.
Attribute 'InputTokenCount' does not match name formatting rules.
Attribute 'OutputTokenCount' does not exist in the registry.
Attribute 'OutputTokenCount' does not match name formatting rules.
Attribute 'PluginName' does not exist in the registry.
Attribute 'PluginName' does not match name formatting rules.
Attribute 'TotalTokenCount' does not exist in the registry.
Attribute 'TotalTokenCount' does not match name formatting rules.
Attribute 'gen_ai.event.content' does not exist in the registry.
Attribute 'gen_ai.response.finish_reason' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'semantic_kernel.function.name' does not exist in the registry.
Attribute '{OriginalFormat}' does not exist in the registry.
Attribute '{OriginalFormat}' does not match name formatting rules.
Attribute name 'Duration' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'FunctionName' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'InputTokenCount' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'OutputTokenCount' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'PluginName' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'TotalTokenCount' must include a namespace (e.g. '{namespace}.{attribute_key}')
Attribute name 'gen_ai.event.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.response.finish_reason' collides with existing namespace 'gen_ai.response'
Attribute name '{OriginalFormat}' must include a namespace (e.g. '{namespace}.{attribute_key}')
Event 'LogFunctionComplete' does not exist in the registry.
Event 'LogFunctionInvokedSuccess' does not exist in the registry.
Event 'LogFunctionInvoking' does not exist in the registry.
Metric does not exist in the registry.

Semantic Kernel (C#) — Prototype

Entities: 4 spans, 1 log, 2 resources, 56 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×5
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
✓
server.port ×4
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×4
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1
Execute Tool Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
✓
gen_ai.tool.description ×1
✓
gen_ai.tool.name ×1
–
gen_ai.tool.type
Opt-In
✓
gen_ai.tool.call.arguments ×1
✓
gen_ai.tool.call.result ×1

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×5
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
✓
server.port ×4
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
✓
server.address ×4

Violations (15):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.

Vercel AI SDK (JS) — Native

Instrumentation: vercel/ai — 6.0.160
Entities: 7 spans, 1 resource, 158 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (34):
ai.model.id ×6
ai.model.provider ×6
ai.operationId ×7
ai.prompt ×3
ai.prompt.messages ×3
ai.prompt.toolChoice ×1
ai.prompt.tools ×1
ai.request.headers.user-agent ×4
ai.response.avgOutputTokensPerSecond ×1
ai.response.finishReason ×6
ai.response.id ×3
ai.response.model ×3
ai.response.msToFinish ×1
ai.response.msToFirstChunk ×2
ai.response.providerMetadata ×6
ai.response.text ×4
ai.response.timestamp ×3
ai.response.toolCalls ×2
ai.settings.maxRetries ×6
ai.toolCall.args ×1
ai.toolCall.id ×1
ai.toolCall.name ×1
ai.toolCall.result ×1
ai.usage.cachedInputTokens ×6
ai.usage.inputTokenDetails.cacheReadTokens ×6
ai.usage.inputTokenDetails.noCacheTokens ×6
ai.usage.inputTokens ×6
ai.usage.outputTokenDetails.reasoningTokens ×6
ai.usage.outputTokenDetails.textTokens ×6
ai.usage.outputTokens ×6
ai.usage.reasoningTokens ×6
ai.usage.totalTokens ×6
gen_ai.system ×3
operation.name ×7

Violations (58):
Attribute 'ai.model.id' does not exist in the registry.
Attribute 'ai.model.provider' does not exist in the registry.
Attribute 'ai.operationId' does not exist in the registry.
Attribute 'ai.operationId' does not match name formatting rules.
Attribute 'ai.prompt' does not exist in the registry.
Attribute 'ai.prompt.messages' does not exist in the registry.
Attribute 'ai.prompt.toolChoice' does not exist in the registry.
Attribute 'ai.prompt.toolChoice' does not match name formatting rules.
Attribute 'ai.prompt.tools' does not exist in the registry.
Attribute 'ai.request.headers.user-agent' does not exist in the registry.
Attribute 'ai.request.headers.user-agent' does not match name formatting rules.
Attribute 'ai.response.avgOutputTokensPerSecond' does not exist in the registry.
Attribute 'ai.response.avgOutputTokensPerSecond' does not match name formatting rules.
Attribute 'ai.response.finishReason' does not exist in the registry.
Attribute 'ai.response.finishReason' does not match name formatting rules.
Attribute 'ai.response.id' does not exist in the registry.
Attribute 'ai.response.model' does not exist in the registry.
Attribute 'ai.response.msToFinish' does not exist in the registry.
Attribute 'ai.response.msToFinish' does not match name formatting rules.
Attribute 'ai.response.msToFirstChunk' does not exist in the registry.
Attribute 'ai.response.msToFirstChunk' does not match name formatting rules.
Attribute 'ai.response.providerMetadata' does not exist in the registry.
Attribute 'ai.response.providerMetadata' does not match name formatting rules.
Attribute 'ai.response.text' does not exist in the registry.
Attribute 'ai.response.timestamp' does not exist in the registry.
Attribute 'ai.response.toolCalls' does not exist in the registry.
Attribute 'ai.response.toolCalls' does not match name formatting rules.
Attribute 'ai.settings.maxRetries' does not exist in the registry.
Attribute 'ai.settings.maxRetries' does not match name formatting rules.
Attribute 'ai.toolCall.args' does not exist in the registry.
Attribute 'ai.toolCall.args' does not match name formatting rules.
Attribute 'ai.toolCall.id' does not exist in the registry.
Attribute 'ai.toolCall.id' does not match name formatting rules.
Attribute 'ai.toolCall.name' does not exist in the registry.
Attribute 'ai.toolCall.name' does not match name formatting rules.
Attribute 'ai.toolCall.result' does not exist in the registry.
Attribute 'ai.toolCall.result' does not match name formatting rules.
Attribute 'ai.usage.cachedInputTokens' does not exist in the registry.
Attribute 'ai.usage.cachedInputTokens' does not match name formatting rules.
Attribute 'ai.usage.inputTokenDetails.cacheReadTokens' does not exist in the registry.
Attribute 'ai.usage.inputTokenDetails.cacheReadTokens' does not match name formatting rules.
Attribute 'ai.usage.inputTokenDetails.noCacheTokens' does not exist in the registry.
Attribute 'ai.usage.inputTokenDetails.noCacheTokens' does not match name formatting rules.
Attribute 'ai.usage.inputTokens' does not exist in the registry.
Attribute 'ai.usage.inputTokens' does not match name formatting rules.
Attribute 'ai.usage.outputTokenDetails.reasoningTokens' does not exist in the registry.
Attribute 'ai.usage.outputTokenDetails.reasoningTokens' does not match name formatting rules.
Attribute 'ai.usage.outputTokenDetails.textTokens' does not exist in the registry.
Attribute 'ai.usage.outputTokenDetails.textTokens' does not match name formatting rules.
Attribute 'ai.usage.outputTokens' does not exist in the registry.
Attribute 'ai.usage.outputTokens' does not match name formatting rules.
Attribute 'ai.usage.reasoningTokens' does not exist in the registry.
Attribute 'ai.usage.reasoningTokens' does not match name formatting rules.
Attribute 'ai.usage.totalTokens' does not exist in the registry.
Attribute 'ai.usage.totalTokens' does not match name formatting rules.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'operation.name' does not exist in the registry.
Enum attribute 'gen_ai.system' has value 'openai.chat' which is not documented.

Vercel AI SDK (JS) — OpenInference

Instrumentation: Arize-ai/openinference — 2.7.3
Entities: 7 spans, 7 resources, 272 attributes
Invoke Agent Internal Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.agent.description
–
gen_ai.agent.id
–
gen_ai.agent.name
–
gen_ai.agent.version
–
gen_ai.conversation.id
–
gen_ai.data_source.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×3
✓
gen_ai.response.id ×3
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
Execute Tool Attributes
Required
–
gen_ai.operation.name
Conditionally Required
–
error.type
Recommended
–
gen_ai.tool.call.id
–
gen_ai.tool.description
–
gen_ai.tool.name
–
gen_ai.tool.type
Opt-In
–
gen_ai.tool.call.arguments
–
gen_ai.tool.call.result

Non-registry attributes (61):
ai.model.id ×6
ai.model.provider ×6
ai.operationId ×7
ai.prompt ×3
ai.prompt.messages ×3
ai.prompt.toolChoice ×1
ai.prompt.tools ×1
ai.request.headers.user-agent ×4
ai.response.avgOutputTokensPerSecond ×1
ai.response.finishReason ×6
ai.response.id ×3
ai.response.model ×3
ai.response.msToFinish ×1
ai.response.msToFirstChunk ×1
ai.response.providerMetadata ×6
ai.response.text ×4
ai.response.timestamp ×3
ai.response.toolCalls ×2
ai.settings.maxRetries ×6
ai.toolCall.args ×1
ai.toolCall.id ×1
ai.toolCall.name ×1
ai.toolCall.result ×1
ai.usage.cachedInputTokens ×6
ai.usage.inputTokenDetails.cacheReadTokens ×6
ai.usage.inputTokenDetails.noCacheTokens ×6
ai.usage.inputTokens ×6
ai.usage.outputTokenDetails.reasoningTokens ×6
ai.usage.outputTokenDetails.textTokens ×6
ai.usage.outputTokens ×6
ai.usage.reasoningTokens ×6
ai.usage.totalTokens ×6
gen_ai.system ×3
input.mime_type ×7
input.value ×7
llm.input_messages.0.message.contents.0.message_content.image ×3
llm.input_messages.0.message.contents.0.message_content.text ×3
llm.input_messages.0.message.contents.0.message_content.type ×3
llm.input_messages.0.message.role ×3
llm.input_messages.0.message.tool_calls.0.tool_call.function.arguments ×3
llm.input_messages.0.message.tool_calls.0.tool_call.function.name ×3
llm.input_messages.0.message.tool_calls.0.tool_call.id ×3
llm.invocation_parameters ×6
llm.model_name ×6
llm.output_messages.0.message.role ×2
llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments ×2
llm.output_messages.0.message.tool_calls.0.tool_call.function.name ×2
llm.output_messages.0.message.tool_calls.0.tool_call.id ×2
llm.token_count.completion ×3
llm.token_count.prompt ×3
llm.token_count.total ×3
metadata.ai.response.avgOutputTokensPerSecond ×1
metadata.ai.response.msToFinish ×1
metadata.ai.response.msToFirstChunk ×1
openinference.span.kind ×7
operation.name ×7
output.mime_type ×7
output.value ×7
tool.name ×1
tool.parameters ×1
tool_call.id ×1

Violations (88):
Attribute 'ai.model.id' does not exist in the registry.
Attribute 'ai.model.provider' does not exist in the registry.
Attribute 'ai.operationId' does not exist in the registry.
Attribute 'ai.operationId' does not match name formatting rules.
Attribute 'ai.prompt' does not exist in the registry.
Attribute 'ai.prompt.messages' does not exist in the registry.
Attribute 'ai.prompt.toolChoice' does not exist in the registry.
Attribute 'ai.prompt.toolChoice' does not match name formatting rules.
Attribute 'ai.prompt.tools' does not exist in the registry.
Attribute 'ai.request.headers.user-agent' does not exist in the registry.
Attribute 'ai.request.headers.user-agent' does not match name formatting rules.
Attribute 'ai.response.avgOutputTokensPerSecond' does not exist in the registry.
Attribute 'ai.response.avgOutputTokensPerSecond' does not match name formatting rules.
Attribute 'ai.response.finishReason' does not exist in the registry.
Attribute 'ai.response.finishReason' does not match name formatting rules.
Attribute 'ai.response.id' does not exist in the registry.
Attribute 'ai.response.model' does not exist in the registry.
Attribute 'ai.response.msToFinish' does not exist in the registry.
Attribute 'ai.response.msToFinish' does not match name formatting rules.
Attribute 'ai.response.msToFirstChunk' does not exist in the registry.
Attribute 'ai.response.msToFirstChunk' does not match name formatting rules.
Attribute 'ai.response.providerMetadata' does not exist in the registry.
Attribute 'ai.response.providerMetadata' does not match name formatting rules.
Attribute 'ai.response.text' does not exist in the registry.
Attribute 'ai.response.timestamp' does not exist in the registry.
Attribute 'ai.response.toolCalls' does not exist in the registry.
Attribute 'ai.response.toolCalls' does not match name formatting rules.
Attribute 'ai.settings.maxRetries' does not exist in the registry.
Attribute 'ai.settings.maxRetries' does not match name formatting rules.
Attribute 'ai.toolCall.args' does not exist in the registry.
Attribute 'ai.toolCall.args' does not match name formatting rules.
Attribute 'ai.toolCall.id' does not exist in the registry.
Attribute 'ai.toolCall.id' does not match name formatting rules.
Attribute 'ai.toolCall.name' does not exist in the registry.
Attribute 'ai.toolCall.name' does not match name formatting rules.
Attribute 'ai.toolCall.result' does not exist in the registry.
Attribute 'ai.toolCall.result' does not match name formatting rules.
Attribute 'ai.usage.cachedInputTokens' does not exist in the registry.
Attribute 'ai.usage.cachedInputTokens' does not match name formatting rules.
Attribute 'ai.usage.inputTokenDetails.cacheReadTokens' does not exist in the registry.
Attribute 'ai.usage.inputTokenDetails.cacheReadTokens' does not match name formatting rules.
Attribute 'ai.usage.inputTokenDetails.noCacheTokens' does not exist in the registry.
Attribute 'ai.usage.inputTokenDetails.noCacheTokens' does not match name formatting rules.
Attribute 'ai.usage.inputTokens' does not exist in the registry.
Attribute 'ai.usage.inputTokens' does not match name formatting rules.
Attribute 'ai.usage.outputTokenDetails.reasoningTokens' does not exist in the registry.
Attribute 'ai.usage.outputTokenDetails.reasoningTokens' does not match name formatting rules.
Attribute 'ai.usage.outputTokenDetails.textTokens' does not exist in the registry.
Attribute 'ai.usage.outputTokenDetails.textTokens' does not match name formatting rules.
Attribute 'ai.usage.outputTokens' does not exist in the registry.
Attribute 'ai.usage.outputTokens' does not match name formatting rules.
Attribute 'ai.usage.reasoningTokens' does not exist in the registry.
Attribute 'ai.usage.reasoningTokens' does not match name formatting rules.
Attribute 'ai.usage.totalTokens' does not exist in the registry.
Attribute 'ai.usage.totalTokens' does not match name formatting rules.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.contents.0.message_content.image' does not exist in the registry.
Attribute 'llm.input_messages.0.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.input_messages.0.message.contents.0.message_content.type' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.input_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.input_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.input_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.arguments' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.function.name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.tool_calls.0.tool_call.id' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'metadata.ai.response.avgOutputTokensPerSecond' does not exist in the registry.
Attribute 'metadata.ai.response.avgOutputTokensPerSecond' does not match name formatting rules.
Attribute 'metadata.ai.response.msToFinish' does not exist in the registry.
Attribute 'metadata.ai.response.msToFinish' does not match name formatting rules.
Attribute 'metadata.ai.response.msToFirstChunk' does not exist in the registry.
Attribute 'metadata.ai.response.msToFirstChunk' does not match name formatting rules.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'operation.name' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.
Attribute 'tool.name' does not exist in the registry.
Attribute 'tool.parameters' does not exist in the registry.
Attribute 'tool_call.id' does not exist in the registry.
Enum attribute 'gen_ai.system' has value 'openai.chat' which is not documented.

Vercel AI SDK (JS) — Prototype

Entities: 3 spans, 1 log, 2 resources, 42 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
✓
gen_ai.response.id ×4
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (17):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Vertex AI (Python) — OTel Contrib

Entities: 3 spans, 3 resources, 51 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (7):
gen_ai.completion.0.content ×3
gen_ai.completion.0.role ×3
gen_ai.prompt.0.content ×3
gen_ai.prompt.0.role ×3
gen_ai.system ×3
llm.request.type ×3
llm.usage.total_tokens ×3

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (12):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Enum attribute 'gen_ai.system' has value 'Google' which is not documented.

Vertex AI (Python) — OpenInference

Instrumentation: Arize-ai/openinference — 0.1.12
Entities: 3 spans, 3 resources, 66 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
–
gen_ai.request.model
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
–
gen_ai.response.model
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (16):
input.mime_type ×3
input.value ×3
llm.input_messages.0.message.contents.0.message_content.text ×3
llm.input_messages.0.message.role ×3
llm.invocation_parameters ×3
llm.model_name ×3
llm.output_messages.0.message.contents.0.message_content.text ×3
llm.output_messages.0.message.role ×3
llm.provider ×3
llm.system ×3
llm.token_count.completion ×3
llm.token_count.prompt ×3
llm.token_count.total ×3
openinference.span.kind ×3
output.mime_type ×3
output.value ×3

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (16):
Attribute 'input.mime_type' does not exist in the registry.
Attribute 'input.value' does not exist in the registry.
Attribute 'llm.input_messages.0.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.input_messages.0.message.role' does not exist in the registry.
Attribute 'llm.invocation_parameters' does not exist in the registry.
Attribute 'llm.model_name' does not exist in the registry.
Attribute 'llm.output_messages.0.message.contents.0.message_content.text' does not exist in the registry.
Attribute 'llm.output_messages.0.message.role' does not exist in the registry.
Attribute 'llm.provider' does not exist in the registry.
Attribute 'llm.system' does not exist in the registry.
Attribute 'llm.token_count.completion' does not exist in the registry.
Attribute 'llm.token_count.prompt' does not exist in the registry.
Attribute 'llm.token_count.total' does not exist in the registry.
Attribute 'openinference.span.kind' does not exist in the registry.
Attribute 'output.mime_type' does not exist in the registry.
Attribute 'output.value' does not exist in the registry.

Vertex AI (Python) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.57.0
Entities: 3 spans, 3 resources, 51 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×3
✓
gen_ai.usage.output_tokens ×3
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (7):
gen_ai.completion.0.content ×3
gen_ai.completion.0.role ×3
gen_ai.prompt.0.content ×3
gen_ai.prompt.0.role ×3
gen_ai.system ×3
llm.request.type ×3
llm.usage.total_tokens ×3

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Violations (12):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Enum attribute 'gen_ai.system' has value 'Google' which is not documented.

Vertex AI (Python) — Prototype

Entities: 3 spans, 1 log, 4 resources, 52 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
–
gen_ai.response.id
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Metrics (2):
otel.sdk.span.live ×2
otel.sdk.span.started ×2

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
–
gen_ai.response.id
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (19):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'gen_ai.provider.name' has value 'vertex_ai' which is not documented.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.id' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.

Vertex AI (JS) — OpenLLMetry

Instrumentation: traceloop/openllmetry — 0.25.0
Entities: 3 spans, 1 resource, 36 attributes
Inference Attributes
Required
–
gen_ai.operation.name
–
gen_ai.provider.name
✓
gen_ai.system ×3
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×3
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
–
gen_ai.response.finish_reasons
–
gen_ai.response.id
✓
gen_ai.response.model ×3
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
–
gen_ai.usage.input_tokens
–
gen_ai.usage.output_tokens
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
–
gen_ai.tool.definitions

Non-registry attributes (10):
gen_ai.completion.0.content ×3
gen_ai.completion.0.finish_reason ×3
gen_ai.completion.0.role ×3
gen_ai.prompt.0.content ×1
gen_ai.prompt.0.role ×1
gen_ai.system ×3
gen_ai.usage.completion_tokens ×3
gen_ai.usage.prompt_tokens ×3
llm.request.type ×3
llm.usage.total_tokens ×3

Violations (16):
Attribute 'gen_ai.completion.0.content' does not exist in the registry.
Attribute 'gen_ai.completion.0.finish_reason' does not exist in the registry.
Attribute 'gen_ai.completion.0.role' does not exist in the registry.
Attribute 'gen_ai.prompt.0.content' does not exist in the registry.
Attribute 'gen_ai.prompt.0.role' does not exist in the registry.
Attribute 'gen_ai.system' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.provider.name`.'.
Attribute 'gen_ai.usage.completion_tokens' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.usage.output_tokens`.'.
Attribute 'gen_ai.usage.prompt_tokens' is deprecated; reason = 'renamed', note = 'Replaced by `gen_ai.usage.input_tokens`.'.
Attribute 'llm.request.type' does not exist in the registry.
Attribute 'llm.usage.total_tokens' does not exist in the registry.
Attribute name 'gen_ai.completion.0.content' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.finish_reason' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.completion.0.role' collides with existing namespace 'gen_ai'
Attribute name 'gen_ai.prompt.0.content' collides with existing namespace 'gen_ai.prompt'
Attribute name 'gen_ai.prompt.0.role' collides with existing namespace 'gen_ai.prompt'
Enum attribute 'gen_ai.system' has value 'Google' which is not documented.

Vertex AI (JS) — Prototype

Entities: 3 spans, 1 log, 2 resources, 38 attributes
Inference Attributes
Required
✓
gen_ai.operation.name ×4
✓
gen_ai.provider.name ×3
–
gen_ai.system
Conditionally Required
–
error.type
–
gen_ai.conversation.id
–
gen_ai.output.type
–
gen_ai.request.choice.count
✓
gen_ai.request.model ×4
–
gen_ai.request.seed
–
server.port
Recommended
–
gen_ai.request.frequency_penalty
–
gen_ai.request.max_tokens
–
gen_ai.request.presence_penalty
–
gen_ai.request.stop_sequences
–
gen_ai.request.temperature
–
gen_ai.request.top_k
–
gen_ai.request.top_p
✓
gen_ai.response.finish_reasons ×4
–
gen_ai.response.id
✓
gen_ai.response.model ×4
–
gen_ai.usage.cache_creation.input_tokens
–
gen_ai.usage.cache_read.input_tokens
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address
Opt-In
–
gen_ai.input.messages
–
gen_ai.output.messages
–
gen_ai.system_instructions
✓
gen_ai.tool.definitions ×1

Events (1):
gen_ai.client.inference.operation.details ×1
Inference Operation Details Event Attributes
Required
✓
gen_ai.operation.name ×4
Conditionally Required
–
error.type
✓
gen_ai.request.model ×4
–
server.port
Recommended
✓
gen_ai.input.messages ×1
✓
gen_ai.output.messages ×1
✓
gen_ai.response.finish_reasons ×4
–
gen_ai.response.id
✓
gen_ai.response.model ×4
–
gen_ai.system_instructions
–
gen_ai.tool.definitions
✓
gen_ai.usage.input_tokens ×4
✓
gen_ai.usage.output_tokens ×4
–
server.address

Violations (19):
Conditionally required attribute 'error.type' is not present.
Conditionally required attribute 'gen_ai.conversation.id' is not present.
Conditionally required attribute 'gen_ai.output.type' is not present.
Conditionally required attribute 'gen_ai.request.choice.count' is not present.
Conditionally required attribute 'gen_ai.request.seed' is not present.
Conditionally required attribute 'server.port' is not present.
Enum attribute 'gen_ai.provider.name' has value 'vertex_ai' which is not documented.
Opt-in attribute 'gen_ai.system_instructions' is not present.
Opt-in attribute 'gen_ai.tool.definitions' is not present.
Recommended attribute 'gen_ai.request.frequency_penalty' is not present.
Recommended attribute 'gen_ai.request.max_tokens' is not present.
Recommended attribute 'gen_ai.request.presence_penalty' is not present.
Recommended attribute 'gen_ai.request.stop_sequences' is not present.
Recommended attribute 'gen_ai.request.temperature' is not present.
Recommended attribute 'gen_ai.request.top_p' is not present.
Recommended attribute 'gen_ai.response.id' is not present.
Recommended attribute 'gen_ai.usage.cache_creation.input_tokens' is not present.
Recommended attribute 'gen_ai.usage.cache_read.input_tokens' is not present.
Recommended attribute 'server.address' is not present.