Review the current GenAI semantic conventions specification in the OTel repository and note which attributes are stable vs experimental
Set the gen_ai.system attribute to identify the LLM provider and the gen_ai.request.model attribute for the model identifier
Record token usage on the span using the gen_ai.usage.input_tokens and gen_ai.usage.output_tokens attributes
Capture the operation type using the gen_ai.operation.name attribute to distinguish chat completions from embeddings or other calls
Create metrics derived from these spans (token rate, latency per token) to build an LLM observability dashboard
Known gotchas
GenAI semantic conventions are evolving; attribute names may differ between OTel specification versions, so pin your instrumentation library version to the spec version your backend expects
Prompt and completion content should not be included in spans by default due to data privacy concerns; treat prompt capture as an opt-in feature with explicit PII review
LLM calls can be long-running; ensure your span timeout and sampling configuration account for multi-second or multi-minute inference durations
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp