Declarative Configuration

Complete reference for OpenTelemetry SDK declarative configuration schema types, properties, and constraints

Overview

OpenTelemetry supports declarative configuration through a standardized YAML/JSON schema that allows you to configure SDK behavior without writing code. This approach provides a consistent configuration experience across all languages that implement the specification.

Related Resources:

Enter text to filter configuration types by name
Showing 0 of 0 types

Declarative Configuration Schema

This page documents all configuration types for the OpenTelemetry SDK declarative configuration.

Stable Types

Aggregation

PropertyTypeDefault BehaviorDescription
base2_exponential_bucket_histogramBase2ExponentialBucketHistogramAggregationIf omitted, ignore.Configures the stream to collect data for the exponential histogram metric point, which uses a base-2 exponential formula to determine bucket boundaries and an integer scale parameter to control resolution. (See here for more details).
defaultDefaultAggregationIf omitted, ignore.Configures the stream to use the instrument kind to select an aggregation and advisory parameters to influence aggregation configuration parameters. (See here for more details).
dropDropAggregationIf omitted, ignore.Configures the stream to ignore/drop all instrument measurements. (See here for more details).
explicit_bucket_histogramExplicitBucketHistogramAggregationIf omitted, ignore.Configures the stream to collect data for the histogram metric point using a set of explicit boundary values for histogram bucketing. (See here for more details)
last_valueLastValueAggregationIf omitted, ignore.Configures the stream to collect data using the last measurement. (See here for more details).
sumSumAggregationIf omitted, ignore.Configures the stream to collect the arithmetic sum of measurement values. (See here for more details).

Constraints:

additionalProperties: false
minProperties: 1
maxProperties: 1

AlwaysOffSampler

No properties.

Constraints:

additionalProperties: false

AlwaysOnSampler

No properties.

Constraints:

additionalProperties: false

AttributeLimits

PropertyTypeDefault BehaviorConstraintsDescription
attribute_count_limitone of:
integer
null
If omitted or null, 128 is used.minimum: 0Configure max attribute count.
Value must be non-negative.
attribute_value_length_limitone of:
integer
null
If omitted or null, there is no limit.minimum: 0Configure max attribute value size.
Value must be non-negative.

Constraints:

additionalProperties: false

AttributeNameValue

PropertyTypeDefault BehaviorDescription
name*stringProperty is required and must be non-null.The attribute name.
typeAttributeTypeIf omitted, string is used.The attribute type.
value*oneOfProperty is required and must be non-null.The attribute value.
The type of value must match .type.

Constraints:

additionalProperties: false
required: ["name","value"]

AttributeType

This is an enum type.

ValueDescription
boolBoolean attribute value.
bool_arrayBoolean array attribute value.
doubleDouble attribute value.
double_arrayDouble array attribute value.
intInteger attribute value.
int_arrayInteger array attribute value.
stringString attribute value.
string_arrayString array attribute value.

B3MultiPropagator

No properties.

Constraints:

additionalProperties: false

B3Propagator

No properties.

Constraints:

additionalProperties: false

BaggagePropagator

No properties.

Constraints:

additionalProperties: false

Base2ExponentialBucketHistogramAggregation

PropertyTypeDefault BehaviorConstraintsDescription
max_scaleone of:
integer
null
If omitted or null, 20 is used.minimum: -10
maximum: 20
Configure the max scale factor.
max_sizeone of:
integer
null
If omitted or null, 160 is used.minimum: 2Configure the maximum number of buckets in each of the positive and negative ranges, not counting the special zero bucket.
record_min_maxone of:
boolean
null
If omitted or null, true is used.None.Configure whether or not to record min and max.

Constraints:

additionalProperties: false

BatchLogRecordProcessor

PropertyTypeDefault BehaviorConstraintsDescription
export_timeoutone of:
integer
null
If omitted or null, 30000 is used.minimum: 0Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
exporter*LogRecordExporterProperty is required and must be non-null.None.Configure exporter.
max_export_batch_sizeone of:
integer
null
If omitted or null, 512 is used.exclusiveMinimum: 0Configure maximum batch size. Value must be positive.
max_queue_sizeone of:
integer
null
If omitted or null, 2048 is used.exclusiveMinimum: 0Configure maximum queue size. Value must be positive.
schedule_delayone of:
integer
null
If omitted or null, 1000 is used.minimum: 0Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.

Constraints:

additionalProperties: false
required: ["exporter"]

BatchSpanProcessor

PropertyTypeDefault BehaviorConstraintsDescription
export_timeoutone of:
integer
null
If omitted or null, 30000 is used.minimum: 0Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
exporter*SpanExporterProperty is required and must be non-null.None.Configure exporter.
max_export_batch_sizeone of:
integer
null
If omitted or null, 512 is used.exclusiveMinimum: 0Configure maximum batch size. Value must be positive.
max_queue_sizeone of:
integer
null
If omitted or null, 2048 is used.exclusiveMinimum: 0Configure maximum queue size. Value must be positive.
schedule_delayone of:
integer
null
If omitted or null, 5000 is used.minimum: 0Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.

Constraints:

additionalProperties: false
required: ["exporter"]

CardinalityLimits

PropertyTypeDefault BehaviorConstraintsDescription
counterone of:
integer
null
If omitted or null, the value from .default is used.exclusiveMinimum: 0Configure default cardinality limit for counter instruments.
defaultone of:
integer
null
If omitted or null, 2000 is used.exclusiveMinimum: 0Configure default cardinality limit for all instrument types.
Instrument-specific cardinality limits take priority.
gaugeone of:
integer
null
If omitted or null, the value from .default is used.exclusiveMinimum: 0Configure default cardinality limit for gauge instruments.
histogramone of:
integer
null
If omitted or null, the value from .default is used.exclusiveMinimum: 0Configure default cardinality limit for histogram instruments.
observable_counterone of:
integer
null
If omitted or null, the value from .default is used.exclusiveMinimum: 0Configure default cardinality limit for observable_counter instruments.
observable_gaugeone of:
integer
null
If omitted or null, the value from .default is used.exclusiveMinimum: 0Configure default cardinality limit for observable_gauge instruments.
observable_up_down_counterone of:
integer
null
If omitted or null, the value from .default is used.exclusiveMinimum: 0Configure default cardinality limit for observable_up_down_counter instruments.
up_down_counterone of:
integer
null
If omitted or null, the value from .default is used.exclusiveMinimum: 0Configure default cardinality limit for up_down_counter instruments.

Constraints:

additionalProperties: false

ConsoleExporter

No properties.

Constraints:

additionalProperties: false

ConsoleMetricExporter

PropertyTypeDefault BehaviorDescription
default_histogram_aggregationExporterDefaultHistogramAggregationIf omitted, explicit_bucket_histogram is used.Configure default histogram aggregation.
temporality_preferenceExporterTemporalityPreferenceIf omitted, cumulative is used.Configure temporality preference.

Constraints:

additionalProperties: false

DefaultAggregation

No properties.

Constraints:

additionalProperties: false

Distribution

No properties.

Constraints:

additionalProperties: {"type":"object"}
minProperties: 1

DropAggregation

No properties.

Constraints:

additionalProperties: false

ExemplarFilter

This is an enum type.

ValueDescription
always_offExemplarFilter which makes no measurements eligible for being an Exemplar.
always_onExemplarFilter which makes all measurements eligible for being an Exemplar.
trace_basedExemplarFilter which makes measurements recorded in the context of a sampled parent span eligible for being an Exemplar.

ExplicitBucketHistogramAggregation

PropertyTypeDefault BehaviorConstraintsDescription
boundariesarray of numberIf omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.minItems: 0Configure bucket boundaries.
record_min_maxone of:
boolean
null
If omitted or null, true is used.None.Configure record min and max.

Constraints:

additionalProperties: false

ExporterDefaultHistogramAggregation

This is an enum type.

ValueDescription
base2_exponential_bucket_histogramUse base2 exponential histogram as the default aggregation for histogram instruments.
explicit_bucket_histogramUse explicit bucket histogram as the default aggregation for histogram instruments.

ExporterTemporalityPreference

This is an enum type.

ValueDescription
cumulativeUse cumulative aggregation temporality for all instrument types.
deltaUse delta aggregation for all instrument types except up down counter and asynchronous up down counter.
low_memoryUse delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.

GrpcTls

PropertyTypeDefault BehaviorDescription
ca_fileone of:
string
null
If omitted or null, system default certificate verification is used for secure connections.Configure certificate used to verify a server’s TLS credentials.
Absolute path to certificate file in PEM format.
cert_fileone of:
string
null
If omitted or null, mTLS is not used.Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
insecureone of:
boolean
null
If omitted or null, false is used.Configure client transport security for the exporter’s connection.
Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.
key_fileone of:
string
null
If omitted or null, mTLS is not used.Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.

Constraints:

additionalProperties: false

HttpTls

PropertyTypeDefault BehaviorDescription
ca_fileone of:
string
null
If omitted or null, system default certificate verification is used for secure connections.Configure certificate used to verify a server’s TLS credentials.
Absolute path to certificate file in PEM format.
cert_fileone of:
string
null
If omitted or null, mTLS is not used.Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
key_fileone of:
string
null
If omitted or null, mTLS is not used.Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.

Constraints:

additionalProperties: false

IncludeExclude

PropertyTypeDefault BehaviorConstraintsDescription
excludedarray of stringIf omitted, .included attributes are included.minItems: 1Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).
Values are evaluated to match as follows:
If the value exactly matches.
If the value matches the wildcard pattern, where ‘?’ matches any single character and ‘*’ matches any number of characters including none.
includedarray of stringIf omitted, all values are included.minItems: 1Configure list of value patterns to include.
Values are evaluated to match as follows:
If the value exactly matches.
If the value matches the wildcard pattern, where ‘?’ matches any single character and ‘*’ matches any number of characters including none.

Constraints:

additionalProperties: false

InstrumentType

This is an enum type.

ValueDescription
counterSynchronous counter instruments.
gaugeSynchronous gauge instruments.
histogramSynchronous histogram instruments.
observable_counterAsynchronous counter instruments.
observable_gaugeAsynchronous gauge instruments.
observable_up_down_counterAsynchronous up down counter instruments.
up_down_counterSynchronous up down counter instruments.

JaegerPropagator

No properties.

Constraints:

additionalProperties: false

LastValueAggregation

No properties.

Constraints:

additionalProperties: false

LoggerProvider

PropertyTypeDefault BehaviorConstraintsDescription
limitsLogRecordLimitsIf omitted, default values as described in LogRecordLimits are used.None.Configure log record limits. See also attribute_limits.
processors*array of LogRecordProcessorProperty is required and must be non-null.minItems: 1Configure log record processors.
logger_configurator/development
⚠ Experimental
ExperimentalLoggerConfiguratorIf omitted, all loggers use default values as described in ExperimentalLoggerConfig.None.Configure loggers.

Constraints:

additionalProperties: false
required: ["processors"]

LogRecordExporter

LogRecordExporter is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
consoleConsoleExporterIf omitted, ignore.Configure exporter to be console.
otlp_grpcOtlpGrpcExporterIf omitted, ignore.Configure exporter to be OTLP with gRPC transport.
otlp_httpOtlpHttpExporterIf omitted, ignore.Configure exporter to be OTLP with HTTP transport.
otlp_file/development
⚠ Experimental
ExperimentalOtlpFileExporterIf omitted, ignore.Configure exporter to be OTLP with file transport.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

LogRecordLimits

PropertyTypeDefault BehaviorConstraintsDescription
attribute_count_limitone of:
integer
null
If omitted or null, 128 is used.minimum: 0Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
attribute_value_length_limitone of:
integer
null
If omitted or null, there is no limit.minimum: 0Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.

Constraints:

additionalProperties: false

LogRecordProcessor

LogRecordProcessor is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
batchBatchLogRecordProcessorIf omitted, ignore.Configure a batch log record processor.
simpleSimpleLogRecordProcessorIf omitted, ignore.Configure a simple log record processor.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

MeterProvider

PropertyTypeDefault BehaviorConstraintsDescription
exemplar_filterExemplarFilterIf omitted, trace_based is used.None.Configure the exemplar filter.
readers*array of MetricReaderProperty is required and must be non-null.minItems: 1Configure metric readers.
viewsarray of ViewIf omitted, no views are registered.minItems: 1Configure views.
Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).
meter_configurator/development
⚠ Experimental
ExperimentalMeterConfiguratorIf omitted, all meters use default values as described in ExperimentalMeterConfig.None.Configure meters.

Constraints:

additionalProperties: false
required: ["readers"]

MetricProducer

MetricProducer is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
opencensusOpenCensusMetricProducerIf omitted, ignore.Configure metric producer to be opencensus.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

MetricReader

PropertyTypeDefault BehaviorDescription
periodicPeriodicMetricReaderIf omitted, ignore.Configure a periodic metric reader.
pullPullMetricReaderIf omitted, ignore.Configure a pull based metric reader.

Constraints:

additionalProperties: false
minProperties: 1
maxProperties: 1

NameStringValuePair

PropertyTypeDefault BehaviorDescription
name*stringProperty is required and must be non-null.The name of the pair.
value*one of:
string
null
Property must be present, but if null the behavior is dependent on usage context.The value of the pair.

Constraints:

additionalProperties: false
required: ["name","value"]

OpenCensusMetricProducer

No properties.

Constraints:

additionalProperties: false

OpenTelemetryConfiguration

PropertyTypeDefault BehaviorDescription
attribute_limitsAttributeLimitsIf omitted, default values as described in AttributeLimits are used.Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
disabledone of:
boolean
null
If omitted or null, false is used.Configure if the SDK is disabled or not.
distributionDistributionIf omitted, distribution defaults are used.Defines configuration parameters specific to a particular OpenTelemetry distribution or vendor.
This section provides a standardized location for distribution-specific settings
that are not part of the OpenTelemetry configuration model.
It allows vendors to expose their own extensions and general configuration options.
file_format*stringProperty is required and must be non-null.The file format version.
Represented as a string including the semver major, minor version numbers (and optionally the meta tag). For example: “0.4”, “1.0-rc.2”, “1.0” (after stable release).
(See here for more details).
The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema
log_levelSeverityNumberIf omitted, INFO is used.Configure the log level of the internal logger used by the SDK.
logger_providerLoggerProviderIf omitted, a noop logger provider is used.Configure logger provider.
meter_providerMeterProviderIf omitted, a noop meter provider is used.Configure meter provider.
propagatorPropagatorIf omitted, a noop propagator is used.Configure text map context propagators.
resourceResourceIf omitted, the default resource is used.Configure resource for all signals.
tracer_providerTracerProviderIf omitted, a noop tracer provider is used.Configure tracer provider.
instrumentation/development
⚠ Experimental
ExperimentalInstrumentationIf omitted, instrumentation defaults are used.Configure instrumentation.

Constraints:

additionalProperties: true
required: ["file_format"]

OpenTracingPropagator

No properties.

Constraints:

additionalProperties: false

OtlpGrpcExporter

PropertyTypeDefault BehaviorConstraintsDescription
compressionone of:
string
null
If omitted or null, none is used.None.Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
endpointone of:
string
null
If omitted or null, http://localhost:4317 is used.None.Configure endpoint.
headersarray of NameStringValuePairIf omitted, no headers are added.minItems: 1Configure headers. Entries have higher priority than entries from .headers_list.
If an entry’s .value is null, the entry is ignored.
headers_listone of:
string
null
If omitted or null, no headers are added.None.Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. (See here for more details).
timeoutone of:
integer
null
If omitted or null, 10000 is used.minimum: 0Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
tlsGrpcTlsIf omitted, system default TLS settings are used.None.Configure TLS settings for the exporter.

Constraints:

additionalProperties: false

OtlpGrpcMetricExporter

PropertyTypeDefault BehaviorConstraintsDescription
compressionone of:
string
null
If omitted or null, none is used.None.Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
default_histogram_aggregationExporterDefaultHistogramAggregationIf omitted, explicit_bucket_histogram is used.None.Configure default histogram aggregation.
endpointone of:
string
null
If omitted or null, http://localhost:4317 is used.None.Configure endpoint.
headersarray of NameStringValuePairIf omitted, no headers are added.minItems: 1Configure headers. Entries have higher priority than entries from .headers_list.
If an entry’s .value is null, the entry is ignored.
headers_listone of:
string
null
If omitted or null, no headers are added.None.Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. (See here for more details).
temporality_preferenceExporterTemporalityPreferenceIf omitted, cumulative is used.None.Configure temporality preference.
timeoutone of:
integer
null
If omitted or null, 10000 is used.minimum: 0Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
tlsGrpcTlsIf omitted, system default TLS settings are used.None.Configure TLS settings for the exporter.

Constraints:

additionalProperties: false

OtlpHttpEncoding

This is an enum type.

ValueDescription
jsonProtobuf JSON encoding.
protobufProtobuf binary encoding.

OtlpHttpExporter

PropertyTypeDefault BehaviorConstraintsDescription
compressionone of:
string
null
If omitted or null, none is used.None.Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
encodingOtlpHttpEncodingIf omitted, protobuf is used.None.Configure the encoding used for messages.
Implementations may not support json.
endpointone of:
string
null
If omitted or null, the http://localhost:4318/v1/{signal} (where signal is ’traces’, ’logs’, or ‘metrics’) is used.None.Configure endpoint, including the signal specific path.
headersarray of NameStringValuePairIf omitted, no headers are added.minItems: 1Configure headers. Entries have higher priority than entries from .headers_list.
If an entry’s .value is null, the entry is ignored.
headers_listone of:
string
null
If omitted or null, no headers are added.None.Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. (See here for more details).
timeoutone of:
integer
null
If omitted or null, 10000 is used.minimum: 0Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
tlsHttpTlsIf omitted, system default TLS settings are used.None.Configure TLS settings for the exporter.

Constraints:

additionalProperties: false

OtlpHttpMetricExporter

PropertyTypeDefault BehaviorConstraintsDescription
compressionone of:
string
null
If omitted or null, none is used.None.Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
default_histogram_aggregationExporterDefaultHistogramAggregationIf omitted, explicit_bucket_histogram is used.None.Configure default histogram aggregation.
encodingOtlpHttpEncodingIf omitted, protobuf is used.None.Configure the encoding used for messages.
Implementations may not support json.
endpointone of:
string
null
If omitted or null, http://localhost:4318/v1/metrics is used.None.Configure endpoint.
headersarray of NameStringValuePairIf omitted, no headers are added.minItems: 1Configure headers. Entries have higher priority than entries from .headers_list.
If an entry’s .value is null, the entry is ignored.
headers_listone of:
string
null
If omitted or null, no headers are added.None.Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. (See here for more details).
temporality_preferenceExporterTemporalityPreferenceIf omitted, cumulative is used.None.Configure temporality preference.
timeoutone of:
integer
null
If omitted or null, 10000 is used.minimum: 0Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
tlsHttpTlsIf omitted, system default TLS settings are used.None.Configure TLS settings for the exporter.

Constraints:

additionalProperties: false

ParentBasedSampler

PropertyTypeDefault BehaviorDescription
local_parent_not_sampledSamplerIf omitted, always_off is used.Configure local_parent_not_sampled sampler.
local_parent_sampledSamplerIf omitted, always_on is used.Configure local_parent_sampled sampler.
remote_parent_not_sampledSamplerIf omitted, always_off is used.Configure remote_parent_not_sampled sampler.
remote_parent_sampledSamplerIf omitted, always_on is used.Configure remote_parent_sampled sampler.
rootSamplerIf omitted, always_on is used.Configure root sampler.

Constraints:

additionalProperties: false

PeriodicMetricReader

PropertyTypeDefault BehaviorConstraintsDescription
cardinality_limitsCardinalityLimitsIf omitted, default values as described in CardinalityLimits are used.None.Configure cardinality limits.
exporter*PushMetricExporterProperty is required and must be non-null.None.Configure exporter.
intervalone of:
integer
null
If omitted or null, 60000 is used.minimum: 0Configure delay interval (in milliseconds) between start of two consecutive exports.
Value must be non-negative.
producersarray of MetricProducerIf omitted, no metric producers are added.minItems: 1Configure metric producers.
timeoutone of:
integer
null
If omitted or null, 30000 is used.minimum: 0Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).

Constraints:

additionalProperties: false
required: ["exporter"]

Propagator

PropertyTypeDefault BehaviorConstraintsDescription
compositearray of TextMapPropagatorIf omitted, and .composite_list is omitted or null, a noop propagator is used.minItems: 1Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out.
Built-in propagator keys include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party keys include: xray.
composite_listone of:
string
null
If omitted or null, and .composite is omitted or null, a noop propagator is used.None.Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out.
The value is a comma separated list of propagator identifiers matching the format of OTEL_PROPAGATORS. (See here for more details).
Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray.

Constraints:

additionalProperties: false

PullMetricExporter

PullMetricExporter is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
prometheus/development
⚠ Experimental
ExperimentalPrometheusMetricExporterIf omitted, ignore.Configure exporter to be prometheus.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

PullMetricReader

PropertyTypeDefault BehaviorConstraintsDescription
cardinality_limitsCardinalityLimitsIf omitted, default values as described in CardinalityLimits are used.None.Configure cardinality limits.
exporter*PullMetricExporterProperty is required and must be non-null.None.Configure exporter.
producersarray of MetricProducerIf omitted, no metric producers are added.minItems: 1Configure metric producers.

Constraints:

additionalProperties: false
required: ["exporter"]

PushMetricExporter

PushMetricExporter is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
consoleConsoleMetricExporterIf omitted, ignore.Configure exporter to be console.
otlp_grpcOtlpGrpcMetricExporterIf omitted, ignore.Configure exporter to be OTLP with gRPC transport.
otlp_httpOtlpHttpMetricExporterIf omitted, ignore.Configure exporter to be OTLP with HTTP transport.
otlp_file/development
⚠ Experimental
ExperimentalOtlpFileMetricExporterIf omitted, ignore.Configure exporter to be OTLP with file transport.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

Resource

PropertyTypeDefault BehaviorConstraintsDescription
attributesarray of AttributeNameValueIf omitted, no resource attributes are added.minItems: 1Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
attributes_listone of:
string
null
If omitted or null, no resource attributes are added.None.Configure resource attributes. Entries have lower priority than entries from .resource.attributes.
The value is a list of comma separated key-value pairs matching the format of OTEL_RESOURCE_ATTRIBUTES. (See here for more details).
schema_urlone of:
string
null
If omitted or null, no schema URL is used.None.Configure resource schema URL.
detection/development
⚠ Experimental
ExperimentalResourceDetectionIf omitted, resource detection is disabled.None.Configure resource detection.

Constraints:

additionalProperties: false

Sampler

Sampler is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
always_offAlwaysOffSamplerIf omitted, ignore.Configure sampler to be always_off.
always_onAlwaysOnSamplerIf omitted, ignore.Configure sampler to be always_on.
parent_basedParentBasedSamplerIf omitted, ignore.Configure sampler to be parent_based.
trace_id_ratio_basedTraceIdRatioBasedSamplerIf omitted, ignore.Configure sampler to be trace_id_ratio_based.
composite/development
⚠ Experimental
ExperimentalComposableSamplerIf omitted, ignore.Configure sampler to be composite.
jaeger_remote/development
⚠ Experimental
ExperimentalJaegerRemoteSamplerIf omitted, ignore.Configure sampler to be jaeger_remote.
probability/development
⚠ Experimental
ExperimentalProbabilitySamplerIf omitted, ignore.Configure sampler to be probability.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

SeverityNumber

This is an enum type.

ValueDescription
debugdebug, severity number 5.
debug2debug2, severity number 6.
debug3debug3, severity number 7.
debug4debug4, severity number 8.
errorerror, severity number 17.
error2error2, severity number 18.
error3error3, severity number 19.
error4error4, severity number 20.
fatalfatal, severity number 21.
fatal2fatal2, severity number 22.
fatal3fatal3, severity number 23.
fatal4fatal4, severity number 24.
infoinfo, severity number 9.
info2info2, severity number 10.
info3info3, severity number 11.
info4info4, severity number 12.
tracetrace, severity number 1.
trace2trace2, severity number 2.
trace3trace3, severity number 3.
trace4trace4, severity number 4.
warnwarn, severity number 13.
warn2warn2, severity number 14.
warn3warn3, severity number 15.
warn4warn4, severity number 16.

SimpleLogRecordProcessor

PropertyTypeDefault BehaviorDescription
exporter*LogRecordExporterProperty is required and must be non-null.Configure exporter.

Constraints:

additionalProperties: false
required: ["exporter"]

SimpleSpanProcessor

PropertyTypeDefault BehaviorDescription
exporter*SpanExporterProperty is required and must be non-null.Configure exporter.

Constraints:

additionalProperties: false
required: ["exporter"]

SpanExporter

SpanExporter is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
consoleConsoleExporterIf omitted, ignore.Configure exporter to be console.
otlp_grpcOtlpGrpcExporterIf omitted, ignore.Configure exporter to be OTLP with gRPC transport.
otlp_httpOtlpHttpExporterIf omitted, ignore.Configure exporter to be OTLP with HTTP transport.
otlp_file/development
⚠ Experimental
ExperimentalOtlpFileExporterIf omitted, ignore.Configure exporter to be OTLP with file transport.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

SpanKind

This is an enum type.

ValueDescription
clientclient, a client span.
consumerconsumer, a consumer span.
internalinternal, an internal span.
producerproducer, a producer span.
serverserver, a server span.

SpanLimits

PropertyTypeDefault BehaviorConstraintsDescription
attribute_count_limitone of:
integer
null
If omitted or null, 128 is used.minimum: 0Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
attribute_value_length_limitone of:
integer
null
If omitted or null, there is no limit.minimum: 0Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
event_attribute_count_limitone of:
integer
null
If omitted or null, 128 is used.minimum: 0Configure max attributes per span event.
Value must be non-negative.
event_count_limitone of:
integer
null
If omitted or null, 128 is used.minimum: 0Configure max span event count.
Value must be non-negative.
link_attribute_count_limitone of:
integer
null
If omitted or null, 128 is used.minimum: 0Configure max attributes per span link.
Value must be non-negative.
link_count_limitone of:
integer
null
If omitted or null, 128 is used.minimum: 0Configure max span link count.
Value must be non-negative.

Constraints:

additionalProperties: false

SpanProcessor

SpanProcessor is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
batchBatchSpanProcessorIf omitted, ignore.Configure a batch span processor.
simpleSimpleSpanProcessorIf omitted, ignore.Configure a simple span processor.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

SumAggregation

No properties.

Constraints:

additionalProperties: false

TextMapPropagator

TextMapPropagator is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
b3B3PropagatorIf omitted, ignore.Include the zipkin b3 propagator.
b3multiB3MultiPropagatorIf omitted, ignore.Include the zipkin b3 multi propagator.
baggageBaggagePropagatorIf omitted, ignore.Include the w3c baggage propagator.
jaegerJaegerPropagatorIf omitted, ignore.Include the jaeger propagator.
ottraceOpenTracingPropagatorIf omitted, ignore.Include the opentracing propagator.
tracecontextTraceContextPropagatorIf omitted, ignore.Include the w3c trace context propagator.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

TraceContextPropagator

No properties.

Constraints:

additionalProperties: false

TraceIdRatioBasedSampler

PropertyTypeDefault BehaviorConstraintsDescription
ratioone of:
number
null
If omitted or null, 1.0 is used.minimum: 0
maximum: 1
Configure trace_id_ratio.

Constraints:

additionalProperties: false

TracerProvider

PropertyTypeDefault BehaviorConstraintsDescription
limitsSpanLimitsIf omitted, default values as described in SpanLimits are used.None.Configure span limits. See also attribute_limits.
processors*array of SpanProcessorProperty is required and must be non-null.minItems: 1Configure span processors.
samplerSamplerIf omitted, parent based sampler with a root of always_on is used.None.Configure the sampler.
tracer_configurator/development
⚠ Experimental
ExperimentalTracerConfiguratorIf omitted, all tracers use default values as described in ExperimentalTracerConfig.None.Configure tracers.

Constraints:

additionalProperties: false
required: ["processors"]

View

PropertyTypeDefault BehaviorDescription
selector*ViewSelectorProperty is required and must be non-null.Configure view selector.
Selection criteria is additive as described in </docs/specs/otel/metrics/sdk.md#instrument-selection-criteria>.
stream*ViewStreamProperty is required and must be non-null.Configure view stream.

Constraints:

additionalProperties: false
required: ["selector","stream"]

ViewSelector

PropertyTypeDefault BehaviorDescription
instrument_nameone of:
string
null
If omitted or null, all instrument names match.Configure instrument name selection criteria.
instrument_typeInstrumentTypeIf omitted, all instrument types match.Configure instrument type selection criteria.
meter_nameone of:
string
null
If omitted or null, all meter names match.Configure meter name selection criteria.
meter_schema_urlone of:
string
null
If omitted or null, all meter schema URLs match.Configure meter schema url selection criteria.
meter_versionone of:
string
null
If omitted or null, all meter versions match.Configure meter version selection criteria.
unitone of:
string
null
If omitted or null, all instrument units match.Configure the instrument unit selection criteria.

Constraints:

additionalProperties: false

ViewStream

PropertyTypeDefault BehaviorConstraintsDescription
aggregationAggregationIf omitted, default is used.None.Configure aggregation of the resulting stream(s).
aggregation_cardinality_limitone of:
integer
null
If omitted or null, the metric reader’s default cardinality limit is used.exclusiveMinimum: 0Configure the aggregation cardinality limit.
attribute_keysIncludeExcludeIf omitted, all attribute keys are retained.None.Configure attribute keys retained in the resulting stream(s).
descriptionone of:
string
null
If omitted or null, the instrument’s origin description is used.None.Configure metric description of the resulting stream(s).
nameone of:
string
null
If omitted or null, the instrument’s original name is used.None.Configure metric name of the resulting stream(s).

Constraints:

additionalProperties: false

Experimental Types

Warning: Experimental types are subject to breaking changes.

ExperimentalComposableAlwaysOffSampler

No properties.

Constraints:

additionalProperties: false

ExperimentalComposableAlwaysOnSampler

No properties.

Constraints:

additionalProperties: false

ExperimentalComposableParentThresholdSampler

PropertyTypeDefault BehaviorDescription
root*ExperimentalComposableSamplerProperty is required and must be non-null.Sampler to use when there is no parent.

Constraints:

additionalProperties: false
required: ["root"]

ExperimentalComposableProbabilitySampler

PropertyTypeDefault BehaviorConstraintsDescription
ratioone of:
number
null
If omitted or null, 1.0 is used.minimum: 0
maximum: 1
Configure ratio.

Constraints:

additionalProperties: false

ExperimentalComposableRuleBasedSampler

PropertyTypeDefault BehaviorDescription
rulesone of:
array
null
If omitted or null, no span is sampled.The rules for the sampler, matched in order. If no rules match, the span is not sampled.

Constraints:

additionalProperties: false

ExperimentalComposableRuleBasedSamplerRule

A rule for ExperimentalComposableRuleBasedSampler. A rule can have multiple match conditions - the sampler will be applied if all match. If no conditions are specified, the rule matches all spans that reach it.

PropertyTypeDefault BehaviorConstraintsDescription
attribute_patternsExperimentalComposableRuleBasedSamplerRuleAttributePatternsIf omitted, ignore.None.Patterns to match against a single attribute. Non-string attributes are matched using their string representation:
for example, a pattern of “4*” would match any http.response.status_code in 400-499. For array attributes, if any
item matches, it is considered a match.
attribute_valuesExperimentalComposableRuleBasedSamplerRuleAttributeValuesIf omitted, ignore.None.Values to match against a single attribute. Non-string attributes are matched using their string representation:
for example, a value of “404” would match the http.response.status_code 404. For array attributes, if any
item matches, it is considered a match.
parentarray of ExperimentalSpanParentIf omitted, ignore.minItems: 1The parent span types to match.
sampler*ExperimentalComposableSamplerProperty is required and must be non-null.None.The sampler to use for matching spans.
span_kindsarray of SpanKindIf omitted, ignore.minItems: 1The span kinds to match. If the span’s kind matches any of these, it matches.

Constraints:

additionalProperties: false
required: ["sampler"]

ExperimentalComposableRuleBasedSamplerRuleAttributePatterns

PropertyTypeDefault BehaviorConstraintsDescription
excludedarray of stringIf omitted, .included attributes are included.minItems: 1Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).
Values are evaluated to match as follows:
If the value exactly matches.
If the value matches the wildcard pattern, where ‘?’ matches any single character and ‘*’ matches any number of characters including none.
includedarray of stringIf omitted, all values are included.minItems: 1Configure list of value patterns to include.
Values are evaluated to match as follows:
If the value exactly matches.
If the value matches the wildcard pattern, where ‘?’ matches any single character and ‘*’ matches any number of characters including none.
key*stringProperty is required and must be non-null.None.The attribute key to match against.

Constraints:

additionalProperties: false
required: ["key"]

ExperimentalComposableRuleBasedSamplerRuleAttributeValues

PropertyTypeDefault BehaviorConstraintsDescription
key*stringProperty is required and must be non-null.None.The attribute key to match against.
values*array of stringProperty is required and must be non-null.minItems: 1The attribute values to match against. If the attribute’s value matches any of these, it matches.

Constraints:

additionalProperties: false
required: ["key","values"]

ExperimentalComposableSampler

PropertyTypeDefault BehaviorDescription
always_offExperimentalComposableAlwaysOffSamplerIf omitted, ignore.Configure sampler to be always_off.
always_onExperimentalComposableAlwaysOnSamplerIf omitted, ignore.Configure sampler to be always_on.
parent_thresholdExperimentalComposableParentThresholdSamplerIf omitted, ignore.Configure sampler to be parent_threshold.
probabilityExperimentalComposableProbabilitySamplerIf omitted, ignore.Configure sampler to be probability.
rule_basedExperimentalComposableRuleBasedSamplerIf omitted, ignore.Configure sampler to be rule_based.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

ExperimentalContainerResourceDetector

No properties.

Constraints:

additionalProperties: false

ExperimentalGeneralInstrumentation

PropertyTypeDefault BehaviorDescription
httpExperimentalHttpInstrumentationIf omitted, defaults as described in ExperimentalHttpInstrumentation are used.Configure instrumentations following the http semantic conventions.
See http semantic conventions: </docs/specs/semconv/http/>
peerExperimentalPeerInstrumentationIf omitted, defaults as described in ExperimentalPeerInstrumentation are used.Configure instrumentations following the peer semantic conventions.
See peer semantic conventions: </docs/specs/semconv/attributes-registry/peer/>

Constraints:

additionalProperties: false

ExperimentalHostResourceDetector

No properties.

Constraints:

additionalProperties: false

ExperimentalHttpClientInstrumentation

PropertyTypeDefault BehaviorConstraintsDescription
request_captured_headersarray of stringIf omitted, no outbound request headers are captured.minItems: 1Configure headers to capture for outbound http requests.
response_captured_headersarray of stringIf omitted, no inbound response headers are captured.minItems: 1Configure headers to capture for inbound http responses.

Constraints:

additionalProperties: false

ExperimentalHttpInstrumentation

PropertyTypeDefault BehaviorDescription
clientExperimentalHttpClientInstrumentationIf omitted, defaults as described in ExperimentalHttpClientInstrumentation are used.Configure instrumentations following the http client semantic conventions.
serverExperimentalHttpServerInstrumentationIf omitted, defaults as described in ExperimentalHttpServerInstrumentation are used.Configure instrumentations following the http server semantic conventions.

Constraints:

additionalProperties: false

ExperimentalHttpServerInstrumentation

PropertyTypeDefault BehaviorConstraintsDescription
request_captured_headersarray of stringIf omitted, no request headers are captured.minItems: 1Configure headers to capture for inbound http requests.
response_captured_headersarray of stringIf omitted, no response headers are captures.minItems: 1Configure headers to capture for outbound http responses.

Constraints:

additionalProperties: false

ExperimentalInstrumentation

PropertyTypeDefault BehaviorDescription
cppExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure C++ language-specific instrumentation libraries.
dotnetExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure .NET language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
erlangExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure Erlang language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
generalExperimentalGeneralInstrumentationIf omitted, default values as described in ExperimentalGeneralInstrumentation are used.Configure general SemConv options that may apply to multiple languages and instrumentations.
Instrumenation may merge general config options with the language specific configuration at .instrumentation..
goExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure Go language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
javaExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure Java language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
jsExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure JavaScript language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
phpExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure PHP language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
pythonExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure Python language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
rubyExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure Ruby language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
rustExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure Rust language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.
swiftExperimentalLanguageSpecificInstrumentationIf omitted, instrumentation defaults are used.Configure Swift language-specific instrumentation libraries.
Each entry’s key identifies a particular instrumentation library. The corresponding value configures it.

Constraints:

additionalProperties: false

ExperimentalJaegerRemoteSampler

PropertyTypeDefault BehaviorConstraintsDescription
endpoint*stringProperty is required and must be non-null.None.Configure the endpoint of the jaeger remote sampling service.
initial_sampler*SamplerProperty is required and must be non-null.None.Configure the initial sampler used before first configuration is fetched.
intervalone of:
integer
null
If omitted or null, 60000 is used.minimum: 0Configure the polling interval (in milliseconds) to fetch from the remote sampling service.

Constraints:

additionalProperties: false
required: ["endpoint","initial_sampler"]

ExperimentalLanguageSpecificInstrumentation

No properties.

Constraints:

additionalProperties: {"type":"object"}

ExperimentalLoggerConfig

PropertyTypeDefault BehaviorDescription
disabledone of:
boolean
null
If omitted or null, false is used.Configure if the logger is enabled or not.
minimum_severitySeverityNumberIf omitted, severity filtering is not applied.Configure severity filtering.
Log records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed.
trace_basedone of:
boolean
null
If omitted or null, trace based filtering is not applied.Configure trace based filtering.
If true, log records associated with unsampled trace contexts traces are not processed. If false, or if a log record is not associated with a trace context, trace based filtering is not applied.

Constraints:

additionalProperties: false

ExperimentalLoggerConfigurator

PropertyTypeDefault BehaviorConstraintsDescription
default_configExperimentalLoggerConfigIf omitted, unmatched .loggers use default values as described in ExperimentalLoggerConfig.None.Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers.
loggersarray of ExperimentalLoggerMatcherAndConfigIf omitted, all loggers use .default_config.minItems: 1Configure loggers.

Constraints:

additionalProperties: false

ExperimentalLoggerMatcherAndConfig

PropertyTypeDefault BehaviorDescription
config*ExperimentalLoggerConfigProperty is required and must be non-null.The logger config.
name*stringProperty is required and must be non-null.Configure logger names to match, evaluated as follows:

If the logger name exactly matches.
If the logger name matches the wildcard pattern, where ‘?’ matches any single character and ‘*’ matches any number of characters including none.

Constraints:

additionalProperties: false
required: ["name","config"]

ExperimentalMeterConfig

PropertyTypeDefault BehaviorDescription
disabledbooleanIf omitted, false is used.Configure if the meter is enabled or not.

Constraints:

additionalProperties: false

ExperimentalMeterConfigurator

PropertyTypeDefault BehaviorConstraintsDescription
default_configExperimentalMeterConfigIf omitted, unmatched .meters use default values as described in ExperimentalMeterConfig.None.Configure the default meter config used there is no matching entry in .meter_configurator/development.meters.
metersarray of ExperimentalMeterMatcherAndConfigIf omitted, all meters used .default_config.minItems: 1Configure meters.

Constraints:

additionalProperties: false

ExperimentalMeterMatcherAndConfig

PropertyTypeDefault BehaviorDescription
config*ExperimentalMeterConfigProperty is required and must be non-null.The meter config.
name*stringProperty is required and must be non-null.Configure meter names to match, evaluated as follows:

If the meter name exactly matches.
If the meter name matches the wildcard pattern, where ‘?’ matches any single character and ‘*’ matches any number of characters including none.

Constraints:

additionalProperties: false
required: ["name","config"]

ExperimentalOtlpFileExporter

PropertyTypeDefault BehaviorDescription
output_streamone of:
string
null
If omitted or null, stdout is used.Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.

Constraints:

additionalProperties: false

ExperimentalOtlpFileMetricExporter

PropertyTypeDefault BehaviorDescription
default_histogram_aggregationExporterDefaultHistogramAggregationIf omitted, explicit_bucket_histogram is used.Configure default histogram aggregation.
output_streamone of:
string
null
If omitted or null, stdout is used.Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
temporality_preferenceExporterTemporalityPreferenceIf omitted, cumulative is used.Configure temporality preference.

Constraints:

additionalProperties: false

ExperimentalPeerInstrumentation

PropertyTypeDefault BehaviorConstraintsDescription
service_mappingarray of ExperimentalPeerServiceMappingIf omitted, no peer service mappings are used.minItems: 1Configure the service mapping for instrumentations following peer.service semantic conventions.
See peer.service semantic conventions: </docs/specs/semconv/general/attributes/#general-remote-service-attributes>

Constraints:

additionalProperties: false

ExperimentalPeerServiceMapping

PropertyTypeDefault BehaviorDescription
peer*stringProperty is required and must be non-null.The IP address to map.
service*stringProperty is required and must be non-null.The logical name corresponding to the IP address of .peer.

Constraints:

additionalProperties: false
required: ["peer","service"]

ExperimentalProbabilitySampler

PropertyTypeDefault BehaviorConstraintsDescription
ratioone of:
number
null
If omitted or null, 1.0 is used.minimum: 0
maximum: 1
Configure ratio.

Constraints:

additionalProperties: false

ExperimentalProcessResourceDetector

No properties.

Constraints:

additionalProperties: false

ExperimentalPrometheusMetricExporter

PropertyTypeDefault BehaviorDescription
hostone of:
string
null
If omitted or null, localhost is used.Configure host.
portone of:
integer
null
If omitted or null, 9464 is used.Configure port.
translation_strategyExperimentalPrometheusTranslationStrategyIf omitted, underscore_escaping_with_suffixes is used.Configure how metric names are translated to Prometheus metric names.
with_resource_constant_labelsIncludeExcludeIf omitted, no resource attributes are added.Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns.
without_scope_infoone of:
boolean
null
If omitted or null, false is used.Configure Prometheus Exporter to produce metrics without a scope info metric.
without_target_infoone of:
boolean
null
If omitted or null, false is used.Configure Prometheus Exporter to produce metrics without a target info metric for the resource.

Constraints:

additionalProperties: false

ExperimentalPrometheusTranslationStrategy

This is an enum type.

ValueDescription
no_translationSpecial character escaping is disabled. Type and unit suffixes are disabled. Metric names are unaltered.
no_utf8_escaping_with_suffixesSpecial character escaping is disabled. Type and unit suffixes are enabled.
underscore_escaping_with_suffixesSpecial character escaping is enabled. Type and unit suffixes are enabled.
underscore_escaping_without_suffixesSpecial character escaping is enabled. Type and unit suffixes are disabled. This represents classic Prometheus metric name compatibility.

ExperimentalResourceDetection

PropertyTypeDefault BehaviorConstraintsDescription
attributesIncludeExcludeIf omitted, all attributes from resource detectors are added.None.Configure attributes provided by resource detectors.
detectorsarray of ExperimentalResourceDetectorIf omitted, no resource detectors are enabled.minItems: 1Configure resource detectors.
Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.

Constraints:

additionalProperties: false

ExperimentalResourceDetector

ExperimentalResourceDetector is an SDK extension plugin point.

PropertyTypeDefault BehaviorDescription
containerExperimentalContainerResourceDetectorIf omitted, ignore.Enable the container resource detector, which populates container.* attributes.
hostExperimentalHostResourceDetectorIf omitted, ignore.Enable the host resource detector, which populates host.and os. attributes.
processExperimentalProcessResourceDetectorIf omitted, ignore.Enable the process resource detector, which populates process.* attributes.
serviceExperimentalServiceResourceDetectorIf omitted, ignore.Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.

Constraints:

additionalProperties: {"type":["object","null"]}
minProperties: 1
maxProperties: 1

ExperimentalServiceResourceDetector

No properties.

Constraints:

additionalProperties: false

ExperimentalSpanParent

This is an enum type.

ValueDescription
locallocal, a local parent.
nonenone, no parent, i.e., the trace root.
remoteremote, a remote parent.

ExperimentalTracerConfig

PropertyTypeDefault BehaviorDescription
disabledbooleanIf omitted, false is used.Configure if the tracer is enabled or not.

Constraints:

additionalProperties: false

ExperimentalTracerConfigurator

PropertyTypeDefault BehaviorConstraintsDescription
default_configExperimentalTracerConfigIf omitted, unmatched .tracers use default values as described in ExperimentalTracerConfig.None.Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers.
tracersarray of ExperimentalTracerMatcherAndConfigIf omitted, all tracers use .default_config.minItems: 1Configure tracers.

Constraints:

additionalProperties: false

ExperimentalTracerMatcherAndConfig

PropertyTypeDefault BehaviorDescription
config*ExperimentalTracerConfigProperty is required and must be non-null.The tracer config.
name*stringProperty is required and must be non-null.Configure tracer names to match, evaluated as follows:

If the tracer name exactly matches.
If the tracer name matches the wildcard pattern, where ‘?’ matches any single character and ‘*’ matches any number of characters including none.

Constraints:

additionalProperties: false
required: ["name","config"]


Language Status

Language implementation status for OpenTelemetry SDK declarative configuration types


Last modified April 6, 2026: change (ce9b988e)