mirror of
https://github.com/andrewyng/openworker.git
synced 2026-11-04 21:37:21 +00:00
276 lines
6.8 KiB
JSON
276 lines
6.8 KiB
JSON
{
|
|
"version": "1",
|
|
"semconv_version": "1.41.0",
|
|
"sources": [
|
|
"https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-spans.md",
|
|
"https://langfuse.com/integrations/native/opentelemetry"
|
|
],
|
|
"notes": [
|
|
"OpenWorker operation names remain stable; only the listed GenAI attribute subset is pinned, not full GenAI instrumentation conformance.",
|
|
"Model/tool names require metadata capture; legacy prompt/completion keys require full capture.",
|
|
"Metric dimensions are only the explicitly marked finite enums; identity/name/content keys never become metric dimensions.",
|
|
"Typed and identity attributes are derived from validated records, never arbitrary metadata overrides."
|
|
],
|
|
"attributes": [
|
|
{
|
|
"constant": "SERVICE_NAME",
|
|
"key": "service.name",
|
|
"type": "string",
|
|
"capture": "resource",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "SERVICE_VERSION",
|
|
"key": "service.version",
|
|
"type": "string",
|
|
"capture": "resource",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "SERVICE_INSTANCE",
|
|
"key": "service.instance.id",
|
|
"type": "string",
|
|
"capture": "resource",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "ROLE",
|
|
"key": "openworker.role",
|
|
"type": "string",
|
|
"capture": "resource",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "DEPLOYMENT",
|
|
"key": "openworker.deployment",
|
|
"type": "string",
|
|
"capture": "resource",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "SCHEMA_VERSION",
|
|
"key": "openworker.schema.version",
|
|
"type": "string",
|
|
"capture": "resource",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "SEMCONV_VERSION",
|
|
"key": "openworker.semconv.version",
|
|
"type": "string",
|
|
"capture": "resource",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "OPERATION",
|
|
"key": "openworker.operation",
|
|
"type": "string",
|
|
"capture": "typed",
|
|
"metric_dimension": true
|
|
},
|
|
{
|
|
"constant": "OUTCOME",
|
|
"key": "openworker.outcome",
|
|
"type": "string",
|
|
"capture": "typed",
|
|
"metric_dimension": true
|
|
},
|
|
{
|
|
"constant": "PURPOSE",
|
|
"key": "openworker.model.purpose",
|
|
"type": "string",
|
|
"capture": "typed",
|
|
"metric_dimension": true
|
|
},
|
|
{
|
|
"constant": "DIRECTION",
|
|
"key": "direction",
|
|
"type": "string",
|
|
"capture": "typed",
|
|
"metric_dimension": true
|
|
},
|
|
{
|
|
"constant": "SESSION_HASH",
|
|
"key": "openworker.session.hash",
|
|
"type": "string",
|
|
"capture": "identity",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "ACTION_HASH",
|
|
"key": "openworker.action.hash",
|
|
"type": "string",
|
|
"capture": "identity",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "TURN_HASH",
|
|
"key": "openworker.turn.hash",
|
|
"type": "string",
|
|
"capture": "identity",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "CONVERSATION_ID",
|
|
"key": "gen_ai.conversation.id",
|
|
"type": "string",
|
|
"capture": "identity",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "SESSION_ID",
|
|
"key": "session.id",
|
|
"type": "string",
|
|
"capture": "identity",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "ATTEMPT",
|
|
"key": "openworker.attempt",
|
|
"type": "int",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "TIMING_KNOWN",
|
|
"key": "openworker.timing.known",
|
|
"type": "bool",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "INPUT_TOKENS",
|
|
"key": "gen_ai.usage.input_tokens",
|
|
"type": "int",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "OUTPUT_TOKENS",
|
|
"key": "gen_ai.usage.output_tokens",
|
|
"type": "int",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "CACHE_READ_TOKENS",
|
|
"key": "gen_ai.usage.cache_read.input_tokens",
|
|
"type": "int",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "CACHE_WRITE_TOKENS",
|
|
"key": "gen_ai.usage.cache_creation.input_tokens",
|
|
"type": "int",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "REASONING_TOKENS",
|
|
"key": "gen_ai.usage.reasoning.output_tokens",
|
|
"type": "int",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "RETURNED_BYTES",
|
|
"key": "openworker.tool.returned_bytes",
|
|
"type": "int",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "FIRST_OUTPUT",
|
|
"key": "openworker.model.first_output.duration",
|
|
"type": "double",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "GEN_AI_OPERATION",
|
|
"key": "gen_ai.operation.name",
|
|
"type": "string",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "OBSERVATION_TYPE",
|
|
"key": "langfuse.observation.type",
|
|
"type": "string",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "MODEL_NAME",
|
|
"key": "gen_ai.request.model",
|
|
"type": "string",
|
|
"capture": "metadata",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "TOOL_NAME",
|
|
"key": "gen_ai.tool.name",
|
|
"type": "string",
|
|
"capture": "metadata",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "SANDBOX_PROVIDER",
|
|
"key": "openworker.sandbox.provider",
|
|
"type": "string",
|
|
"capture": "metadata",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "SANDBOX_ENFORCEMENT",
|
|
"key": "openworker.sandbox.enforcement",
|
|
"type": "string",
|
|
"capture": "metadata",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "POLICY_DIGEST",
|
|
"key": "openworker.policy.digest",
|
|
"type": "string",
|
|
"capture": "metadata",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "PROMPT",
|
|
"key": "gen_ai.prompt",
|
|
"type": "string",
|
|
"capture": "full",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "COMPLETION",
|
|
"key": "gen_ai.completion",
|
|
"type": "string",
|
|
"capture": "full",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "TOOL_ARGUMENTS",
|
|
"key": "gen_ai.tool.call.arguments",
|
|
"type": "string",
|
|
"capture": "full",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "TOOL_RESULT",
|
|
"key": "gen_ai.tool.call.result",
|
|
"type": "string",
|
|
"capture": "full",
|
|
"metric_dimension": false
|
|
},
|
|
{
|
|
"constant": "ERROR_TYPE",
|
|
"key": "error.type",
|
|
"type": "string",
|
|
"capture": "typed",
|
|
"metric_dimension": false
|
|
}
|
|
]
|
|
}
|