Telemetry and the SDK
as of v1.44.0Telemetry describing itself: the service and SDK that emitted it, and the log and event plumbing.
otel 12log 7service 7telemetry 5event 1opentracing 1state 1
- attributes
- 34
- metrics
- 23
- signals
- 6
- stable
- 14
- deprecated
- 4
Signals
What this domain emits, and the attributes each one carries, most strongly required first. An attribute marked * is required on that signal; * is conditionally required.
Entities 6
- otel.scopeDeprecatedAttributes used by non-OTLP exporters to represent OpenTelemetry Scope's concepts.
- serviceStableA logical unit of an application or system that performs a specific function.
- service.instanceStableA unique instance of a logical service.
- service.namespaceStableGroups related services that compose a system or application under a common namespace.
- telemetry.distroStableThe distribution of telemetry SDK used to capture data recorded by the instrumentation libraries.
- telemetry.sdkStableThe telemetry SDK used to capture data recorded by the instrumentation libraries.
telemetry.sdk.language*telemetry.sdk.name*telemetry.sdk.version*
Metrics 23
- otel.sdk.exporter.log.exportedDevelopmentcounter · {log_record}The number of log records for which the export has finished, either successful or failed.
- otel.sdk.exporter.log.inflightDevelopmentupdowncounter · {log_record}The number of log records which were passed to the exporter, but that have not been exported yet (neither successful, nor failed).
- otel.sdk.exporter.metric_data_point.exportedDevelopmentcounter · {data_point}The number of metric data points for which the export has finished, either successful or failed.
- otel.sdk.exporter.metric_data_point.inflightDevelopmentupdowncounter · {data_point}The number of metric data points which were passed to the exporter, but that have not been exported yet (neither successful, nor failed).
- otel.sdk.exporter.operation.durationDevelopmenthistogram · sThe duration of exporting a batch of telemetry records.
- otel.sdk.exporter.span.exportedDevelopmentcounter · {span}The number of spans for which the export has finished, either successful or failed.
- otel.sdk.exporter.span.exported.countDeprecatedupdowncounter · {span}Deprecated, use otel.sdk.exporter.span.exported instead.
- otel.sdk.exporter.span.inflightDevelopmentupdowncounter · {span}The number of spans which were passed to the exporter, but that have not been exported yet (neither successful, nor failed).
- otel.sdk.exporter.span.inflight.countDeprecatedupdowncounter · {span}Deprecated, use otel.sdk.exporter.span.inflight instead.
- otel.sdk.log.createdDevelopmentcounter · {log_record}The number of logs submitted to enabled SDK Loggers.
- otel.sdk.metric_reader.collection.durationDevelopmenthistogram · sThe duration of the collect operation of the metric reader.
- otel.sdk.processor.log.processedDevelopmentcounter · {log_record}The number of log records for which the processing has finished, either successful or failed.
- otel.sdk.processor.log.queue.capacityDevelopmentupdowncounter · {log_record}The maximum number of log records the queue of a given instance of an SDK Log Record processor can hold.
- otel.sdk.processor.log.queue.sizeDevelopmentupdowncounter · {log_record}The number of log records in the queue of a given instance of an SDK log processor.
- otel.sdk.processor.span.processedDevelopmentcounter · {span}The number of spans for which the processing has finished, either successful or failed.
- otel.sdk.processor.span.processed.countDeprecatedupdowncounter · {span}Deprecated, use otel.sdk.processor.span.processed instead.
- otel.sdk.processor.span.queue.capacityDevelopmentupdowncounter · {span}The maximum number of spans the queue of a given instance of an SDK span processor can hold.
- otel.sdk.processor.span.queue.sizeDevelopmentupdowncounter · {span}The number of spans in the queue of a given instance of an SDK span processor.
- otel.sdk.span.endedDeprecatedcounter · {span}Use otel.sdk.span.started minus otel.sdk.span.live to derive this value.
- otel.sdk.span.ended.countDeprecatedcounter · {span}Use otel.sdk.span.started minus otel.sdk.span.live to derive this value.
- otel.sdk.span.liveDevelopmentupdowncounter · {span}The number of created spans with recording=true for which the end operation has not been called yet.
- otel.sdk.span.live.countDeprecatedupdowncounter · {span}Deprecated, use otel.sdk.span.live instead.
- otel.sdk.span.startedDevelopmentcounter · {span}The number of created spans.
Specification
- Metricsare bound by the metrics specification — 548 requirements across 8 documents, 279 of them MUST or SHALL.
- Entitiesare bound by the entities specification — 53 requirements across 3 documents, 23 of them MUST or SHALL.
Requirements that name this domain 43
The fetcher MUST follow the HTTP standard and honour the redirect response and fetch the file from the redirected URL.
The schema file that corresponds to the new version MUST be retrievable at a new URL.
Each implementation MUST document the concurrency characteristics the SDK requires of the exporter.
This tuple SHOULD uniquely identify the logical unit of software that emits the telemetry.
The instrumentation scope's name SHOULD be specified to identify the
InstrumentationScopename.The instrumentation scope's optional Schema URL SHOULD identify the Telemetry Schema that the instrumentation's emitted telemetry conforms to.
Exporters to formats that don't have a concept that is equivalent to the Scope SHOULD record the attributes at the most suitable place in their corresponding format, typically at the Span, Metric or LogRecord equivalent.
It SHOULD NOT be supported by new implementations.
On the wire, this lands in metrics/v1/metrics, resource/v1/resource. Field-by-field definitions are under OTLP.
Attributes 34
otel12 attributes
- otel.component.nameDevelopmentA name uniquely identifying the instance of the OpenTelemetry component within its containing SDK instance.
- otel.component.typeDevelopmentA name identifying the type of the OpenTelemetry component.
- otel.event.nameStableIdentifies the class / type of event.
- otel.library.name
- otel.library.version
- otel.scope.nameStableThe name of the instrumentation scope - (InstrumentationScope.Name in OTLP).
- otel.scope.schema_urlDevelopmentThe schema URL of the instrumentation scope.
- otel.scope.versionStableThe version of the instrumentation scope - (InstrumentationScope.Version in OTLP).
- otel.span.parent.originDevelopmentDetermines whether the span has a parent span, and if so, whether it is a remote parent
- otel.span.sampling_resultDevelopmentThe result value of the sampler for this span
- otel.status_codeStableName of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
- otel.status_descriptionStableDescription of the Status if it has a value, otherwise not set.
log7 attributes
- log.file.nameDevelopmentThe basename of the file.
- log.file.name_resolvedDevelopmentThe basename of the file, with symlinks resolved.
- log.file.pathDevelopmentThe full path to the file.
- log.file.path_resolvedDevelopmentThe full path to the file, with symlinks resolved.
- log.iostreamDevelopmentThe stream associated with the log. See below for a list of well-known values.
- log.record.originalDevelopmentThe complete original Log Record.
- log.record.uidDevelopmentA unique identifier for the Log Record.
service7 attributes
- service.criticalityAlphaThe operational criticality of the service.
- service.instance.idStableThe string ID of the service instance.
- service.nameStableLogical name of the service.
- service.namespaceStableA namespace for service.name.
- service.peer.nameDevelopmentLogical name of the service on the other side of the connection. SHOULD be equal to the actual service.name resource attribute of the remote service if any.
- service.peer.namespaceDevelopmentLogical namespace of the service on the other side of the connection. SHOULD be equal to the actual service.namespace resource attribute of the remote service i
- service.versionStableThe version string of the service component. The format is not defined by these conventions.
telemetry5 attributes
- telemetry.distro.nameStableThe name of the auto instrumentation agent or distribution, if used.
- telemetry.distro.versionStableThe version string of the auto instrumentation agent or distribution, if used.
- telemetry.sdk.languageStableThe language of the telemetry SDK.
- telemetry.sdk.nameStableThe name of the telemetry SDK as defined above.
- telemetry.sdk.versionStableThe version string of the telemetry SDK.
event1 attributes
- event.nameDeprecatedIdentifies the class / type of event.
opentracing1 attributes
- opentracing.ref_typeDevelopmentParent-child Reference type
state1 attributes
Recent changes
Breaking and notable changes to this domain across the last 6 semantic-conventions releases.
- enumattributetelemetry.sdk.languageEnum members changed (12 to 13).
- deprecatedsignalevent.gen_ai.client.inference.operation.detailsMoved to the OpenTelemetry GenAI semantic conventions repository.
- deprecatedsignalevent.gen_ai.client.operation.exceptionMoved to the OpenTelemetry GenAI semantic conventions repository.
- deprecatedsignalevent.gen_ai.evaluation.resultMoved to the OpenTelemetry GenAI semantic conventions repository.
- stabilityattributeotel.event.namePromoted to stable.
- stabilityattributetelemetry.distro.namePromoted to stable.
- stabilityattributetelemetry.distro.versionPromoted to stable.
- deprecatedsignalevent.rpc.messageDeprecated, no replacement at this time.
- stabilityattributeservice.instance.idPromoted to stable.
- stabilityattributeservice.namespacePromoted to stable.
Topics are this site's grouping of upstream namespaces, not a structure the OpenTelemetry project publishes. JSON · All domains