All skills
confident-ai avatar

/deepeval-otel

@a26eb22
by Confident AIconfident-ai/deepeval19k stars
2,005

Export raw OpenTelemetry traces from an AI application to Confident AI's Observatory. TRIGGER when the user wants to send OpenTelemetry or OTLP traces/spans from an LLM app, agent, RAG pipeline, or chatbot to Confident AI; configure the Confident AI OTLP endpoint; set confident.span.* or confident.trace.* attributes; export AI-app traces without the deepeval Python package; wire an OTLPSpanExporter, OpenTelemetry Collector, or vendor-neutral OTel SDK to Confident AI; or pick the US vs EU OTLP endpoint. Language-agnostic: the mechanism is OTLP attribute keys plus an exporter endpoint. DO NOT TRIGGER for building DeepEval pytest eval suites, datasets, goldens, metrics, or deepeval test run (use the `deepeval` skill); for instrumenting with the DeepEval SDK's @observe decorator or framework integrations (use the `deepeval-tracing` skill); or for non-AI software such as web servers, CRUD backends, or infrastructure: the confident.* attributes describe AI components only.

Use this Skill: https://skilld.dev/gh/confident-ai/deepeval/deepeval-otel

This session only. Nothing lands on disk.

referencesgen-ai-fallbacks.md

≈422 tokens on demand. Your agent reads this file only when SKILL.md points to it.

GenAI Semantic-Convention Fallbacks

When a confident.* attribute is absent, Confident AI's exporter falls back to the standard OpenTelemetry GenAI semantic-convention attributes (gen_ai.*). This matters when the app is already instrumented by a GenAI-aware library that emits gen_ai.* spans — those spans carry useful data into Confident AI without any extra confident.* attributes.

Read this file only when the app already produces gen_ai.* spans. For new instrumentation, set confident.* attributes directly (see span-attributes.md).

Span-Type Inference

If confident.span.type is not set, the span type is inferred:

Condition Inferred confident.span.type
gen_ai.operation.name is chat, generate_content, or text_completion llm
gen_ai.tool.name is present tool
otherwise base

Attribute Fallback Table

When the confident.* key is absent, the exporter reads the gen_ai.* key:

confident.* attribute Falls back to gen_ai.*
confident.llm.model gen_ai.request.model
confident.llm.input_token_count gen_ai.usage.input_tokens
confident.llm.output_token_count gen_ai.usage.output_tokens
confident.tool.name gen_ai.tool.name

Guidance

  • confident.* attributes always win when both are present.
  • For new instrumentation, prefer explicit confident.* attributes — they map directly and unambiguously.
  • Rely on fallbacks only to avoid duplicating attributes an existing GenAI integration already emits. Do not add confident.* copies of gen_ai.* attributes the app already sets unless you need to override them.

Source: SKILL.md on GitHub

No alerts1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    The skill is safe. It provides instructions and code templates for instrumenting AI applications with OpenTelemetry to export traces to Confident AI's Observatory. It follows security best practices by recommending environment variables for API keys and providing clear guidance on excluding sensitive data from telemetry exports.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

Signed by skilld at a26eb22. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 9 hours ago.

Activeupdated last month
Other metadata
metadata
{
  "author": "Confident AI",
  "version": "1.0.0",
  "category": "observability",
  "tags": "opentelemetry, otel, otlp, tracing, confident-ai, observatory, spans",
  "compatibility": "Works with any OpenTelemetry SDK in any language. Requires a Confident AI account and `CONFIDENT_API_KEY`. Confident AI's OTLP endpoint is HTTP only — use OTLP/HTTP, not gRPC. Python examples assume `opentelemetry-sdk` and `opentelemetry-exporter-otlp-proto-http`."
}

README badge

README badge for confident-ai/deepeval/deepeval-otel