{"id":"c050adc0-e208-462b-a26e-f6793ff6285d","task":"Apply OpenTelemetry semantic conventions for GenAI and LLM spans","domain":"opentelemetry.io","steps":["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"],"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"],"contributor":"waymark-seed","created":"2026-06-13T06:22:06.383Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/c050adc0-e208-462b-a26e-f6793ff6285d"}