Expand description
ratel-ai-telemetry — the ratel.* telemetry vocabulary.
See README.md and the wire contract in ../CONVENTIONS.md for design.
Enums§
- Auth
Outcome - Outcome of an MCP auth flow. Emitted as
ratel.auth.outcome;needs_authis the 401-drivenAuthNeedscase (ADR-0007auth_needs). - Experiment
ArmOutcome - Completion outcome of one experiment-arm dispatch.
- Experiment
ArmRole - Immutable role assigned when an experiment arm is dispatched.
- Experiment
Drop Reason - Terminal reason a peer-eligible shadow produced no comparison.
- Experiment
Skip Reason - Reason a requested shadow dispatch did not start.
- Origin
- Where a
ratel.*span’s search came from. Emitted as theratel.originattribute; mirrors the local traceOrigin(ADR-0007). - Search
Target - What a
ratel.searchspan was searching. Emitted asratel.search.target; folds capability-tool search, skill search, and fact search into one span shape.
Constants§
- CAPTURE_
CONTENT_ ENV - The ecosystem instrumentation env var gating message/tool content capture.
Default off; the standard OTel gen_ai gate rather than a Ratel-invented flag
(CONVENTIONS.md § Capture gating). This crate is constants-only — the TS/Python
init()helpers read it. Values: legacy boolean, or the enumNO_CONTENT(default) /SPAN_ONLY/EVENT_ONLY/SPAN_AND_EVENT. - EXECUTE_
TOOL execute_tool— thegen_ai.operation.namevalue for a tool invocation.- EXPERIMENTAL_
CATALOG_ DEFINITIONS_ ENV - Ratel-specific opt-in for the experimental catalog-definition event. The generic content-capture gate must also allow EventRecord content.
- GEN_
AI_ INFERENCE_ DETAILS gen_ai.client.inference.operation.details— inference request/response content.- GEN_
AI_ INPUT_ MESSAGES gen_ai.input.messages— the input message list (Opt-In content).- GEN_
AI_ OPERATION_ NAME gen_ai.operation.name— set toEXECUTE_TOOLfor a tool invocation.- GEN_
AI_ OUTPUT_ MESSAGES gen_ai.output.messages— generated outputs; every message includesfinish_reason.- GEN_
AI_ SYSTEM_ INSTRUCTIONS gen_ai.system_instructions— the system prompt as a bareparts[](Opt-In content).- GEN_
AI_ TOOL_ CALL_ ARGUMENTS gen_ai.tool.call.arguments— tool arguments (Opt-In content, gated).- GEN_
AI_ TOOL_ CALL_ ID gen_ai.tool.call.id— tool call id, when available.- GEN_
AI_ TOOL_ CALL_ RESULT gen_ai.tool.call.result— tool result (Opt-In content, gated).- GEN_
AI_ TOOL_ NAME gen_ai.tool.name— the capability tool id.- RATEL_
AUTH_ FLOW ratel.auth.flow— MCP auth flow.- RATEL_
AUTH_ OUTCOME ratel.auth.outcome—ok/refreshed/needs_auth/failed(seeAuthOutcome).- RATEL_
CATALOG_ CONTENT_ HASH ratel.catalog.content_hash— canonical definition SHA-256.- RATEL_
CATALOG_ DEFINITION ratel.catalog.definition— experimental, opt-in complete catalog definition event.- RATEL_
CATALOG_ DESCRIPTION ratel.catalog.description— model-facing catalog entry description.- RATEL_
CATALOG_ ID ratel.catalog.id— stable catalog entry id.- RATEL_
CATALOG_ INPUT_ SCHEMA ratel.catalog.input_schema— canonical JSON tool input schema.- RATEL_
CATALOG_ KIND ratel.catalog.kind—tool,skill, orfact.- RATEL_
CATALOG_ NAME ratel.catalog.name— model-facing catalog entry name.- RATEL_
CATALOG_ OUTPUT_ SCHEMA ratel.catalog.output_schema— canonical JSON tool output schema.- RATEL_
CATALOG_ SCHEMA_ OMITTED ratel.catalog.schema_omitted— one or more oversized schema attributes were omitted.- RATEL_
CATALOG_ SEARCHABLE_ DESCRIPTION ratel.catalog.searchable_description— effective searchable description.- RATEL_
CATALOG_ SEARCHABLE_ DESCRIPTION_ OVERRIDDEN ratel.catalog.searchable_description_overridden— whether an override is set.- RATEL_
CATALOG_ TAGS ratel.catalog.tags— search tags; empty for tools.- RATEL_
CATALOG_ USE_ DEFINITION_ OVERRIDES ratel.catalog.use_definition_overrides— runtime opted into externally-sourced definition overrides.- RATEL_
EVENT_ ID ratel.event.id— runtime-event/OTel deduplication and join key.- RATEL_
EXPERIMENT_ AGREEMENT_ EXACT_ ORDER ratel.experiment.agreement.exact_order— whether complete ordered ids agree.- RATEL_
EXPERIMENT_ AGREEMENT_ ITEM_ ATTRS ratel.experiment.agreement.item_attrs— rank-zero shared-key agreement map.- RATEL_
EXPERIMENT_ AGREEMENT_ JACCARD_ AT_ K ratel.experiment.agreement.jaccard_at_k— rank-window Jaccard agreement.- RATEL_
EXPERIMENT_ AGREEMENT_ K ratel.experiment.agreement.k— rank window used for Jaccard.- RATEL_
EXPERIMENT_ AGREEMENT_ OVERLAP_ COUNT ratel.experiment.agreement.overlap_count— complete-set overlap count.- RATEL_
EXPERIMENT_ AGREEMENT_ RESULT_ ATTRS ratel.experiment.agreement.result_attrs— result-level union-key agreement map.- RATEL_
EXPERIMENT_ AGREEMENT_ TOP1 ratel.experiment.agreement.top1— whether first ranked ids agree.- RATEL_
EXPERIMENT_ ARM ratel.experiment.arm— one serving or shadow experiment-arm dispatch.- RATEL_
EXPERIMENT_ ARM_ BAGGAGE_ KEY - Baggage key matching
RATEL_EXPERIMENT_ARM. - RATEL_
EXPERIMENT_ COLD ratel.experiment.cold— whether warmup was unresolved when selection began.- RATEL_
EXPERIMENT_ COMPARISON ratel.experiment.comparison— one shadow-vs-served comparison.- RATEL_
EXPERIMENT_ DROP ratel.experiment.drop— one peer comparison that could not be emitted.- RATEL_
EXPERIMENT_ DROP_ REASON ratel.experiment.drop.reason— comparison drop reason (seeExperimentDropReason).- RATEL_
EXPERIMENT_ DURATION_ MS ratel.experiment.duration_ms— arm callback duration in milliseconds.- RATEL_
EXPERIMENT_ EFFECTIVE_ ARM ratel.experiment.effective_arm— caller-visible arm after fallback.- RATEL_
EXPERIMENT_ FALLBACK ratel.experiment.fallback— one successful fallback selection.- RATEL_
EXPERIMENT_ FALLBACK_ EFFECTIVE_ ARM ratel.experiment.fallback.effective_arm— fallback arm that served.- RATEL_
EXPERIMENT_ FALLBACK_ REUSED_ SHADOW ratel.experiment.fallback.reused_shadow— whether fallback reused admitted shadow work.- RATEL_
EXPERIMENT_ HIT_ COUNT ratel.experiment.hit_count— ranked result count when ranking succeeds.- RATEL_
EXPERIMENT_ ID ratel.experiment.id— configured experiment id.- RATEL_
EXPERIMENT_ ID_ BAGGAGE_ KEY - Baggage key matching
RATEL_EXPERIMENT_ID. - RATEL_
EXPERIMENT_ INVOCATION ratel.experiment.invocation— attributed or unattributed tool invocation.- RATEL_
EXPERIMENT_ INVOCATION_ AGE_ MS ratel.experiment.invocation.age_ms— selection age at invocation report time.- RATEL_
EXPERIMENT_ INVOCATION_ ATTRIBUTED ratel.experiment.invocation.attributed— whether an invocation matched a selection.- RATEL_
EXPERIMENT_ INVOCATION_ RANK ratel.experiment.invocation.rank— zero-based first rank, or -1 when absent.- RATEL_
EXPERIMENT_ OUTCOME ratel.experiment.outcome— arm completion attr and reported-outcome EventRecord name.- RATEL_
EXPERIMENT_ OUTCOME_ LABEL ratel.experiment.outcome.label— free non-empty reported outcome label.- RATEL_
EXPERIMENT_ OUTCOME_ SCORE ratel.experiment.outcome.score— finite reported outcome score.- RATEL_
EXPERIMENT_ RANKING_ ERROR ratel.experiment.ranking_error— error type when ranking projection fails.- RATEL_
EXPERIMENT_ RESULTS ratel.experiment.results— ranked measurement for one experiment arm.- RATEL_
EXPERIMENT_ RESULT_ ATTRIBUTES_ ERROR ratel.experiment.result_attributes_error— result-level projection error type.- RATEL_
EXPERIMENT_ RESULT_ ATTRS ratel.experiment.result_attrs— capture-gated item attrs aligned to result ids.- RATEL_
EXPERIMENT_ RESULT_ ATTRS_ ENCODING_ ERROR ratel.experiment.result_attrs_encoding_error— item-attribute encoding error type.- RATEL_
EXPERIMENT_ RESULT_ IDS ratel.experiment.result_ids— ordered ranked result identifiers.- RATEL_
EXPERIMENT_ RESULT_ SCORES ratel.experiment.result_scores— ordered finite scores when every item has one.- RATEL_
EXPERIMENT_ ROLE ratel.experiment.role— immutable dispatch role (seeExperimentArmRole).- RATEL_
EXPERIMENT_ ROLE_ BAGGAGE_ KEY - Baggage key matching
RATEL_EXPERIMENT_ROLE. - RATEL_
EXPERIMENT_ SELECTION_ ID ratel.experiment.selection_id— opaque selection correlation id.- RATEL_
EXPERIMENT_ SELECTION_ ID_ BAGGAGE_ KEY - Baggage key matching
RATEL_EXPERIMENT_SELECTION_ID. - RATEL_
EXPERIMENT_ SERVED_ ARM ratel.experiment.served.arm— effective served arm in a peer comparison.- RATEL_
EXPERIMENT_ SERVED_ DURATION_ MS ratel.experiment.served.duration_ms— effective served arm callback duration.- RATEL_
EXPERIMENT_ SERVED_ HIT_ COUNT ratel.experiment.served.hit_count— effective served ranking size.- RATEL_
EXPERIMENT_ SERVED_ OUTCOME ratel.experiment.served.outcome— effective served arm outcome.- RATEL_
EXPERIMENT_ SHADOW_ ARM ratel.experiment.shadow.arm— compared shadow arm.- RATEL_
EXPERIMENT_ SHADOW_ DURATION_ MS ratel.experiment.shadow.duration_ms— compared shadow arm callback duration.- RATEL_
EXPERIMENT_ SHADOW_ HIT_ COUNT ratel.experiment.shadow.hit_count— compared shadow ranking size.- RATEL_
EXPERIMENT_ SHADOW_ OUTCOME ratel.experiment.shadow.outcome— compared shadow arm outcome.- RATEL_
EXPERIMENT_ SKIP ratel.experiment.skip— one shadow dispatch skipped for capacity.- RATEL_
EXPERIMENT_ SKIP_ ARM ratel.experiment.skip.arm— shadow arm skipped for capacity.- RATEL_
EXPERIMENT_ SKIP_ CONCURRENCY ratel.experiment.skip.concurrency— configured shadow concurrency.- RATEL_
EXPERIMENT_ SKIP_ REASON ratel.experiment.skip.reason— skip reason (seeExperimentSkipReason).- RATEL_
EXPERIMENT_ TURN ratel.experiment.turn— optional caller-supplied turn annotation.- RATEL_
EXPERIMENT_ UNIT ratel.experiment.unit— pseudonymous 16-hex unit hash.- RATEL_
EXPERIMENT_ UNIT_ BAGGAGE_ KEY - Baggage key matching
RATEL_EXPERIMENT_UNIT. - RATEL_
ORIGIN ratel.origin— direct library call vs agent-synthesized (shared attribute).- RATEL_
SEARCH ratel.search— capability search (unifies tool-search and skill-search).- RATEL_
SEARCH_ HIT_ COUNT ratel.search.hit_count— results returned.- RATEL_
SEARCH_ QUERY ratel.search.query— the search text (content, gated like message content).- RATEL_
SEARCH_ RESULTS ratel.search.results— Opt-In search-content event; gated like content.- RATEL_
SEARCH_ TARGET ratel.search.target—tool,skill, orfact(seeSearchTarget).- RATEL_
SEARCH_ TOP_ K ratel.search.top_k— requested result count.- RATEL_
SKILL_ ID ratel.skill.id— skill loaded on theratel.skill.loadspan.- RATEL_
SKILL_ LOAD ratel.skill.load— skill content load (get_skill_content).- RATEL_
TOOL_ ARGS_ SIZE_ BYTES ratel.tool.args_size_bytes— argument payload size on theexecute_toolspan.- RATEL_
TOOL_ EXECUTION_ DETAILS ratel.tool.execution.details— Opt-In structured tool arguments/result event.- RATEL_
UPSTREAM_ REGISTER ratel.upstream.register— upstream-MCP ingest.- RATEL_
UPSTREAM_ SERVER ratel.upstream.server— upstream MCP server backing a tool / auth flow.- RATEL_
UPSTREAM_ TOOL_ COUNT ratel.upstream.tool_count— tools ingested on register.- RATEL_
UPSTREAM_ TRANSPORT ratel.upstream.transport—stdio/http/sse/ …- SEMCONV_
VERSION - The pinned OpenTelemetry semantic-conventions version this vocabulary tracks
(the
gen_aigroup). The pin is the contract; consumers read against this exact version, never “latest”. Bumping it is a reviewed change with its own PR and, if the shape changed, a superseding ADR (CONVENTIONS.md § The pin).