OpenAiTelemetry
The OpenAiTelemetry module defines OpenAI-specific telemetry attributes and a helper for adding them to a tracing span. It keeps the standard GenAI telemetry attributes and adds request and response metadata, such as response format, service tier, and system fingerprint, under the gen_ai.openai.* OpenTelemetry namespaces.
Models
AllAttributes type
Signature
type AllAttributes = Telemetry.AllAttributes & RequestAttributes & ResponseAttributes;OpenAiTelemetryAttributes type
The attributes used to describe telemetry in the context of Generative Artificial Intelligence (GenAI) Models requests and responses.
Details
These attributes follow the OpenTelemetry generative AI semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/
Signature
type OpenAiTelemetryAttributes = Simplify< Telemetry.GenAITelemetryAttributes & Telemetry.AttributesWithPrefix<RequestAttributes, "gen_ai.openai.request"> & Telemetry.AttributesWithPrefix<ResponseAttributes, "gen_ai.openai.request">>;RequestAttributes interface
Telemetry attributes which are part of the GenAI specification and are namespaced by gen_ai.openai.request.
Signature
interface RequestAttributes { readonly responseFormat?: (string & {}) | WellKnownResponseFormat | null; readonly serviceTier?: (string & {}) | WellKnownServiceTier | null;}ResponseAttributes interface
Telemetry attributes which are part of the GenAI specification and are namespaced by gen_ai.openai.response.
Signature
interface ResponseAttributes { readonly serviceTier?: string | null; readonly systemFingerprint?: string | null;}WellKnownResponseFormat type
The gen_ai.openai.request.response_format attribute has the following list of well-known values.
Details
If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Signature
type WellKnownResponseFormat = "json_object" | "json_schema" | "text";WellKnownServiceTier type
The gen_ai.openai.request.service_tier attribute has the following list of well-known values.
Details
If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Signature
type WellKnownServiceTier = "auto" | "default";Options
OpenAiTelemetryAttributeOptions type
Options accepted by addGenAIAnnotations, combining standard GenAI telemetry attributes with optional OpenAI request and response attributes.
Signature
type OpenAiTelemetryAttributeOptions = Telemetry.GenAITelemetryAttributeOptions & { openai?: { request?: RequestAttributes; response?: ResponseAttributes; };};Tracing
addGenAIAnnotations
Applies the specified OpenAI GenAI telemetry attributes to the provided Span.
When to use
Use to annotate an existing OpenTelemetry span with standard GenAI attributes plus OpenAI-specific request and response metadata.
Gotchas
Mutates the supplied Span in place.
See
OpenAiTelemetryAttributeOptionsfor the accepted telemetry attributesTelemetry.addGenAIAnnotations for the provider-neutral annotation helper
Signature
declare const addGenAIAnnotations: { (options: OpenAiTelemetryAttributeOptions): (span: Span) => void; (span: Span, options: OpenAiTelemetryAttributeOptions): void;};
All telemetry attributes which are part of the GenAI specification, including the OpenAI-specific attributes.