From 7cf9ce28844c511dc7fe5148f25d8f952f3d5997 Mon Sep 17 00:00:00 2001 From: Jack Berg Date: Fri, 31 Oct 2025 10:41:32 -0500 Subject: [PATCH 1/3] Split out defaultBehavior and nullBehavior from description in the meta schema --- CONTRIBUTING.md | 21 +- examples/kitchen-sink.yaml | 254 +++++++++++-- examples/sdk-config.yaml | 53 ++- examples/sdk-migration-config.yaml | 53 ++- schema-docs.md | 592 ++++++++++++++--------------- schema/meta_schema_types.yaml | 320 +++++++++++----- scripts/generate-descriptions.js | 14 +- scripts/generate-markdown.js | 7 +- scripts/json-schema.js | 10 +- scripts/meta-schema.js | 78 +++- 10 files changed, 920 insertions(+), 482 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6df3dbc2..259ef548 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -91,9 +91,11 @@ tracer_provider: * `attributes_value_length_limit` is not required. If omitted, no attribute length limits are applied. * `attributes_value_length_limit`'s type is `["integer", "null]`. If null (i.e. because the `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` env var is unset), no attribute length limits are applied. -If a property is _not_ required, it should include a [meta schema comment](./CONTRIBUTING.md#meta-schema) describing the semantics when it is omitted. +If a property is _not_ required, it must include `defaultBehavior` in the [meta schema](#meta_schema_typesyaml) describing the semantics when it is omitted. -If a property `type` includes `null`, it must include a [meta schema comment](./CONTRIBUTING.md#meta-schema) describing the semantics when the value is `null`. It's common for properties with primitive types to allow `null`. `object` types allow `null` if no properties are required and the presence of the property key is meaningful. +If a property is required and `type` includes `null`, it must include `nullBehavior` in the [meta schema](#meta_schema_typesyaml) describing the semantics when it is null. + +Optionally, a property which is _not_ required and `type` includes `null` may specify `nullBehavior` to differentiate between cases where it is `null` and omitted. ### Polymorphic types @@ -274,13 +276,12 @@ There are a variety of build tasks which intersect with the meta schema: Content looks like: ```yaml -- type: AttributeLimits +- type: SpanExporter properties: - - property: attribute_value_length_limit - description: | - Configure max attribute value size. - Value must be non-negative. - If omitted or null, there is no limit. + - property: otlp_http + description: Configure exporter to be OTLP with HTTP transport. + defaultBehavior: OTLP HTTP exporter is not used + nullBehavior: OTLP HTTP exporter is used with defaults # other types omitted for brevity ``` @@ -291,6 +292,8 @@ Notes: * `[].properties` is an array of entries for each property in the JSON schema type. * `[].properties[].property` the name of the property. **Maintained automatically by build tooling.** * `[].properties[].description` the property description, including semantics and default behavior. + * `[].properties[].defaultBehavior` the behavior if the property is omitted. Required if the property is not `required`. Must not be present if property is `required`. + * `[].properties[].nullBehavior` the behavior if the property is present and null. Required if the property is `required` and may be `null`. Optional to override `defaultBehavior` if the property is not `required`. ### `meta_schema_language_{language}.yaml` @@ -335,6 +338,8 @@ Ensures that the JSON schema and the meta schema are kept in sync: * For each meta schema type: * If a property exists in the JSON schema and not the meta schema, add it. * If a property exists in the meta schema and not the JSON schema, delete it. + * If a property is required in the JSON schema and has defaultBehavior in the meta schema, delete it. If a property is not required in the JSON schema and does not have defaultBehavior in the meta schema, add it. + * If a property is required and nullable in the JSON schema and does not have nullBehavior in the meta schema, add it. * If a language implementation is known (i.e. defined in constant array `KNOWN_LANGUAGES` in [meta-schema.js](./scripts/meta-schema.js)) but not in meta schema, add it. * If a language implementation exists in meta schema but is not known, delete it. * For each language implementation: diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index f914ca27..a510fdf7 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -8,14 +8,16 @@ # The file format version. # The yaml format is documented at # https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# Property is required and must be non-null. file_format: "1.0-rc.2" # Configure if the SDK is disabled or not. # If omitted or null, false is used. disabled: false # Configure the log level of the internal logger used by the SDK. -# If omitted, info is used. +# If omitted or null, info is used. log_level: info # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. +# If omitted, default values for general attributes are used. attribute_limits: # Configure max attribute value size. # Value must be non-negative. @@ -29,8 +31,10 @@ attribute_limits: # If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. + # Property is required and must be non-null. processors: - # Configure a batch log record processor. + # If omitted, ignore. batch: # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. @@ -47,13 +51,16 @@ logger_provider: # If omitted or null, 512 is used. max_export_batch_size: 512 # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/logs # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -69,10 +76,13 @@ logger_provider: client_certificate_file: /app/cert.pem # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: - # The name of the pair. + # Property is required and must be non-null. name: api-key # The value of the pair. + # Property must be present, but if null TODO. value: "1234" # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. @@ -88,18 +98,22 @@ logger_provider: timeout: 10000 # Configure the encoding used for messages. # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. + # If omitted, protobuf is used. encoding: protobuf - # Configure a batch log record processor. + # If omitted, ignore. batch: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with gRPC transport. + # If omitted, ignore. otlp_grpc: # Configure endpoint. # If omitted or null, http://localhost:4317 is used. endpoint: http://localhost:4317 # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -119,10 +133,13 @@ logger_provider: insecure: false # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: - # The name of the pair. + # Property is required and must be non-null. name: api-key # The value of the pair. + # Property must be present, but if null TODO. value: "1234" # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. @@ -137,34 +154,44 @@ logger_provider: # If omitted or null, 10000 is used. timeout: 10000 - # Configure a batch log record processor. + # If omitted, ignore. batch: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with file transport. # This type is in development and subject to breaking changes in minor versions. + # If omitted, ignore. otlp_file/development: # Configure output stream. # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. # If omitted or null, stdout is used. output_stream: file:///var/log/logs.jsonl - # Configure a batch log record processor. + # If omitted, ignore. batch: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with file transport. # This type is in development and subject to breaking changes in minor versions. + # If omitted, ignore. otlp_file/development: # Configure output stream. # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. # If omitted or null, stdout is used. output_stream: stdout - # Configure a simple log record processor. + # If omitted, ignore. simple: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be console. + # If omitted, ignore. console: # Configure log record limits. See also attribute_limits. + # If omitted, default log record limits are used. limits: # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. # Value must be non-negative. @@ -176,33 +203,44 @@ logger_provider: attribute_count_limit: 128 # Configure loggers. # This type is in development and subject to breaking changes in minor versions. + # If omitted, TODO. logger_configurator/development: # Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. + # If omitted, TODO. default_config: # Configure if the logger is enabled or not. + # If omitted, TODO. disabled: true # Configure loggers. + # If omitted, TODO. loggers: - # 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. + # If omitted, TODO. name: io.opentelemetry.contrib.* # The logger config. + # If omitted, TODO. config: # Configure if the logger is enabled or not. + # If omitted, TODO. disabled: false # Configure meter provider. # If omitted, a noop meter provider is used. meter_provider: # Configure metric readers. + # Property is required and must be non-null. readers: - # Configure a pull based metric reader. + # If omitted, ignore. pull: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be prometheus. # This type is in development and subject to breaking changes in minor versions. + # If omitted, TODO. prometheus/development: # Configure host. # If omitted or null, localhost is used. @@ -214,12 +252,14 @@ meter_provider: # If omitted or null, false is used. without_scope_info: false # Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. + # If omitted, TODO. with_resource_constant_labels: # Configure 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. # If omitted, all values are included. + # If omitted, TODO. included: - "service*" # Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). @@ -227,6 +267,7 @@ meter_provider: # * 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. # If omitted, .included attributes are included. + # If omitted, TODO. excluded: - "service.attr1" # Configure how Prometheus metrics are exposed. Values include: @@ -235,17 +276,19 @@ meter_provider: # * UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached. # * NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached. # * NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered. - # # If omitted or null, UnderscoreEscapingWithSuffixes is used. translation_strategy: UnderscoreEscapingWithSuffixes # Configure metric producers. + # If omitted, TODO. producers: - # Configure metric producer to be opencensus. + # If omitted, TODO. opencensus: # Configure cardinality limits. + # If omitted, TODO. cardinality_limits: # Configure default cardinality limit for all instrument types. - # Instrument-specific cardinality limits take priority. + # Instrument-specific cardinality limits take priority. # If omitted or null, 2000 is used. default: 2000 # Configure default cardinality limit for counter instruments. @@ -270,6 +313,7 @@ meter_provider: # If omitted or null, the value from .default is used. up_down_counter: 2000 - # Configure a periodic metric reader. + # If omitted, ignore. periodic: # Configure delay interval (in milliseconds) between start of two consecutive exports. # Value must be non-negative. @@ -280,13 +324,16 @@ meter_provider: # If omitted or null, 30000 is used. timeout: 30000 # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/metrics # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -302,10 +349,13 @@ meter_provider: client_certificate_file: /app/cert.pem # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: - # The name of the pair. + # Property is required and must be non-null. name: api-key # The value of the pair. + # Property must be present, but if null TODO. value: "1234" # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. @@ -321,24 +371,27 @@ meter_provider: timeout: 10000 # Configure the encoding used for messages. # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. + # If omitted, protobuf is used. encoding: protobuf # Configure temporality preference. # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # If omitted, cumulative is used. temporality_preference: delta # Configure default histogram aggregation. # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # If omitted, explicit_bucket_histogram is used. default_histogram_aggregation: base2_exponential_bucket_histogram # Configure metric producers. + # If omitted, TODO. producers: - # Configure metric producer to be opencensus. + # If omitted, TODO. opencensus: # Configure cardinality limits. + # If omitted, TODO. cardinality_limits: # Configure default cardinality limit for all instrument types. - # Instrument-specific cardinality limits take priority. + # Instrument-specific cardinality limits take priority. # If omitted or null, 2000 is used. default: 2000 # Configure default cardinality limit for counter instruments. @@ -363,15 +416,19 @@ meter_provider: # If omitted or null, the value from .default is used. up_down_counter: 2000 - # Configure a periodic metric reader. + # If omitted, ignore. periodic: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with gRPC transport. + # If omitted, ignore. otlp_grpc: # Configure endpoint. # If omitted or null, http://localhost:4317 is used. endpoint: http://localhost:4317 # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -391,10 +448,13 @@ meter_provider: insecure: false # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: - # The name of the pair. + # Property is required and must be non-null. name: api-key # The value of the pair. + # Property must be present, but if null TODO. value: "1234" # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. @@ -410,18 +470,21 @@ meter_provider: timeout: 10000 # Configure temporality preference. # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # If omitted, cumulative is used. temporality_preference: delta # Configure default histogram aggregation. # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # If omitted, explicit_bucket_histogram is used. default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure a periodic metric reader. + # If omitted, ignore. periodic: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with file transport. # This type is in development and subject to breaking changes in minor versions. + # If omitted, ignore. otlp_file/development: # Configure output stream. # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. @@ -429,18 +492,21 @@ meter_provider: output_stream: file:///var/log/metrics.jsonl # Configure temporality preference. # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # If omitted, cumulative is used. temporality_preference: delta # Configure default histogram aggregation. # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # If omitted, explicit_bucket_histogram is used. default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure a periodic metric reader. + # If omitted, ignore. periodic: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with file transport. # This type is in development and subject to breaking changes in minor versions. + # If omitted, ignore. otlp_file/development: # Configure output stream. # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. @@ -448,30 +514,35 @@ meter_provider: output_stream: stdout # Configure temporality preference. # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # If omitted, cumulative is used. temporality_preference: delta # Configure default histogram aggregation. # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # If omitted, explicit_bucket_histogram is used. default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure a periodic metric reader. + # If omitted, ignore. periodic: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be console. + # If omitted, ignore. console: # Configure views. # Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). + # If omitted, TODO. views: - # Configure view selector. # Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria. + # If omitted, TODO. selector: # Configure instrument name selection criteria. # If omitted or null, all instrument names match. instrument_name: my-instrument # Configure instrument type selection criteria. # Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter. - # If omitted or null, all instrument types match. + # If omitted, all instrument types match. instrument_type: histogram # Configure the instrument unit selection criteria. # If omitted or null, all instrument units match. @@ -486,6 +557,7 @@ meter_provider: # If omitted or null, all meter schema URLs match. meter_schema_url: https://opentelemetry.io/schemas/1.16.0 # Configure view stream. + # If omitted, TODO. stream: # Configure metric name of the resulting stream(s). # If omitted or null, the instrument's original name is used. @@ -496,11 +568,14 @@ meter_provider: # Configure aggregation of the resulting stream(s). # Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation. # If omitted, default is used. + # If omitted, TODO. aggregation: # Configure aggregation to be explicit_bucket_histogram. + # If omitted, TODO. explicit_bucket_histogram: # Configure bucket boundaries. # If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. + # If omitted, TODO. boundaries: [ 0.0, @@ -526,12 +601,14 @@ meter_provider: # If omitted or null, the metric reader's default cardinality limit is used. aggregation_cardinality_limit: 2000 # Configure attribute keys retained in the resulting stream(s). + # If omitted, TODO. attribute_keys: # Configure 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. # If omitted, all values are included. + # If omitted, TODO. included: - key1 - key2 @@ -540,60 +617,76 @@ meter_provider: # * 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. # If omitted, .included attributes are included. + # If omitted, TODO. excluded: - key3 # Configure the exemplar filter. # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. - # If omitted or null, trace_based is used. + # If omitted, trace_based is used. exemplar_filter: trace_based # Configure meters. # This type is in development and subject to breaking changes in minor versions. + # If omitted, TODO. meter_configurator/development: # Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. + # If omitted, TODO. default_config: # Configure if the meter is enabled or not. + # If omitted, TODO. disabled: true # Configure meters. + # If omitted, TODO. meters: - # 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. + # If omitted, TODO. name: io.opentelemetry.contrib.* # The meter config. + # If omitted, TODO. config: # Configure if the meter is enabled or not. + # If omitted, TODO. disabled: false # Configure text map context propagators. # If omitted, a noop propagator is used. propagator: # Configure 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. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # If omitted, and .composite_list is empty, a noop propagator is used. composite: - # Include the w3c trace context propagator. + # If omitted, ignore. tracecontext: - # Include the w3c baggage propagator. + # If omitted, ignore. baggage: - # Include the zipkin b3 propagator. + # If omitted, ignore. b3: - # Include the zipkin b3 multi propagator. + # If omitted, ignore. b3multi: - # Include the jaeger propagator. + # If omitted, ignore. jaeger: - # Include the opentracing propagator. + # If omitted, ignore. ottrace: # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. # Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # If omitted or null, and .composite is empty, a noop propagator is used. composite_list: "tracecontext,baggage,b3,b3multi,jaeger,ottrace,xray" # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: # Configure span processors. + # Property is required and must be non-null. processors: - # Configure a batch span processor. + # If omitted, ignore. batch: # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. @@ -610,13 +703,16 @@ tracer_provider: # If omitted or null, 512 is used. max_export_batch_size: 512 # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/traces # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -632,10 +728,13 @@ tracer_provider: client_certificate_file: /app/cert.pem # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: - # The name of the pair. + # Property is required and must be non-null. name: api-key # The value of the pair. + # Property must be present, but if null TODO. value: "1234" # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. @@ -651,18 +750,22 @@ tracer_provider: timeout: 10000 # Configure the encoding used for messages. # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. + # If omitted, protobuf is used. encoding: protobuf - # Configure a batch span processor. + # If omitted, ignore. batch: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with gRPC transport. + # If omitted, ignore. otlp_grpc: # Configure endpoint. # If omitted or null, http://localhost:4317 is used. endpoint: http://localhost:4317 # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -682,10 +785,13 @@ tracer_provider: insecure: false # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: - # The name of the pair. + # Property is required and must be non-null. name: api-key # The value of the pair. + # Property must be present, but if null TODO. value: "1234" # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. @@ -700,32 +806,41 @@ tracer_provider: # If omitted or null, 10000 is used. timeout: 10000 - # Configure a batch span processor. + # If omitted, ignore. batch: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with file transport. # This type is in development and subject to breaking changes in minor versions. + # If omitted, ignore. otlp_file/development: # Configure output stream. # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. # If omitted or null, stdout is used. output_stream: file:///var/log/traces.jsonl - # Configure a batch span processor. + # If omitted, ignore. batch: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with file transport. # This type is in development and subject to breaking changes in minor versions. + # If omitted, ignore. otlp_file/development: # Configure output stream. # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. # If omitted or null, stdout is used. output_stream: stdout - # Configure a batch span processor. + # If omitted, ignore. batch: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be zipkin. + # If omitted, ignore. zipkin: # Configure endpoint. # If omitted or null, http://localhost:9411/api/v2/spans is used. @@ -735,12 +850,16 @@ tracer_provider: # If omitted or null, 10000 is used. timeout: 10000 - # Configure a simple span processor. + # If omitted, ignore. simple: # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be console. + # If omitted, ignore. console: # Configure span limits. See also attribute_limits. + # If omitted, default span limits are used. limits: # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. # Value must be non-negative. @@ -770,134 +889,166 @@ tracer_provider: # If omitted, parent based sampler with a root of always_on is used. sampler: # Configure sampler to be parent_based. + # If omitted, ignore. parent_based: # Configure root sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. root: # Configure sampler to be trace_id_ratio_based. + # If omitted, ignore. trace_id_ratio_based: # Configure trace_id_ratio. # If omitted or null, 1.0 is used. ratio: 0.0001 # Configure remote_parent_sampled sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. remote_parent_sampled: # Configure sampler to be always_on. + # If omitted, ignore. always_on: # Configure remote_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # If omitted, always_off is used. remote_parent_not_sampled: # Configure sampler to be always_off. + # If omitted, ignore. always_off: # Configure local_parent_sampled sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. local_parent_sampled: # Configure sampler to be always_on. + # If omitted, ignore. always_on: # Configure local_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # If omitted, always_off is used. local_parent_not_sampled: # Configure sampler to be always_off. + # If omitted, ignore. always_off: # Configure tracers. # This type is in development and subject to breaking changes in minor versions. + # If omitted, TODO. tracer_configurator/development: # Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. + # If omitted, TODO. default_config: # Configure if the tracer is enabled or not. + # If omitted, TODO. disabled: true # Configure tracers. + # If omitted, TODO. tracers: - # 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. + # If omitted, TODO. name: io.opentelemetry.contrib.* # The tracer config. + # If omitted, TODO. config: # Configure if the tracer is enabled or not. + # If omitted, TODO. disabled: false # Configure resource for all signals. # If omitted, the default resource is used. resource: # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. + # If omitted, no resource attributes are added. attributes: - # The attribute name. + # Property is required and must be non-null. name: service.name # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: unknown_service - # The attribute name. + # Property is required and must be non-null. name: string_key # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: value # The attribute type. # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # If omitted, string is used. type: string - # The attribute name. + # Property is required and must be non-null. name: bool_key # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: true # The attribute type. # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # If omitted, string is used. type: bool - # The attribute name. + # Property is required and must be non-null. name: int_key # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: 1 # The attribute type. # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # If omitted, string is used. type: int - # The attribute name. + # Property is required and must be non-null. name: double_key # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: 1.1 # The attribute type. # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # If omitted, string is used. type: double - # The attribute name. + # Property is required and must be non-null. name: string_array_key # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: [ "value1", "value2" ] # The attribute type. # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # If omitted, string is used. type: string_array - # The attribute name. + # Property is required and must be non-null. name: bool_array_key # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: [ true, false ] # The attribute type. # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # If omitted, string is used. type: bool_array - # The attribute name. + # Property is required and must be non-null. name: int_array_key # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: [ 1, 2 ] # The attribute type. # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # If omitted, string is used. type: int_array - # The attribute name. + # Property is required and must be non-null. name: double_array_key # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: [ 1.1, 2.2 ] # The attribute type. # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # If omitted, string is used. type: double_array # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. @@ -905,15 +1056,17 @@ resource: attributes_list: "service.namespace=my-namespace,service.version=1.0.0" # Configure resource detection. # This type is in development and subject to breaking changes in minor versions. - # If omitted or null, resource detection is disabled. + # If omitted, resource detection is disabled. detection/development: # Configure attributes provided by resource detectors. + # If omitted, TODO. attributes: # Configure 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. # If omitted, all values are included. + # If omitted, TODO. included: - process.* # Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). @@ -921,117 +1074,148 @@ resource: # * 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. # If omitted, .included attributes are included. + # If omitted, TODO. excluded: - process.command_args # Configure resource detectors. - # Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. - # If omitted or null, no resource detectors are enabled. + # Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. + # If omitted, no resource detectors are enabled. detectors: - # Enable the container resource detector, which populates container.* attributes. + # If omitted, TODO. container: - # Enable the host resource detector, which populates host.* and os.* attributes. + # If omitted, TODO. host: - # Enable the process resource detector, which populates process.* attributes. + # If omitted, TODO. process: - # Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id. + # If omitted, TODO. service: # Configure resource schema URL. # If omitted or null, no schema URL is used. schema_url: https://opentelemetry.io/schemas/1.16.0 # Configure instrumentation. # This type is in development and subject to breaking changes in minor versions. +# If omitted, TODO. instrumentation/development: # 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.. + # If omitted, TODO. general: # Configure instrumentations following the peer semantic conventions. # See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/ + # If omitted, TODO. peer: # Configure the service mapping for instrumentations following peer.service semantic conventions. # See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes + # If omitted, TODO. service_mapping: - # The IP address to map. + # Property is required and must be non-null. peer: 1.2.3.4 # The logical name corresponding to the IP address of .peer. + # Property is required and must be non-null. service: FooService - # The IP address to map. + # Property is required and must be non-null. peer: 2.3.4.5 # The logical name corresponding to the IP address of .peer. + # Property is required and must be non-null. service: BarService # Configure instrumentations following the http semantic conventions. # See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ + # If omitted, TODO. http: # Configure instrumentations following the http client semantic conventions. + # If omitted, TODO. client: # Configure headers to capture for outbound http requests. + # If omitted, TODO. request_captured_headers: - Content-Type - Accept # Configure headers to capture for inbound http responses. + # If omitted, TODO. response_captured_headers: - Content-Type - Content-Encoding # Configure instrumentations following the http server semantic conventions. + # If omitted, TODO. server: # Configure headers to capture for inbound http requests. + # If omitted, TODO. request_captured_headers: - Content-Type - Accept # Configure headers to capture for outbound http responses. + # If omitted, TODO. response_captured_headers: - Content-Type - Content-Encoding # Configure C++ language-specific instrumentation libraries. + # If omitted, TODO. cpp: example: property: "value" # Configure .NET language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. dotnet: example: property: "value" # Configure Erlang language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. erlang: example: property: "value" # Configure Go language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. go: example: property: "value" # Configure Java language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. java: example: property: "value" # Configure JavaScript language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. js: example: property: "value" # Configure PHP language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. php: example: property: "value" # Configure Python language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. python: example: property: "value" # Configure Ruby language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. ruby: example: property: "value" # Configure Rust language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. rust: example: property: "value" # Configure Swift language-specific instrumentation libraries. # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # If omitted, TODO. swift: example: property: "value" diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 64ae6348..ac8f9c68 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -8,24 +8,29 @@ # The file format version. # The yaml format is documented at # https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# Property is required and must be non-null. file_format: "1.0-rc.2" # Configure if the SDK is disabled or not. # If omitted or null, false is used. disabled: false # Configure the log level of the internal logger used by the SDK. -# If omitted, info is used. +# If omitted or null, info is used. log_level: info # Configure resource for all signals. # If omitted, the default resource is used. resource: # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. + # If omitted, no resource attributes are added. attributes: - # The attribute name. + # Property is required and must be non-null. name: service.name # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: unknown_service # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. +# If omitted, default values for general attributes are used. attribute_limits: # Configure max attribute value size. # Value must be non-negative. @@ -40,18 +45,22 @@ attribute_limits: propagator: # Configure 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. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # If omitted, and .composite_list is empty, a noop propagator is used. composite: - # Include the w3c trace context propagator. + # If omitted, ignore. tracecontext: - # Include the w3c baggage propagator. + # If omitted, ignore. baggage: # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: # Configure span processors. + # Property is required and must be non-null. processors: - # Configure a batch span processor. + # If omitted, ignore. batch: # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. @@ -68,13 +77,16 @@ tracer_provider: # If omitted or null, 512 is used. max_export_batch_size: 512 # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/traces # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -98,8 +110,10 @@ tracer_provider: timeout: 10000 # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: [] # Configure span limits. See also attribute_limits. + # If omitted, default span limits are used. limits: # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. # Value must be non-negative. @@ -129,38 +143,46 @@ tracer_provider: # If omitted, parent based sampler with a root of always_on is used. sampler: # Configure sampler to be parent_based. + # If omitted, ignore. parent_based: # Configure root sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. root: # Configure sampler to be always_on. + # If omitted, ignore. always_on: # Configure remote_parent_sampled sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. remote_parent_sampled: # Configure sampler to be always_on. + # If omitted, ignore. always_on: # Configure remote_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # If omitted, always_off is used. remote_parent_not_sampled: # Configure sampler to be always_off. + # If omitted, ignore. always_off: # Configure local_parent_sampled sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. local_parent_sampled: # Configure sampler to be always_on. + # If omitted, ignore. always_on: # Configure local_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # If omitted, always_off is used. local_parent_not_sampled: # Configure sampler to be always_off. + # If omitted, ignore. always_off: # Configure meter provider. # If omitted, a noop meter provider is used. meter_provider: # Configure metric readers. + # Property is required and must be non-null. readers: - # Configure a periodic metric reader. + # If omitted, ignore. periodic: # Configure delay interval (in milliseconds) between start of two consecutive exports. # Value must be non-negative. @@ -171,13 +193,16 @@ meter_provider: # If omitted or null, 30000 is used. timeout: 30000 # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/metrics # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -201,25 +226,28 @@ meter_provider: timeout: 10000 # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: [] # Configure temporality preference. # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # If omitted, cumulative is used. temporality_preference: cumulative # Configure default histogram aggregation. # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # If omitted, explicit_bucket_histogram is used. default_histogram_aggregation: explicit_bucket_histogram # Configure the exemplar filter. # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. - # If omitted or null, trace_based is used. + # If omitted, trace_based is used. exemplar_filter: trace_based # Configure logger provider. # If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. + # Property is required and must be non-null. processors: - # Configure a batch log record processor. + # If omitted, ignore. batch: # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. @@ -236,13 +264,16 @@ logger_provider: # If omitted or null, 512 is used. max_export_batch_size: 512 # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/logs # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -266,8 +297,10 @@ logger_provider: timeout: 10000 # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: [] # Configure log record limits. See also attribute_limits. + # If omitted, default log record limits are used. limits: # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. # Value must be non-negative. diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 5191b12b..5d0d7c22 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -35,28 +35,33 @@ # The file format version. # The yaml format is documented at # https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# Property is required and must be non-null. file_format: "1.0-rc.2" # Configure if the SDK is disabled or not. # If omitted or null, false is used. disabled: ${OTEL_SDK_DISABLED:-false} # Configure the log level of the internal logger used by the SDK. -# If omitted, info is used. +# If omitted or null, info is used. log_level: ${OTEL_LOG_LEVEL:-info} # Configure resource for all signals. # If omitted, the default resource is used. resource: # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. + # If omitted, no resource attributes are added. attributes: - # The attribute name. + # Property is required and must be non-null. name: service.name # The attribute value. # The type of value must match .type. + # Property is required and must be non-null. value: ${OTEL_SERVICE_NAME:-unknown_service} # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. # If omitted or null, no resource attributes are added. attributes_list: ${OTEL_RESOURCE_ATTRIBUTES} # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. +# If omitted, default values for general attributes are used. attribute_limits: # Configure max attribute value size. # Value must be non-negative. @@ -71,19 +76,21 @@ attribute_limits: propagator: # Configure 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. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # If omitted, and .composite_list is empty, a noop propagator is used. composite: [] # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. # Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # If omitted or null, and .composite is empty, a noop propagator is used. composite_list: ${OTEL_PROPAGATORS:-tracecontext,baggage} # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: # Configure span processors. + # Property is required and must be non-null. processors: - # Configure a batch span processor. + # If omitted, ignore. batch: # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. @@ -100,13 +107,16 @@ tracer_provider: # If omitted or null, 512 is used. max_export_batch_size: ${OTEL_BSP_MAX_EXPORT_BATCH_SIZE:-512} # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: ${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://localhost:4318/v1/traces} # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -130,12 +140,14 @@ tracer_provider: timeout: ${OTEL_EXPORTER_OTLP_TRACES_TIMEOUT:-10000} # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: [] # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. # If omitted or null, no headers are added. headers_list: ${OTEL_EXPORTER_OTLP_TRACES_HEADERS} # Configure span limits. See also attribute_limits. + # If omitted, default span limits are used. limits: # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. # Value must be non-negative. @@ -165,31 +177,37 @@ tracer_provider: # If omitted, parent based sampler with a root of always_on is used. sampler: # Configure sampler to be parent_based. + # If omitted, ignore. parent_based: # Configure root sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. root: # Configure sampler to be always_on. + # If omitted, ignore. always_on: # Configure remote_parent_sampled sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. remote_parent_sampled: # Configure sampler to be always_on. + # If omitted, ignore. always_on: # Configure remote_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # If omitted, always_off is used. remote_parent_not_sampled: # Configure sampler to be always_off. + # If omitted, ignore. always_off: # Configure local_parent_sampled sampler. - # If omitted or null, always_on is used. + # If omitted, always_on is used. local_parent_sampled: # Configure sampler to be always_on. + # If omitted, ignore. always_on: # Configure local_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # If omitted, always_off is used. local_parent_not_sampled: # Configure sampler to be always_off. + # If omitted, ignore. always_off: @@ -197,8 +215,10 @@ tracer_provider: # If omitted, a noop meter provider is used. meter_provider: # Configure metric readers. + # Property is required and must be non-null. readers: - # Configure a periodic metric reader. + # If omitted, ignore. periodic: # Configure delay interval (in milliseconds) between start of two consecutive exports. # Value must be non-negative. @@ -209,13 +229,16 @@ meter_provider: # If omitted or null, 30000 is used. timeout: ${OTEL_METRIC_EXPORT_TIMEOUT:-30000} # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: ${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics} # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -239,6 +262,7 @@ meter_provider: timeout: ${OTEL_EXPORTER_OTLP_METRICS_TIMEOUT:-10000} # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: [] # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. @@ -246,22 +270,24 @@ meter_provider: headers_list: ${OTEL_EXPORTER_OTLP_METRICS_HEADERS} # Configure temporality preference. # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # If omitted, cumulative is used. temporality_preference: ${OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE:-cumulative} # Configure default histogram aggregation. # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # If omitted, explicit_bucket_histogram is used. default_histogram_aggregation: ${OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION:-explicit_bucket_histogram} # Configure the exemplar filter. # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. - # If omitted or null, trace_based is used. + # If omitted, trace_based is used. exemplar_filter: ${OTEL_METRICS_EXEMPLAR_FILTER:-trace_based} # Configure logger provider. # If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. + # Property is required and must be non-null. processors: - # Configure a batch log record processor. + # If omitted, ignore. batch: # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. @@ -278,13 +304,16 @@ logger_provider: # If omitted or null, 512 is used. max_export_batch_size: ${OTEL_BLRP_MAX_EXPORT_BATCH_SIZE:-512} # Configure exporter. + # Property is required and must be non-null. exporter: # Configure exporter to be OTLP with HTTP transport. + # If omitted, ignore. otlp_http: # Configure endpoint, including the signal specific path. # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: ${OTEL_EXPORTER_OTLP_LOGS_ENDPOINT:-http://localhost:4318/v1/logs} # Configure TLS settings for the exporter. + # If omitted, system default TLS settings are used. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -308,12 +337,14 @@ logger_provider: timeout: ${OTEL_EXPORTER_OTLP_LOGS_TIMEOUT:-10000} # Configure headers. Entries have higher priority than entries from .headers_list. # If an entry's .value is null, the entry is ignored. + # If omitted, no headers are added. headers: [] # 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. # If omitted or null, no headers are added. headers_list: ${OTEL_EXPORTER_OTLP_LOGS_HEADERS} # Configure log record limits. See also attribute_limits. + # If omitted, default log record limits are used. limits: # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. # Value must be non-negative. diff --git a/schema-docs.md b/schema-docs.md index 2f0a6658..158eda43 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -105,14 +105,14 @@ TODO ## Aggregation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default` | [`DefaultAggregation`](#defaultaggregation) | `false` | No constraints. | TODO | -| `drop` | [`DropAggregation`](#dropaggregation) | `false` | No constraints. | TODO | -| `explicit_bucket_histogram` | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | `false` | No constraints. | Configure aggregation to be explicit_bucket_histogram. | -| `base2_exponential_bucket_histogram` | [`Base2ExponentialBucketHistogramAggregation`](#base2exponentialbuckethistogramaggregation) | `false` | No constraints. | TODO | -| `last_value` | [`LastValueAggregation`](#lastvalueaggregation) | `false` | No constraints. | TODO | -| `sum` | [`SumAggregation`](#sumaggregation) | `false` | No constraints. | TODO | +| `default` | [`DefaultAggregation`](#defaultaggregation) | false | If omitted, TODO. | No constraints. | TODO | +| `drop` | [`DropAggregation`](#dropaggregation) | false | If omitted, TODO. | No constraints. | TODO | +| `explicit_bucket_histogram` | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | false | If omitted, TODO. | No constraints. | Configure aggregation to be explicit_bucket_histogram. | +| `base2_exponential_bucket_histogram` | [`Base2ExponentialBucketHistogramAggregation`](#base2exponentialbuckethistogramaggregation) | false | If omitted, TODO. | No constraints. | TODO | +| `last_value` | [`LastValueAggregation`](#lastvalueaggregation) | false | If omitted, TODO. | No constraints. | TODO | +| `sum` | [`SumAggregation`](#sumaggregation) | false | If omitted, TODO. | No constraints. | TODO |
Language support status @@ -221,10 +221,10 @@ Usages: ## AttributeLimits -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | No constraints. | Configure max attribute value size.
Value must be non-negative.
If omitted or null, there is no limit.
| -| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | No constraints. | Configure max attribute count.
Value must be non-negative.
If omitted or null, 128 is used.
| +| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, there is no limit. | No constraints. | Configure max attribute value size.
Value must be non-negative.
| +| `attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | No constraints. | Configure max attribute count.
Value must be non-negative.
|
Language support status @@ -269,11 +269,11 @@ Usages: ## AttributeNameValue -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `true` | No constraints. | The attribute name.
| -| `value` | `oneOf` | `true` | No constraints. | The attribute value.
The type of value must match .type.
| -| `type` | [`AttributeType`](#attributetype) | `false` | No constraints. | The attribute type.
Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.
If omitted or null, string is used.
| +| `name` | `string` | true | Property is required and must be non-null. | No constraints. | The attribute name.
| +| `value` | `oneOf` | true | Property is required and must be non-null. | No constraints. | The attribute value.
The type of value must match .type.
| +| `type` | [`AttributeType`](#attributetype) | false | If omitted, string is used. | No constraints. | The attribute type.
Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.
|
Language support status @@ -462,11 +462,11 @@ Usages: ## Base2ExponentialBucketHistogramAggregation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `max_scale` | one of:
* `integer`
* `null`
| `false` | No constraints. | TODO | -| `max_size` | one of:
* `integer`
* `null`
| `false` | No constraints. | TODO | -| `record_min_max` | one of:
* `boolean`
* `null`
| `false` | No constraints. | TODO | +| `max_scale` | one of:
* `integer`
* `null`
| false | If omitted or null, TODO. | No constraints. | TODO | +| `max_size` | one of:
* `integer`
* `null`
| false | If omitted or null, TODO. | No constraints. | TODO | +| `record_min_max` | one of:
* `boolean`
* `null`
| false | If omitted or null, TODO. | No constraints. | TODO |
Language support status @@ -521,13 +521,13 @@ Usages: ## BatchLogRecordProcessor -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `schedule_delay` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.
If omitted or null, 1000 is used.
| -| `export_timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 30000 is used.
| -| `max_queue_size` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure maximum queue size. Value must be positive.
If omitted or null, 2048 is used.
| -| `max_export_batch_size` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure maximum batch size. Value must be positive.
If omitted or null, 512 is used.
| -| `exporter` | [`LogRecordExporter`](#logrecordexporter) | `true` | No constraints. | Configure exporter. | +| `schedule_delay` | one of:
* `integer`
* `null`
| false | If omitted or null, 1000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.
| +| `export_timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `max_queue_size` | one of:
* `integer`
* `null`
| false | If omitted or null, 2048 is used. | * `exclusiveMinimum`: `0`
| Configure maximum queue size. Value must be positive.
| +| `max_export_batch_size` | one of:
* `integer`
* `null`
| false | If omitted or null, 512 is used. | * `exclusiveMinimum`: `0`
| Configure maximum batch size. Value must be positive.
| +| `exporter` | [`LogRecordExporter`](#logrecordexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. |
Language support status @@ -598,13 +598,13 @@ Usages: ## BatchSpanProcessor -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `schedule_delay` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.
If omitted or null, 5000 is used.
| -| `export_timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 30000 is used.
| -| `max_queue_size` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure maximum queue size. Value must be positive.
If omitted or null, 2048 is used.
| -| `max_export_batch_size` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure maximum batch size. Value must be positive.
If omitted or null, 512 is used.
| -| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | Configure exporter. | +| `schedule_delay` | one of:
* `integer`
* `null`
| false | If omitted or null, 5000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.
| +| `export_timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `max_queue_size` | one of:
* `integer`
* `null`
| false | If omitted or null, 2048 is used. | * `exclusiveMinimum`: `0`
| Configure maximum queue size. Value must be positive.
| +| `max_export_batch_size` | one of:
* `integer`
* `null`
| false | If omitted or null, 512 is used. | * `exclusiveMinimum`: `0`
| Configure maximum batch size. Value must be positive.
| +| `exporter` | [`SpanExporter`](#spanexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. |
Language support status @@ -675,16 +675,16 @@ Usages: ## CardinalityLimits -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for all instrument types.
Instrument-specific cardinality limits take priority.
If omitted or null, 2000 is used.
| -| `counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for counter instruments.
If omitted or null, the value from .default is used.
| -| `gauge` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for gauge instruments.
If omitted or null, the value from .default is used.
| -| `histogram` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for histogram instruments.
If omitted or null, the value from .default is used.
| -| `observable_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_counter instruments.
If omitted or null, the value from .default is used.
| -| `observable_gauge` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_gauge instruments.
If omitted or null, the value from .default is used.
| -| `observable_up_down_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_up_down_counter instruments.
If omitted or null, the value from .default is used.
| -| `up_down_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for up_down_counter instruments.
If omitted or null, the value from .default is used.
| +| `default` | one of:
* `integer`
* `null`
| false | If omitted or null, 2000 is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for all instrument types.
Instrument-specific cardinality limits take priority.
| +| `counter` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for counter instruments.
| +| `gauge` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for gauge instruments.
| +| `histogram` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for histogram instruments.
| +| `observable_counter` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_counter instruments.
| +| `observable_gauge` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_gauge instruments.
| +| `observable_up_down_counter` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_up_down_counter instruments.
| +| `up_down_counter` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for up_down_counter instruments.
|
Language support status @@ -911,10 +911,10 @@ Usages: ## ExperimentalGeneralInstrumentation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `peer` | [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | `false` | No constraints. | Configure instrumentations following the peer semantic conventions.
See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/
| -| `http` | [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | `false` | No constraints. | Configure instrumentations following the http semantic conventions.
See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/
| +| `peer` | [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentations following the peer semantic conventions.
See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/
| +| `http` | [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentations following the http semantic conventions.
See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/
|
Language support status @@ -978,10 +978,10 @@ Usages: ## ExperimentalHttpClientInstrumentation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `request_captured_headers` | `array` of `string` | `false` | No constraints. | Configure headers to capture for outbound http requests.
| -| `response_captured_headers` | `array` of `string` | `false` | No constraints. | Configure headers to capture for inbound http responses.
| +| `request_captured_headers` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure headers to capture for outbound http requests.
| +| `response_captured_headers` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure headers to capture for inbound http responses.
|
Language support status @@ -1026,10 +1026,10 @@ Usages: ## ExperimentalHttpInstrumentation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `client` | [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | `false` | No constraints. | Configure instrumentations following the http client semantic conventions. | -| `server` | [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | `false` | No constraints. | Configure instrumentations following the http server semantic conventions. | +| `client` | [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentations following the http client semantic conventions. | +| `server` | [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentations following the http server semantic conventions. |
Language support status @@ -1068,10 +1068,10 @@ Usages: ## ExperimentalHttpServerInstrumentation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `request_captured_headers` | `array` of `string` | `false` | No constraints. | Configure headers to capture for inbound http requests.
| -| `response_captured_headers` | `array` of `string` | `false` | No constraints. | Configure headers to capture for outbound http responses.
| +| `request_captured_headers` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure headers to capture for inbound http requests.
| +| `response_captured_headers` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure headers to capture for outbound http responses.
|
Language support status @@ -1116,20 +1116,20 @@ Usages: ## ExperimentalInstrumentation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `general` | [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | `false` | No constraints. | 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..
| -| `cpp` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure C++ language-specific instrumentation libraries. | -| `dotnet` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure .NET language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `erlang` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Erlang language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `go` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Go language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `java` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Java language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `js` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure JavaScript language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `php` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure PHP language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `python` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Python language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `ruby` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Ruby language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `rust` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Rust language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `swift` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Swift language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `general` | [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | false | If omitted, TODO. | No constraints. | 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..
| +| `cpp` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure C++ language-specific instrumentation libraries. | +| `dotnet` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure .NET language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `erlang` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Erlang language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `go` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Go language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `java` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Java language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `js` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure JavaScript language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `php` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure PHP language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `python` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Python language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `ruby` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Ruby language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `rust` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Rust language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `swift` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Swift language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
|
Language support status @@ -1340,9 +1340,9 @@ Usages: ## ExperimentalLoggerConfig -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | Configure if the logger is enabled or not. | +| `disabled` | `boolean` | false | If omitted, TODO. | No constraints. | Configure if the logger is enabled or not. |
Language support status @@ -1382,10 +1382,10 @@ Usages: ## ExperimentalLoggerConfigurator -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | No constraints. | Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. | -| `loggers` | `array` of [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | `false` | No constraints. | Configure loggers. | +| `default_config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | false | If omitted, TODO. | No constraints. | Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. | +| `loggers` | `array` of [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | false | If omitted, TODO. | No constraints. | Configure loggers. |
Language support status @@ -1429,10 +1429,10 @@ Usages: ## ExperimentalLoggerMatcherAndConfig -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `false` | No constraints. | 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.
| -| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | No constraints. | The logger config. | +| `name` | `string` | false | If omitted, TODO. | No constraints. | 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.
| +| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | false | If omitted, TODO. | No constraints. | The logger config. |
Language support status @@ -1475,9 +1475,9 @@ Usages: ## ExperimentalMeterConfig -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | Configure if the meter is enabled or not. | +| `disabled` | `boolean` | false | If omitted, TODO. | No constraints. | Configure if the meter is enabled or not. |
Language support status @@ -1517,10 +1517,10 @@ Usages: ## ExperimentalMeterConfigurator -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. | -| `meters` | `array` of [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | `false` | No constraints. | Configure meters. | +| `default_config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | false | If omitted, TODO. | No constraints. | Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. | +| `meters` | `array` of [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | false | If omitted, TODO. | No constraints. | Configure meters. |
Language support status @@ -1564,10 +1564,10 @@ Usages: ## ExperimentalMeterMatcherAndConfig -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `false` | No constraints. | 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.
| -| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | The meter config. | +| `name` | `string` | false | If omitted, TODO. | No constraints. | 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.
| +| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | false | If omitted, TODO. | No constraints. | The meter config. |
Language support status @@ -1610,9 +1610,9 @@ Usages: ## ExperimentalOtlpFileExporter -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `output_stream` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
If omitted or null, stdout is used.
| +| `output_stream` | one of:
* `string`
* `null`
| false | If omitted or null, stdout is used. | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
|
Language support status @@ -1654,11 +1654,11 @@ Usages: ## ExperimentalOtlpFileMetricExporter -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `output_stream` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
If omitted or null, stdout is used.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, cumulative is used.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, explicit_bucket_histogram is used.
| +| `output_stream` | one of:
* `string`
* `null`
| false | If omitted or null, stdout is used. | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | false | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | false | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
|
Language support status @@ -1707,9 +1707,9 @@ Usages: ## ExperimentalPeerInstrumentation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `service_mapping` | `array` of [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | `false` | No constraints. | Configure the service mapping for instrumentations following peer.service semantic conventions.
See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes
| +| `service_mapping` | `array` of [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | false | If omitted, TODO. | No constraints. | Configure the service mapping for instrumentations following peer.service semantic conventions.
See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes
|
Language support status @@ -1747,10 +1747,10 @@ Usages: ## ExperimentalPeerServiceMapping -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `peer` | `string` | `true` | No constraints. | The IP address to map.
| -| `service` | `string` | `true` | No constraints. | The logical name corresponding to the IP address of .peer.
| +| `peer` | `string` | true | Property is required and must be non-null. | No constraints. | The IP address to map.
| +| `service` | `string` | true | Property is required and must be non-null. | No constraints. | The logical name corresponding to the IP address of .peer.
|
Language support status @@ -1819,13 +1819,13 @@ Usages: ## ExperimentalPrometheusMetricExporter -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `host` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure host.
If omitted or null, localhost is used.
| -| `port` | one of:
* `integer`
* `null`
| `false` | No constraints. | Configure port.
If omitted or null, 9464 is used.
| -| `without_scope_info` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure Prometheus Exporter to produce metrics without a scope info metric.
If omitted or null, false is used.
| -| `with_resource_constant_labels` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. | -| `translation_strategy` | one of:
* `string`
* `null`
| `false` | * `enum`: `["UnderscoreEscapingWithSuffixes","UnderscoreEscapingWithoutSuffixes","NoUTF8EscapingWithSuffixes","NoTranslation"]`
| Configure how Prometheus metrics are exposed. Values include:

* UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes.
* UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached.
* NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached.
* NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered.

If omitted or null, UnderscoreEscapingWithSuffixes is used.
| +| `host` | one of:
* `string`
* `null`
| false | If omitted or null, localhost is used. | No constraints. | Configure host.
| +| `port` | one of:
* `integer`
* `null`
| false | If omitted or null, 9464 is used. | No constraints. | Configure port.
| +| `without_scope_info` | one of:
* `boolean`
* `null`
| false | If omitted or null, false is used. | No constraints. | Configure Prometheus Exporter to produce metrics without a scope info metric.
| +| `with_resource_constant_labels` | [`IncludeExclude`](#includeexclude) | false | If omitted, TODO. | No constraints. | Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. | +| `translation_strategy` | one of:
* `string`
* `null`
| false | If omitted or null, UnderscoreEscapingWithSuffixes is used. | * `enum`: `["UnderscoreEscapingWithSuffixes","UnderscoreEscapingWithoutSuffixes","NoUTF8EscapingWithSuffixes","NoTranslation"]`
| Configure how Prometheus metrics are exposed. Values include:

* UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes.
* UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached.
* NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached.
* NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered.
|
Language support status @@ -1897,10 +1897,10 @@ Usages: ## ExperimentalResourceDetection -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attributes` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | Configure attributes provided by resource detectors. | -| `detectors` | `array` of [`ExperimentalResourceDetector`](#experimentalresourcedetector) | `false` | No constraints. | Configure resource detectors.
Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.
If omitted or null, no resource detectors are enabled.
| +| `attributes` | [`IncludeExclude`](#includeexclude) | false | If omitted, TODO. | No constraints. | Configure attributes provided by resource detectors. | +| `detectors` | `array` of [`ExperimentalResourceDetector`](#experimentalresourcedetector) | false | If omitted, no resource detectors are enabled. | No constraints. | Configure resource detectors.
Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.
|
Language support status @@ -1944,12 +1944,12 @@ Usages: `ExperimentalResourceDetector` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `container` | [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | `false` | No constraints. | Enable the container resource detector, which populates container.* attributes.
| -| `host` | [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | `false` | No constraints. | Enable the host resource detector, which populates host.* and os.* attributes.
| -| `process` | [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | `false` | No constraints. | Enable the process resource detector, which populates process.* attributes.
| -| `service` | [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | `false` | No constraints. | Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.
| +| `container` | [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | false | If omitted, TODO. | No constraints. | Enable the container resource detector, which populates container.* attributes.
| +| `host` | [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | false | If omitted, TODO. | No constraints. | Enable the host resource detector, which populates host.* and os.* attributes.
| +| `process` | [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | false | If omitted, TODO. | No constraints. | Enable the process resource detector, which populates process.* attributes.
| +| `service` | [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | false | If omitted, TODO. | No constraints. | Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.
|
Language support status @@ -2030,9 +2030,9 @@ Usages: ## ExperimentalTracerConfig -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | Configure if the tracer is enabled or not. | +| `disabled` | `boolean` | false | If omitted, TODO. | No constraints. | Configure if the tracer is enabled or not. |
Language support status @@ -2072,10 +2072,10 @@ Usages: ## ExperimentalTracerConfigurator -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. | -| `tracers` | `array` of [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | `false` | No constraints. | Configure tracers. | +| `default_config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | false | If omitted, TODO. | No constraints. | Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. | +| `tracers` | `array` of [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | false | If omitted, TODO. | No constraints. | Configure tracers. |
Language support status @@ -2119,10 +2119,10 @@ Usages: ## ExperimentalTracerMatcherAndConfig -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `false` | No constraints. | 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.
| -| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | The tracer config. | +| `name` | `string` | false | If omitted, TODO. | No constraints. | 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.
| +| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | false | If omitted, TODO. | No constraints. | The tracer config. |
Language support status @@ -2165,10 +2165,10 @@ Usages: ## ExplicitBucketHistogramAggregation -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `boundaries` | `array` of `number` | `false` | No constraints. | Configure bucket boundaries.
If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.
| -| `record_min_max` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure record min and max.
If omitted or null, true is used.
| +| `boundaries` | `array` of `number` | false | If omitted, TODO. | No constraints. | Configure bucket boundaries.
If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.
| +| `record_min_max` | one of:
* `boolean`
* `null`
| false | If omitted or null, true is used. | No constraints. | Configure record min and max.
|
Language support status @@ -2277,12 +2277,12 @@ Usages: ## GrpcTls -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
If omitted or null, system default certificate verification is used for secure connections.
| -| `client_key_file` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
If omitted or null, mTLS is not used.
| -| `client_certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
If omitted or null, mTLS is not used.
| -| `insecure` | one of:
* `boolean`
* `null`
| `false` | No constraints. | 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.
If omitted or null, false is used.
| +| `certificate_file` | one of:
* `string`
* `null`
| false | If omitted or null, system default certificate verification is used for secure connections. | No constraints. | Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
| +| `client_key_file` | one of:
* `string`
* `null`
| false | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
| +| `client_certificate_file` | one of:
* `string`
* `null`
| false | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
| +| `insecure` | one of:
* `boolean`
* `null`
| false | If omitted or null, false is used. | No constraints. | 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.
|
Language support status @@ -2345,11 +2345,11 @@ Usages: ## HttpTls -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
If omitted or null, system default certificate verification is used for secure connections.
| -| `client_key_file` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
If omitted or null, mTLS is not used.
| -| `client_certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
If omitted or null, mTLS is not used.
| +| `certificate_file` | one of:
* `string`
* `null`
| false | If omitted or null, system default certificate verification is used for secure connections. | No constraints. | Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
| +| `client_key_file` | one of:
* `string`
* `null`
| false | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
| +| `client_certificate_file` | one of:
* `string`
* `null`
| false | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
|
Language support status @@ -2405,10 +2405,10 @@ Usages: ## IncludeExclude -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `included` | `array` of `string` | `false` | No constraints. | Configure 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.
If omitted, all values are included.
| -| `excluded` | `array` of `string` | `false` | No constraints. | Configure 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.
If omitted, .included attributes are included.
| +| `included` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure 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.
If omitted, all values are included.
| +| `excluded` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure 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.
If omitted, .included attributes are included.
|
Language support status @@ -2513,11 +2513,11 @@ Usages: ## JaegerRemoteSampler -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `interval` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `initial_sampler` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | +| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, TODO. | No constraints. | TODO | +| `interval` | one of:
* `integer`
* `null`
| false | If omitted or null, TODO. | * `minimum`: `0`
| TODO | +| `initial_sampler` | [`Sampler`](#sampler) | false | If omitted, TODO. | No constraints. | TODO |
Language support status @@ -2595,11 +2595,11 @@ Usages: ## LoggerProvider -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `processors` | `array` of [`LogRecordProcessor`](#logrecordprocessor) | `true` | No constraints. | Configure log record processors. | -| `limits` | [`LogRecordLimits`](#logrecordlimits) | `false` | No constraints. | Configure log record limits. See also attribute_limits. | -| `logger_configurator/development` | [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | `false` | No constraints. | Configure loggers.
This type is in development and subject to breaking changes in minor versions.
| +| `processors` | `array` of [`LogRecordProcessor`](#logrecordprocessor) | true | Property is required and must be non-null. | No constraints. | Configure log record processors. | +| `limits` | [`LogRecordLimits`](#logrecordlimits) | false | If omitted, default log record limits are used. | No constraints. | Configure log record limits. See also attribute_limits. | +| `logger_configurator/development` | [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | false | If omitted, TODO. | No constraints. | Configure loggers.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -2817,12 +2817,12 @@ Usages: `LogRecordExporter` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP transport. | -| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport. | -| `otlp_file/development` | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| -| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. | +| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. | +| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. | +| `otlp_file/development` | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| +| `console` | [`ConsoleExporter`](#consoleexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be console. |
Language support status @@ -2879,10 +2879,10 @@ Usages: ## LogRecordLimits -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
If omitted or null, there is no limit.
| -| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
If omitted or null, 128 is used.
| +| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, there is no limit. | * `minimum`: `0`
| Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
| +| `attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
|
Language support status @@ -2931,10 +2931,10 @@ Usages: `LogRecordProcessor` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `batch` | [`BatchLogRecordProcessor`](#batchlogrecordprocessor) | `false` | No constraints. | Configure a batch log record processor. | -| `simple` | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | `false` | No constraints. | Configure a simple log record processor. | +| `batch` | [`BatchLogRecordProcessor`](#batchlogrecordprocessor) | false | If omitted, ignore. | No constraints. | Configure a batch log record processor. | +| `simple` | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | false | If omitted, ignore. | No constraints. | Configure a simple log record processor. |
Language support status @@ -2981,12 +2981,12 @@ Usages: ## MeterProvider -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `readers` | `array` of [`MetricReader`](#metricreader) | `true` | No constraints. | Configure metric readers. | -| `views` | `array` of [`View`](#view) | `false` | No constraints. | Configure views.
Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).
| -| `exemplar_filter` | [`ExemplarFilter`](#exemplarfilter) | `false` | No constraints. | Configure the exemplar filter.
Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration.
If omitted or null, trace_based is used.
| -| `meter_configurator/development` | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | `false` | No constraints. | Configure meters.
This type is in development and subject to breaking changes in minor versions.
| +| `readers` | `array` of [`MetricReader`](#metricreader) | true | Property is required and must be non-null. | No constraints. | Configure metric readers. | +| `views` | `array` of [`View`](#view) | false | If omitted, TODO. | No constraints. | Configure views.
Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).
| +| `exemplar_filter` | [`ExemplarFilter`](#exemplarfilter) | false | If omitted, trace_based is used. | No constraints. | Configure the exemplar filter.
Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration.
| +| `meter_configurator/development` | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | false | If omitted, TODO. | No constraints. | Configure meters.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -3689,9 +3689,9 @@ Usages: `MetricProducer` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | `false` | No constraints. | Configure metric producer to be opencensus. | +| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | false | If omitted, TODO. | No constraints. | Configure metric producer to be opencensus. |
Language support status @@ -3736,10 +3736,10 @@ Usages: ## MetricReader -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `periodic` | [`PeriodicMetricReader`](#periodicmetricreader) | `false` | No constraints. | Configure a periodic metric reader. | -| `pull` | [`PullMetricReader`](#pullmetricreader) | `false` | No constraints. | Configure a pull based metric reader. | +| `periodic` | [`PeriodicMetricReader`](#periodicmetricreader) | false | If omitted, ignore. | No constraints. | Configure a periodic metric reader. | +| `pull` | [`PullMetricReader`](#pullmetricreader) | false | If omitted, ignore. | No constraints. | Configure a pull based metric reader. |
Language support status @@ -3782,10 +3782,10 @@ Usages: ## NameStringValuePair -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `true` | No constraints. | The name of the pair. | -| `value` | one of:
* `string`
* `null`
| `true` | No constraints. | The value of the pair. | +| `name` | `string` | true | Property is required and must be non-null. | No constraints. | The name of the pair. | +| `value` | one of:
* `string`
* `null`
| true | Property must be present, but if null TODO. | No constraints. | The value of the pair. |
Language support status @@ -3860,18 +3860,18 @@ Usages: ## OpentelemetryConfiguration -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `file_format` | `string` | `true` | No constraints. | The file format version.
The yaml format is documented at
https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema
| -| `disabled` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure if the SDK is disabled or not.
If omitted or null, false is used.
| -| `log_level` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure the log level of the internal logger used by the SDK.
If omitted, info is used.
| -| `attribute_limits` | [`AttributeLimits`](#attributelimits) | `false` | No constraints. | Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
| -| `logger_provider` | [`LoggerProvider`](#loggerprovider) | `false` | No constraints. | Configure logger provider.
If omitted, a noop logger provider is used.
| -| `meter_provider` | [`MeterProvider`](#meterprovider) | `false` | No constraints. | Configure meter provider.
If omitted, a noop meter provider is used.
| -| `propagator` | [`Propagator`](#propagator) | `false` | No constraints. | Configure text map context propagators.
If omitted, a noop propagator is used.
| -| `tracer_provider` | [`TracerProvider`](#tracerprovider) | `false` | No constraints. | Configure tracer provider.
If omitted, a noop tracer provider is used.
| -| `resource` | [`Resource`](#resource) | `false` | No constraints. | Configure resource for all signals.
If omitted, the default resource is used.
| -| `instrumentation/development` | [`ExperimentalInstrumentation`](#experimentalinstrumentation) | `false` | No constraints. | Configure instrumentation.
This type is in development and subject to breaking changes in minor versions.
| +| `file_format` | `string` | true | Property is required and must be non-null. | No constraints. | The file format version.
The yaml format is documented at
https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema
| +| `disabled` | one of:
* `boolean`
* `null`
| false | If omitted or null, false is used. | No constraints. | Configure if the SDK is disabled or not.
| +| `log_level` | one of:
* `string`
* `null`
| false | If omitted or null, info is used. | No constraints. | Configure the log level of the internal logger used by the SDK.
| +| `attribute_limits` | [`AttributeLimits`](#attributelimits) | false | If omitted, default values for general attributes are used. | No constraints. | Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
| +| `logger_provider` | [`LoggerProvider`](#loggerprovider) | false | If omitted, a noop logger provider is used. | No constraints. | Configure logger provider.
| +| `meter_provider` | [`MeterProvider`](#meterprovider) | false | If omitted, a noop meter provider is used. | No constraints. | Configure meter provider.
| +| `propagator` | [`Propagator`](#propagator) | false | If omitted, a noop propagator is used. | No constraints. | Configure text map context propagators.
| +| `tracer_provider` | [`TracerProvider`](#tracerprovider) | false | If omitted, a noop tracer provider is used. | No constraints. | Configure tracer provider.
| +| `resource` | [`Resource`](#resource) | false | If omitted, the default resource is used. | No constraints. | Configure resource for all signals.
| +| `instrumentation/development` | [`ExperimentalInstrumentation`](#experimentalinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentation.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -4016,14 +4016,14 @@ Usages: ## OtlpGrpcExporter -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure endpoint.
If omitted or null, http://localhost:4317 is used.
| -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
If omitted or null, no headers are added.
| -| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
If omitted or null, none is used.
| -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 10000 is used.
| -| `tls` | [`GrpcTls`](#grpctls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | false | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| false | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| +| `compression` | one of:
* `string`
* `null`
| false | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `tls` | [`GrpcTls`](#grpctls) | false | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4098,16 +4098,16 @@ Usages: ## OtlpGrpcMetricExporter -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure endpoint.
If omitted or null, http://localhost:4317 is used.
| -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
If omitted or null, no headers are added.
| -| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
If omitted or null, none is used.
| -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 10000 is used.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, cumulative is used.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, explicit_bucket_histogram is used.
| -| `tls` | [`GrpcTls`](#grpctls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | false | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| false | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| +| `compression` | one of:
* `string`
* `null`
| false | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | false | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | false | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `tls` | [`GrpcTls`](#grpctls) | false | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4218,15 +4218,15 @@ Usages: ## OtlpHttpExporter -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure endpoint, including the signal specific path.
If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.
| -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
If omitted or null, no headers are added.
| -| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
If omitted or null, none is used.
| -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 10000 is used.
| -| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
If omitted or null, protobuf is used.
| -| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. | No constraints. | Configure endpoint, including the signal specific path.
| +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | false | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| false | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| +| `compression` | one of:
* `string`
* `null`
| false | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | false | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
| +| `tls` | [`HttpTls`](#httptls) | false | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4305,18 +4305,18 @@ Usages: ## OtlpHttpMetricExporter -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure endpoint, including the signal specific path.
If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.
| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure endpoint.
If omitted or null, http://localhost:4317 is used.
| -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
If omitted or null, no headers are added.
| -| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
If omitted or null, none is used.
| -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 10000 is used.
| -| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
If omitted or null, protobuf is used.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, cumulative is used.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, explicit_bucket_histogram is used.
| -| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. | No constraints. | Configure endpoint, including the signal specific path.
| +| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | false | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| false | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| +| `compression` | one of:
* `string`
* `null`
| false | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | false | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | false | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | false | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `tls` | [`HttpTls`](#httptls) | false | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4403,13 +4403,13 @@ Usages: ## ParentBasedSampler -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `root` | [`Sampler`](#sampler) | `false` | No constraints. | Configure root sampler.
If omitted or null, always_on is used.
| -| `remote_parent_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure remote_parent_sampled sampler.
If omitted or null, always_on is used.
| -| `remote_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure remote_parent_not_sampled sampler.
If omitted or null, always_off is used.
| -| `local_parent_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure local_parent_sampled sampler.
If omitted or null, always_on is used.
| -| `local_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure local_parent_not_sampled sampler.
If omitted or null, always_off is used.
| +| `root` | [`Sampler`](#sampler) | false | If omitted, always_on is used. | No constraints. | Configure root sampler.
| +| `remote_parent_sampled` | [`Sampler`](#sampler) | false | If omitted, always_on is used. | No constraints. | Configure remote_parent_sampled sampler.
| +| `remote_parent_not_sampled` | [`Sampler`](#sampler) | false | If omitted, always_off is used. | No constraints. | Configure remote_parent_not_sampled sampler.
| +| `local_parent_sampled` | [`Sampler`](#sampler) | false | If omitted, always_on is used. | No constraints. | Configure local_parent_sampled sampler.
| +| `local_parent_not_sampled` | [`Sampler`](#sampler) | false | If omitted, always_off is used. | No constraints. | Configure local_parent_not_sampled sampler.
|
Language support status @@ -4463,13 +4463,13 @@ Usages: ## PeriodicMetricReader -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `interval` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure delay interval (in milliseconds) between start of two consecutive exports.
Value must be non-negative.
If omitted or null, 60000 is used.
| -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 30000 is used.
| -| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | `true` | No constraints. | Configure exporter. | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | Configure metric producers. | -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. | +| `interval` | one of:
* `integer`
* `null`
| false | If omitted or null, 60000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between start of two consecutive exports.
Value must be non-negative.
| +| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. | +| `producers` | `array` of [`MetricProducer`](#metricproducer) | false | If omitted, TODO. | No constraints. | Configure metric producers. | +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | false | If omitted, TODO. | No constraints. | Configure cardinality limits. |
Language support status @@ -4535,10 +4535,10 @@ Usages: ## Propagator -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `composite` | `array` of [`TextMapPropagator`](#textmappropagator) | `false` | No constraints. | Configure 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.
If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used.
| -| `composite_list` | one of:
* `string`
* `null`
| `false` | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray.
If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used.
| +| `composite` | `array` of [`TextMapPropagator`](#textmappropagator) | false | If omitted, and .composite_list is empty, a noop propagator is used. | No constraints. | Configure 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_list` | one of:
* `string`
* `null`
| false | If omitted or null, and .composite is empty, a noop propagator is used. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray.
|
Language support status @@ -4659,9 +4659,9 @@ Usages: `PullMetricExporter` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `prometheus/development` | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | `false` | No constraints. | Configure exporter to be prometheus.
This type is in development and subject to breaking changes in minor versions.
| +| `prometheus/development` | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | false | If omitted, TODO. | No constraints. | Configure exporter to be prometheus.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -4707,11 +4707,11 @@ Usages: ## PullMetricReader -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | `true` | No constraints. | Configure exporter. | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | Configure metric producers. | -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. | +| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. | +| `producers` | `array` of [`MetricProducer`](#metricproducer) | false | If omitted, TODO. | No constraints. | Configure metric producers. | +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | false | If omitted, TODO. | No constraints. | Configure cardinality limits. |
Language support status @@ -4763,12 +4763,12 @@ Usages: `PushMetricExporter` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP transport.
| -| `otlp_grpc` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport.
| -| `otlp_file/development` | [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| -| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console.
| +| `otlp_http` | [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport.
| +| `otlp_grpc` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport.
| +| `otlp_file/development` | [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| +| `console` | [`ConsoleExporter`](#consoleexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be console.
|
Language support status @@ -4824,12 +4824,12 @@ Usages: ## Resource -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attributes` | `array` of [`AttributeNameValue`](#attributenamevalue) | `false` | No constraints. | Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
| -| `detection/development` | [`ExperimentalResourceDetection`](#experimentalresourcedetection) | `false` | No constraints. | Configure resource detection.
This type is in development and subject to breaking changes in minor versions.
If omitted or null, resource detection is disabled.
| -| `schema_url` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure resource schema URL.
If omitted or null, no schema URL is used.
| -| `attributes_list` | one of:
* `string`
* `null`
| `false` | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
If omitted or null, no resource attributes are added.
| +| `attributes` | `array` of [`AttributeNameValue`](#attributenamevalue) | false | If omitted, no resource attributes are added. | No constraints. | Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
| +| `detection/development` | [`ExperimentalResourceDetection`](#experimentalresourcedetection) | false | If omitted, resource detection is disabled. | No constraints. | Configure resource detection.
This type is in development and subject to breaking changes in minor versions.
| +| `schema_url` | one of:
* `string`
* `null`
| false | If omitted or null, no schema URL is used. | No constraints. | Configure resource schema URL.
| +| `attributes_list` | one of:
* `string`
* `null`
| false | If omitted or null, no resource attributes are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
|
Language support status @@ -5026,13 +5026,13 @@ Usages: `Sampler` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `always_off` | [`AlwaysOffSampler`](#alwaysoffsampler) | `false` | No constraints. | Configure sampler to be always_off. | -| `always_on` | [`AlwaysOnSampler`](#alwaysonsampler) | `false` | No constraints. | Configure sampler to be always_on. | -| `jaeger_remote` | [`JaegerRemoteSampler`](#jaegerremotesampler) | `false` | No constraints. | TODO | -| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | `false` | No constraints. | Configure sampler to be parent_based. | -| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | `false` | No constraints. | Configure sampler to be trace_id_ratio_based. | +| `always_off` | [`AlwaysOffSampler`](#alwaysoffsampler) | false | If omitted, ignore. | No constraints. | Configure sampler to be always_off. | +| `always_on` | [`AlwaysOnSampler`](#alwaysonsampler) | false | If omitted, ignore. | No constraints. | Configure sampler to be always_on. | +| `jaeger_remote` | [`JaegerRemoteSampler`](#jaegerremotesampler) | false | If omitted, ignore. | No constraints. | TODO | +| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | false | If omitted, ignore. | No constraints. | Configure sampler to be parent_based. | +| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | false | If omitted, ignore. | No constraints. | Configure sampler to be trace_id_ratio_based. |
Language support status @@ -5098,9 +5098,9 @@ Usages: ## SimpleLogRecordProcessor -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`LogRecordExporter`](#logrecordexporter) | `true` | No constraints. | Configure exporter. | +| `exporter` | [`LogRecordExporter`](#logrecordexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. |
Language support status @@ -5139,9 +5139,9 @@ Usages: ## SimpleSpanProcessor -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | Configure exporter. | +| `exporter` | [`SpanExporter`](#spanexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. |
Language support status @@ -5182,13 +5182,13 @@ Usages: `SpanExporter` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP transport. | -| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport. | -| `otlp_file/development` | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| -| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. | -| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | `false` | No constraints. | Configure exporter to be zipkin. | +| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. | +| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. | +| `otlp_file/development` | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| +| `console` | [`ConsoleExporter`](#consoleexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be console. | +| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be zipkin. |
Language support status @@ -5249,14 +5249,14 @@ Usages: ## SpanLimits -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
If omitted or null, there is no limit.
| -| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
If omitted or null, 128 is used.
| -| `event_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max span event count.
Value must be non-negative.
If omitted or null, 128 is used.
| -| `link_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max span link count.
Value must be non-negative.
If omitted or null, 128 is used.
| -| `event_attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max attributes per span event.
Value must be non-negative.
If omitted or null, 128 is used.
| -| `link_attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max attributes per span link.
Value must be non-negative.
If omitted or null, 128 is used.
| +| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, there is no limit. | * `minimum`: `0`
| Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
| +| `attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
| +| `event_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max span event count.
Value must be non-negative.
| +| `link_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max span link count.
Value must be non-negative.
| +| `event_attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attributes per span event.
Value must be non-negative.
| +| `link_attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attributes per span link.
Value must be non-negative.
|
Language support status @@ -5337,10 +5337,10 @@ Usages: `SpanProcessor` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `batch` | [`BatchSpanProcessor`](#batchspanprocessor) | `false` | No constraints. | Configure a batch span processor. | -| `simple` | [`SimpleSpanProcessor`](#simplespanprocessor) | `false` | No constraints. | Configure a simple span processor. | +| `batch` | [`BatchSpanProcessor`](#batchspanprocessor) | false | If omitted, ignore. | No constraints. | Configure a batch span processor. | +| `simple` | [`SimpleSpanProcessor`](#simplespanprocessor) | false | If omitted, ignore. | No constraints. | Configure a simple span processor. |
Language support status @@ -5415,14 +5415,14 @@ Usages: `TextMapPropagator` is an [SDK extension plugin](#sdk-extension-plugins). -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `tracecontext` | [`TraceContextPropagator`](#tracecontextpropagator) | `false` | No constraints. | Include the w3c trace context propagator. | -| `baggage` | [`BaggagePropagator`](#baggagepropagator) | `false` | No constraints. | Include the w3c baggage propagator. | -| `b3` | [`B3Propagator`](#b3propagator) | `false` | No constraints. | Include the zipkin b3 propagator. | -| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | `false` | No constraints. | Include the zipkin b3 multi propagator. | -| `jaeger` | [`JaegerPropagator`](#jaegerpropagator) | `false` | No constraints. | Include the jaeger propagator. | -| `ottrace` | [`OpenTracingPropagator`](#opentracingpropagator) | `false` | No constraints. | Include the opentracing propagator. | +| `tracecontext` | [`TraceContextPropagator`](#tracecontextpropagator) | false | If omitted, ignore. | No constraints. | Include the w3c trace context propagator. | +| `baggage` | [`BaggagePropagator`](#baggagepropagator) | false | If omitted, ignore. | No constraints. | Include the w3c baggage propagator. | +| `b3` | [`B3Propagator`](#b3propagator) | false | If omitted, ignore. | No constraints. | Include the zipkin b3 propagator. | +| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | false | If omitted, ignore. | No constraints. | Include the zipkin b3 multi propagator. | +| `jaeger` | [`JaegerPropagator`](#jaegerpropagator) | false | If omitted, ignore. | No constraints. | Include the jaeger propagator. | +| `ottrace` | [`OpenTracingPropagator`](#opentracingpropagator) | false | If omitted, ignore. | No constraints. | Include the opentracing propagator. |
Language support status @@ -5511,9 +5511,9 @@ Usages: ## TraceIdRatioBasedSampler -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `ratio` | one of:
* `number`
* `null`
| `false` | No constraints. | Configure trace_id_ratio.
If omitted or null, 1.0 is used.
| +| `ratio` | one of:
* `number`
* `null`
| false | If omitted or null, 1.0 is used. | No constraints. | Configure trace_id_ratio.
|
Language support status @@ -5554,12 +5554,12 @@ Usages: ## TracerProvider -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | `true` | No constraints. | Configure span processors. | -| `limits` | [`SpanLimits`](#spanlimits) | `false` | No constraints. | Configure span limits. See also attribute_limits. | -| `sampler` | [`Sampler`](#sampler) | `false` | No constraints. | Configure the sampler.
If omitted, parent based sampler with a root of always_on is used.
| -| `tracer_configurator/development` | [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | `false` | No constraints. | Configure tracers.
This type is in development and subject to breaking changes in minor versions.
| +| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | true | Property is required and must be non-null. | No constraints. | Configure span processors. | +| `limits` | [`SpanLimits`](#spanlimits) | false | If omitted, default span limits are used. | No constraints. | Configure span limits. See also attribute_limits. | +| `sampler` | [`Sampler`](#sampler) | false | If omitted, parent based sampler with a root of always_on is used. | No constraints. | Configure the sampler.
| +| `tracer_configurator/development` | [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | false | If omitted, TODO. | No constraints. | Configure tracers.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -5939,10 +5939,10 @@ Usages: ## View -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `selector` | [`ViewSelector`](#viewselector) | `false` | No constraints. | Configure view selector.
Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.
| -| `stream` | [`ViewStream`](#viewstream) | `false` | No constraints. | Configure view stream. | +| `selector` | [`ViewSelector`](#viewselector) | false | If omitted, TODO. | No constraints. | Configure view selector.
Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.
| +| `stream` | [`ViewStream`](#viewstream) | false | If omitted, TODO. | No constraints. | Configure view stream. |
Language support status @@ -5981,14 +5981,14 @@ Usages: ## ViewSelector -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `instrument_name` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure instrument name selection criteria.
If omitted or null, all instrument names match.
| -| `instrument_type` | [`InstrumentType`](#instrumenttype) | `false` | No constraints. | Configure instrument type selection criteria.
Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.
If omitted or null, all instrument types match.
| -| `unit` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure the instrument unit selection criteria.
If omitted or null, all instrument units match.
| -| `meter_name` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure meter name selection criteria.
If omitted or null, all meter names match.
| -| `meter_version` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure meter version selection criteria.
If omitted or null, all meter versions match.
| -| `meter_schema_url` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure meter schema url selection criteria.
If omitted or null, all meter schema URLs match.
| +| `instrument_name` | one of:
* `string`
* `null`
| false | If omitted or null, all instrument names match. | No constraints. | Configure instrument name selection criteria.
| +| `instrument_type` | [`InstrumentType`](#instrumenttype) | false | If omitted, all instrument types match. | No constraints. | Configure instrument type selection criteria.
Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.
| +| `unit` | one of:
* `string`
* `null`
| false | If omitted or null, all instrument units match. | No constraints. | Configure the instrument unit selection criteria.
| +| `meter_name` | one of:
* `string`
* `null`
| false | If omitted or null, all meter names match. | No constraints. | Configure meter name selection criteria.
| +| `meter_version` | one of:
* `string`
* `null`
| false | If omitted or null, all meter versions match. | No constraints. | Configure meter version selection criteria.
| +| `meter_schema_url` | one of:
* `string`
* `null`
| false | If omitted or null, all meter schema URLs match. | No constraints. | Configure meter schema url selection criteria.
|
Language support status @@ -6058,13 +6058,13 @@ Usages: ## ViewStream -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure metric name of the resulting stream(s).
If omitted or null, the instrument's original name is used.
| -| `description` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure metric description of the resulting stream(s).
If omitted or null, the instrument's origin description is used.
| -| `aggregation` | [`Aggregation`](#aggregation) | `false` | No constraints. | Configure aggregation of the resulting stream(s).
Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation.
If omitted, default is used.
| -| `aggregation_cardinality_limit` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| Configure the aggregation cardinality limit.
If omitted or null, the metric reader's default cardinality limit is used.
| -| `attribute_keys` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | Configure attribute keys retained in the resulting stream(s).
| +| `name` | one of:
* `string`
* `null`
| false | If omitted or null, the instrument's original name is used. | No constraints. | Configure metric name of the resulting stream(s).
| +| `description` | one of:
* `string`
* `null`
| false | If omitted or null, the instrument's origin description is used. | No constraints. | Configure metric description of the resulting stream(s).
| +| `aggregation` | [`Aggregation`](#aggregation) | false | If omitted, TODO. | No constraints. | Configure aggregation of the resulting stream(s).
Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation.
If omitted, default is used.
| +| `aggregation_cardinality_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, the metric reader's default cardinality limit is used. | * `exclusiveMinimum`: `0`
| Configure the aggregation cardinality limit.
| +| `attribute_keys` | [`IncludeExclude`](#includeexclude) | false | If omitted, TODO. | No constraints. | Configure attribute keys retained in the resulting stream(s).
|
Language support status @@ -6125,10 +6125,10 @@ Usages: ## ZipkinSpanExporter -| Property | Type | Required? | Constraints | Description | +| Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure endpoint.
If omitted or null, http://localhost:9411/api/v2/spans is used.
| -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates indefinite.
If omitted or null, 10000 is used.
| +| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, http://localhost:9411/api/v2/spans is used. | No constraints. | Configure endpoint.
| +| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates indefinite.
|
Language support status diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index ae9f291b..fb6e1d2c 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -2,16 +2,22 @@ properties: - property: default description: TODO + defaultBehavior: TODO - property: drop description: TODO + defaultBehavior: TODO - property: explicit_bucket_histogram description: Configure aggregation to be explicit_bucket_histogram. + defaultBehavior: TODO - property: base2_exponential_bucket_histogram description: TODO + defaultBehavior: TODO - property: last_value description: TODO + defaultBehavior: TODO - property: sum description: TODO + defaultBehavior: TODO isSdkExtensionPlugin: false - type: AlwaysOffSampler properties: [] @@ -25,12 +31,12 @@ description: | Configure max attribute value size. Value must be non-negative. - If omitted or null, there is no limit. + defaultBehavior: there is no limit - property: attribute_count_limit description: | Configure max attribute count. Value must be non-negative. - If omitted or null, 128 is used. + defaultBehavior: 128 is used isSdkExtensionPlugin: false - type: AttributeNameValue properties: @@ -45,7 +51,7 @@ description: | The attribute type. Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - If omitted or null, string is used. + defaultBehavior: string is used isSdkExtensionPlugin: false - type: AttributeType properties: [] @@ -63,10 +69,13 @@ properties: - property: max_scale description: TODO + defaultBehavior: TODO - property: max_size description: TODO + defaultBehavior: TODO - property: record_min_max description: TODO + defaultBehavior: TODO isSdkExtensionPlugin: false - type: BatchLogRecordProcessor properties: @@ -74,20 +83,20 @@ description: | Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. - If omitted or null, 1000 is used. + defaultBehavior: 1000 is used - property: export_timeout description: | Configure maximum allowed time (in milliseconds) to export data. Value must be non-negative. A value of 0 indicates no limit (infinity). - If omitted or null, 30000 is used. + defaultBehavior: 30000 is used - property: max_queue_size description: | Configure maximum queue size. Value must be positive. - If omitted or null, 2048 is used. + defaultBehavior: 2048 is used - property: max_export_batch_size description: | Configure maximum batch size. Value must be positive. - If omitted or null, 512 is used. + defaultBehavior: 512 is used - property: exporter description: Configure exporter. isSdkExtensionPlugin: false @@ -97,20 +106,20 @@ description: | Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. - If omitted or null, 5000 is used. + defaultBehavior: 5000 is used - property: export_timeout description: | Configure maximum allowed time (in milliseconds) to export data. Value must be non-negative. A value of 0 indicates no limit (infinity). - If omitted or null, 30000 is used. + defaultBehavior: 30000 is used - property: max_queue_size description: | Configure maximum queue size. Value must be positive. - If omitted or null, 2048 is used. + defaultBehavior: 2048 is used - property: max_export_batch_size description: | Configure maximum batch size. Value must be positive. - If omitted or null, 512 is used. + defaultBehavior: 512 is used - property: exporter description: Configure exporter. isSdkExtensionPlugin: false @@ -119,36 +128,36 @@ - property: default description: | Configure default cardinality limit for all instrument types. - Instrument-specific cardinality limits take priority. - If omitted or null, 2000 is used. + Instrument-specific cardinality limits take priority. + defaultBehavior: 2000 is used - property: counter description: | Configure default cardinality limit for counter instruments. - If omitted or null, the value from .default is used. + defaultBehavior: the value from .default is used - property: gauge description: | Configure default cardinality limit for gauge instruments. - If omitted or null, the value from .default is used. + defaultBehavior: the value from .default is used - property: histogram description: | Configure default cardinality limit for histogram instruments. - If omitted or null, the value from .default is used. + defaultBehavior: the value from .default is used - property: observable_counter description: | Configure default cardinality limit for observable_counter instruments. - If omitted or null, the value from .default is used. + defaultBehavior: the value from .default is used - property: observable_gauge description: | Configure default cardinality limit for observable_gauge instruments. - If omitted or null, the value from .default is used. + defaultBehavior: the value from .default is used - property: observable_up_down_counter description: | Configure default cardinality limit for observable_up_down_counter instruments. - If omitted or null, the value from .default is used. + defaultBehavior: the value from .default is used - property: up_down_counter description: | Configure default cardinality limit for up_down_counter instruments. - If omitted or null, the value from .default is used. + defaultBehavior: the value from .default is used isSdkExtensionPlugin: false - type: ConsoleExporter properties: [] @@ -171,10 +180,12 @@ description: | Configure instrumentations following the peer semantic conventions. See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/ + defaultBehavior: TODO - property: http description: | Configure instrumentations following the http semantic conventions. See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalHostResourceDetector properties: [] @@ -184,25 +195,31 @@ - property: request_captured_headers description: | Configure headers to capture for outbound http requests. + defaultBehavior: TODO - property: response_captured_headers description: | Configure headers to capture for inbound http responses. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalHttpInstrumentation properties: - property: client description: Configure instrumentations following the http client semantic conventions. + defaultBehavior: TODO - property: server description: Configure instrumentations following the http server semantic conventions. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalHttpServerInstrumentation properties: - property: request_captured_headers description: | Configure headers to capture for inbound http requests. + defaultBehavior: TODO - property: response_captured_headers description: | Configure headers to capture for outbound http responses. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalInstrumentation properties: @@ -210,48 +227,60 @@ description: | 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.. + defaultBehavior: TODO - property: cpp description: Configure C++ language-specific instrumentation libraries. + defaultBehavior: TODO - property: dotnet description: | Configure .NET language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: erlang description: | Configure Erlang language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: go description: | Configure Go language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: java description: | Configure Java language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: js description: | Configure JavaScript language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: php description: | Configure PHP language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: python description: | Configure Python language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: ruby description: | Configure Ruby language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: rust description: | Configure Rust language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO - property: swift description: | Configure Swift language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalLanguageSpecificInstrumentation properties: [] @@ -260,13 +289,16 @@ properties: - property: disabled description: Configure if the logger is enabled or not. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalLoggerConfigurator properties: - property: default_config description: Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. + defaultBehavior: TODO - property: loggers description: Configure loggers. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalLoggerMatcherAndConfig properties: @@ -276,20 +308,25 @@ * 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. + defaultBehavior: TODO - property: config description: The logger config. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalMeterConfig properties: - property: disabled description: Configure if the meter is enabled or not. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalMeterConfigurator properties: - property: default_config description: Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. + defaultBehavior: TODO - property: meters description: Configure meters. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalMeterMatcherAndConfig properties: @@ -299,8 +336,10 @@ * 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. + defaultBehavior: TODO - property: config description: The meter config. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalOtlpFileExporter properties: @@ -308,7 +347,7 @@ description: | Configure output stream. Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - If omitted or null, stdout is used. + defaultBehavior: stdout is used isSdkExtensionPlugin: false - type: ExperimentalOtlpFileMetricExporter properties: @@ -316,17 +355,17 @@ description: | Configure output stream. Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - If omitted or null, stdout is used. + defaultBehavior: stdout is used - property: temporality_preference description: | Configure temporality preference. Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - If omitted or null, cumulative is used. + defaultBehavior: cumulative is used - property: default_histogram_aggregation description: | Configure default histogram aggregation. Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - If omitted or null, explicit_bucket_histogram is used. + defaultBehavior: explicit_bucket_histogram is used isSdkExtensionPlugin: false - type: ExperimentalPeerInstrumentation properties: @@ -334,6 +373,7 @@ description: | Configure the service mapping for instrumentations following peer.service semantic conventions. See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalPeerServiceMapping properties: @@ -352,17 +392,18 @@ - property: host description: | Configure host. - If omitted or null, localhost is used. + defaultBehavior: localhost is used - property: port description: | Configure port. - If omitted or null, 9464 is used. + defaultBehavior: 9464 is used - property: without_scope_info description: | Configure Prometheus Exporter to produce metrics without a scope info metric. - If omitted or null, false is used. + defaultBehavior: false is used - property: with_resource_constant_labels description: Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. + defaultBehavior: TODO - property: translation_strategy description: | Configure how Prometheus metrics are exposed. Values include: @@ -371,33 +412,37 @@ * UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached. * NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached. * NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered. - - If omitted or null, UnderscoreEscapingWithSuffixes is used. + defaultBehavior: UnderscoreEscapingWithSuffixes is used isSdkExtensionPlugin: false - type: ExperimentalResourceDetection properties: - property: attributes description: Configure attributes provided by resource detectors. + defaultBehavior: TODO - property: detectors description: | Configure resource detectors. - Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. - If omitted or null, no resource detectors are enabled. + Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. + defaultBehavior: no resource detectors are enabled isSdkExtensionPlugin: false - type: ExperimentalResourceDetector properties: - property: container description: | Enable the container resource detector, which populates container.* attributes. + defaultBehavior: TODO - property: host description: | Enable the host resource detector, which populates host.* and os.* attributes. + defaultBehavior: TODO - property: process description: | Enable the process resource detector, which populates process.* attributes. + defaultBehavior: TODO - property: service description: | Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id. + defaultBehavior: TODO isSdkExtensionPlugin: true - type: ExperimentalServiceResourceDetector properties: [] @@ -406,13 +451,16 @@ properties: - property: disabled description: Configure if the tracer is enabled or not. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalTracerConfigurator properties: - property: default_config description: Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. + defaultBehavior: TODO - property: tracers description: Configure tracers. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExperimentalTracerMatcherAndConfig properties: @@ -422,8 +470,10 @@ * 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. + defaultBehavior: TODO - property: config description: The tracer config. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ExplicitBucketHistogramAggregation properties: @@ -431,10 +481,11 @@ description: | Configure bucket boundaries. If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. + defaultBehavior: TODO - property: record_min_max description: | Configure record min and max. - If omitted or null, true is used. + defaultBehavior: true is used isSdkExtensionPlugin: false - type: ExporterDefaultHistogramAggregation properties: [] @@ -448,22 +499,22 @@ description: | Configure certificate used to verify a server's TLS credentials. Absolute path to certificate file in PEM format. - If omitted or null, system default certificate verification is used for secure connections. + defaultBehavior: system default certificate verification is used for secure connections - property: client_key_file description: | Configure mTLS private client key. Absolute path to client key file in PEM format. If set, .client_certificate must also be set. - If omitted or null, mTLS is not used. + defaultBehavior: mTLS is not used - property: client_certificate_file description: | Configure mTLS client certificate. Absolute path to client certificate file in PEM format. If set, .client_key must also be set. - If omitted or null, mTLS is not used. + defaultBehavior: mTLS is not used - property: insecure description: | 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. - If omitted or null, false is used. + defaultBehavior: false is used isSdkExtensionPlugin: false - type: HttpTls properties: @@ -471,17 +522,17 @@ description: | Configure certificate used to verify a server's TLS credentials. Absolute path to certificate file in PEM format. - If omitted or null, system default certificate verification is used for secure connections. + defaultBehavior: system default certificate verification is used for secure connections - property: client_key_file description: | Configure mTLS private client key. Absolute path to client key file in PEM format. If set, .client_certificate must also be set. - If omitted or null, mTLS is not used. + defaultBehavior: mTLS is not used - property: client_certificate_file description: | Configure mTLS client certificate. Absolute path to client certificate file in PEM format. If set, .client_key must also be set. - If omitted or null, mTLS is not used. + defaultBehavior: mTLS is not used isSdkExtensionPlugin: false - type: IncludeExclude properties: @@ -492,6 +543,7 @@ * 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. If omitted, all values are included. + defaultBehavior: TODO - property: excluded description: | Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). @@ -499,6 +551,7 @@ * 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. If omitted, .included attributes are included. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: InstrumentType properties: [] @@ -510,10 +563,13 @@ properties: - property: endpoint description: TODO + defaultBehavior: TODO - property: interval description: TODO + defaultBehavior: TODO - property: initial_sampler description: TODO + defaultBehavior: TODO isSdkExtensionPlugin: false - type: LastValueAggregation properties: [] @@ -524,23 +580,29 @@ description: Configure log record processors. - property: limits description: Configure log record limits. See also attribute_limits. + defaultBehavior: default log record limits are used - property: logger_configurator/development description: | Configure loggers. This type is in development and subject to breaking changes in minor versions. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: LogRecordExporter properties: - property: otlp_http description: Configure exporter to be OTLP with HTTP transport. + defaultBehavior: ignore - property: otlp_grpc description: Configure exporter to be OTLP with gRPC transport. + defaultBehavior: ignore - property: otlp_file/development description: | Configure exporter to be OTLP with file transport. This type is in development and subject to breaking changes in minor versions. + defaultBehavior: ignore - property: console description: Configure exporter to be console. + defaultBehavior: ignore isSdkExtensionPlugin: true - type: LogRecordLimits properties: @@ -548,19 +610,21 @@ description: | Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. Value must be non-negative. - If omitted or null, there is no limit. + defaultBehavior: there is no limit - property: attribute_count_limit description: | Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. Value must be non-negative. - If omitted or null, 128 is used. + defaultBehavior: 128 is used isSdkExtensionPlugin: false - type: LogRecordProcessor properties: - property: batch description: Configure a batch log record processor. + defaultBehavior: ignore - property: simple description: Configure a simple log record processor. + defaultBehavior: ignore isSdkExtensionPlugin: true - type: MeterProvider properties: @@ -570,27 +634,32 @@ description: | Configure views. Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). + defaultBehavior: TODO - property: exemplar_filter description: | Configure the exemplar filter. Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. - If omitted or null, trace_based is used. + defaultBehavior: trace_based is used - property: meter_configurator/development description: | Configure meters. This type is in development and subject to breaking changes in minor versions. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: MetricProducer properties: - property: opencensus description: Configure metric producer to be opencensus. + defaultBehavior: TODO isSdkExtensionPlugin: true - type: MetricReader properties: - property: periodic description: Configure a periodic metric reader. + defaultBehavior: ignore - property: pull description: Configure a pull based metric reader. + defaultBehavior: ignore isSdkExtensionPlugin: false - type: NameStringValuePair properties: @@ -598,6 +667,7 @@ description: The name of the pair. - property: value description: The value of the pair. + nullBehavior: TODO isSdkExtensionPlugin: false - type: OpenCensusMetricProducer properties: [] @@ -612,38 +682,40 @@ - property: disabled description: | Configure if the SDK is disabled or not. - If omitted or null, false is used. + defaultBehavior: false is used - property: log_level description: | Configure the log level of the internal logger used by the SDK. - If omitted, info is used. + defaultBehavior: info is used - property: attribute_limits description: | Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. + defaultBehavior: default values for general attributes are used - property: logger_provider description: | Configure logger provider. - If omitted, a noop logger provider is used. + defaultBehavior: a noop logger provider is used - property: meter_provider description: | Configure meter provider. - If omitted, a noop meter provider is used. + defaultBehavior: a noop meter provider is used - property: propagator description: | Configure text map context propagators. - If omitted, a noop propagator is used. + defaultBehavior: a noop propagator is used - property: tracer_provider description: | Configure tracer provider. - If omitted, a noop tracer provider is used. + defaultBehavior: a noop tracer provider is used - property: resource description: | Configure resource for all signals. - If omitted, the default resource is used. + defaultBehavior: the default resource is used - property: instrumentation/development description: | Configure instrumentation. This type is in development and subject to breaking changes in minor versions. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: OpenTracingPropagator properties: [] @@ -653,66 +725,70 @@ - property: endpoint description: | Configure endpoint. - If omitted or null, http://localhost:4317 is used. + defaultBehavior: http://localhost:4317 is used - property: headers description: | Configure headers. Entries have higher priority than entries from .headers_list. If an entry's .value is null, the entry is ignored. + defaultBehavior: no headers are added - property: headers_list description: | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - If omitted or null, no headers are added. + defaultBehavior: no headers are added - property: compression description: | Configure compression. Values include: gzip, none. Implementations may support other compression algorithms. - If omitted or null, none is used. + defaultBehavior: none is used - property: timeout description: | Configure max time (in milliseconds) to wait for each export. Value must be non-negative. A value of 0 indicates no limit (infinity). - If omitted or null, 10000 is used. + defaultBehavior: 10000 is used - property: tls description: Configure TLS settings for the exporter. + defaultBehavior: system default TLS settings are used isSdkExtensionPlugin: false - type: OtlpGrpcMetricExporter properties: - property: endpoint description: | Configure endpoint. - If omitted or null, http://localhost:4317 is used. + defaultBehavior: http://localhost:4317 is used - property: headers description: | Configure headers. Entries have higher priority than entries from .headers_list. If an entry's .value is null, the entry is ignored. + defaultBehavior: no headers are added - property: headers_list description: | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - If omitted or null, no headers are added. + defaultBehavior: no headers are added - property: compression description: | Configure compression. Values include: gzip, none. Implementations may support other compression algorithms. - If omitted or null, none is used. + defaultBehavior: none is used - property: timeout description: | Configure max time (in milliseconds) to wait for each export. Value must be non-negative. A value of 0 indicates no limit (infinity). - If omitted or null, 10000 is used. + defaultBehavior: 10000 is used - property: temporality_preference description: | Configure temporality preference. Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - If omitted or null, cumulative is used. + defaultBehavior: cumulative is used - property: default_histogram_aggregation description: | Configure default histogram aggregation. Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - If omitted or null, explicit_bucket_histogram is used. + defaultBehavior: explicit_bucket_histogram is used - property: tls description: Configure TLS settings for the exporter. + defaultBehavior: system default TLS settings are used isSdkExtensionPlugin: false - type: OtlpHttpEncoding properties: [] @@ -722,103 +798,107 @@ - property: endpoint description: | Configure endpoint, including the signal specific path. - If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + defaultBehavior: the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used - property: headers description: | Configure headers. Entries have higher priority than entries from .headers_list. If an entry's .value is null, the entry is ignored. + defaultBehavior: no headers are added - property: headers_list description: | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - If omitted or null, no headers are added. + defaultBehavior: no headers are added - property: compression description: | Configure compression. Values include: gzip, none. Implementations may support other compression algorithms. - If omitted or null, none is used. + defaultBehavior: none is used - property: timeout description: | Configure max time (in milliseconds) to wait for each export. Value must be non-negative. A value of 0 indicates no limit (infinity). - If omitted or null, 10000 is used. + defaultBehavior: 10000 is used - property: encoding description: | Configure the encoding used for messages. Values include: protobuf, json. Implementations may not support json. - If omitted or null, protobuf is used. + defaultBehavior: protobuf is used - property: tls description: Configure TLS settings for the exporter. + defaultBehavior: system default TLS settings are used isSdkExtensionPlugin: false - type: OtlpHttpMetricExporter properties: - property: endpoint description: | Configure endpoint, including the signal specific path. - If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + defaultBehavior: the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used - property: endpoint description: | Configure endpoint. - If omitted or null, http://localhost:4317 is used. + defaultBehavior: http://localhost:4317 is used - property: headers description: | Configure headers. Entries have higher priority than entries from .headers_list. If an entry's .value is null, the entry is ignored. + defaultBehavior: no headers are added - property: headers_list description: | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - If omitted or null, no headers are added. + defaultBehavior: no headers are added - property: compression description: | Configure compression. Values include: gzip, none. Implementations may support other compression algorithms. - If omitted or null, none is used. + defaultBehavior: none is used - property: timeout description: | Configure max time (in milliseconds) to wait for each export. Value must be non-negative. A value of 0 indicates no limit (infinity). - If omitted or null, 10000 is used. + defaultBehavior: 10000 is used - property: encoding description: | Configure the encoding used for messages. Values include: protobuf, json. Implementations may not support json. - If omitted or null, protobuf is used. + defaultBehavior: protobuf is used - property: temporality_preference description: | Configure temporality preference. Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - If omitted or null, cumulative is used. + defaultBehavior: cumulative is used - property: default_histogram_aggregation description: | Configure default histogram aggregation. Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - If omitted or null, explicit_bucket_histogram is used. + defaultBehavior: explicit_bucket_histogram is used - property: tls description: Configure TLS settings for the exporter. + defaultBehavior: system default TLS settings are used isSdkExtensionPlugin: false - type: ParentBasedSampler properties: - property: root description: | Configure root sampler. - If omitted or null, always_on is used. + defaultBehavior: always_on is used - property: remote_parent_sampled description: | Configure remote_parent_sampled sampler. - If omitted or null, always_on is used. + defaultBehavior: always_on is used - property: remote_parent_not_sampled description: | Configure remote_parent_not_sampled sampler. - If omitted or null, always_off is used. + defaultBehavior: always_off is used - property: local_parent_sampled description: | Configure local_parent_sampled sampler. - If omitted or null, always_on is used. + defaultBehavior: always_on is used - property: local_parent_not_sampled description: | Configure local_parent_not_sampled sampler. - If omitted or null, always_off is used. + defaultBehavior: always_off is used isSdkExtensionPlugin: false - type: PeriodicMetricReader properties: @@ -826,18 +906,20 @@ description: | Configure delay interval (in milliseconds) between start of two consecutive exports. Value must be non-negative. - If omitted or null, 60000 is used. + defaultBehavior: 60000 is used - property: timeout description: | Configure maximum allowed time (in milliseconds) to export data. Value must be non-negative. A value of 0 indicates no limit (infinity). - If omitted or null, 30000 is used. + defaultBehavior: 30000 is used - property: exporter description: Configure exporter. - property: producers description: Configure metric producers. + defaultBehavior: TODO - property: cardinality_limits description: Configure cardinality limits. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: Propagator properties: @@ -845,13 +927,13 @@ description: | Configure 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. - If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + defaultBehavior: and .composite_list is empty, a noop propagator is used - property: composite_list description: | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray. - If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + defaultBehavior: and .composite is empty, a noop propagator is used isSdkExtensionPlugin: false - type: PullMetricExporter properties: @@ -859,6 +941,7 @@ description: | Configure exporter to be prometheus. This type is in development and subject to breaking changes in minor versions. + defaultBehavior: TODO isSdkExtensionPlugin: true - type: PullMetricReader properties: @@ -866,57 +949,69 @@ description: Configure exporter. - property: producers description: Configure metric producers. + defaultBehavior: TODO - property: cardinality_limits description: Configure cardinality limits. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: PushMetricExporter properties: - property: otlp_http description: | Configure exporter to be OTLP with HTTP transport. + defaultBehavior: ignore - property: otlp_grpc description: | Configure exporter to be OTLP with gRPC transport. + defaultBehavior: ignore - property: otlp_file/development description: | Configure exporter to be OTLP with file transport. This type is in development and subject to breaking changes in minor versions. + defaultBehavior: ignore - property: console description: | Configure exporter to be console. + defaultBehavior: ignore isSdkExtensionPlugin: true - type: Resource properties: - property: attributes description: | Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. + defaultBehavior: no resource attributes are added - property: detection/development description: | Configure resource detection. This type is in development and subject to breaking changes in minor versions. - If omitted or null, resource detection is disabled. + defaultBehavior: resource detection is disabled - property: schema_url description: | Configure resource schema URL. - If omitted or null, no schema URL is used. + defaultBehavior: no schema URL is used - property: attributes_list description: | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. - If omitted or null, no resource attributes are added. + defaultBehavior: no resource attributes are added isSdkExtensionPlugin: false - type: Sampler properties: - property: always_off description: Configure sampler to be always_off. + defaultBehavior: ignore - property: always_on description: Configure sampler to be always_on. + defaultBehavior: ignore - property: jaeger_remote description: TODO + defaultBehavior: ignore - property: parent_based description: Configure sampler to be parent_based. + defaultBehavior: ignore - property: trace_id_ratio_based description: Configure sampler to be trace_id_ratio_based. + defaultBehavior: ignore isSdkExtensionPlugin: true - type: SimpleLogRecordProcessor properties: @@ -932,16 +1027,21 @@ properties: - property: otlp_http description: Configure exporter to be OTLP with HTTP transport. + defaultBehavior: ignore - property: otlp_grpc description: Configure exporter to be OTLP with gRPC transport. + defaultBehavior: ignore - property: otlp_file/development description: | Configure exporter to be OTLP with file transport. This type is in development and subject to breaking changes in minor versions. + defaultBehavior: ignore - property: console description: Configure exporter to be console. + defaultBehavior: ignore - property: zipkin description: Configure exporter to be zipkin. + defaultBehavior: ignore isSdkExtensionPlugin: true - type: SpanLimits properties: @@ -949,39 +1049,41 @@ description: | Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. Value must be non-negative. - If omitted or null, there is no limit. + defaultBehavior: there is no limit - property: attribute_count_limit description: | Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. Value must be non-negative. - If omitted or null, 128 is used. + defaultBehavior: 128 is used - property: event_count_limit description: | Configure max span event count. Value must be non-negative. - If omitted or null, 128 is used. + defaultBehavior: 128 is used - property: link_count_limit description: | Configure max span link count. Value must be non-negative. - If omitted or null, 128 is used. + defaultBehavior: 128 is used - property: event_attribute_count_limit description: | Configure max attributes per span event. Value must be non-negative. - If omitted or null, 128 is used. + defaultBehavior: 128 is used - property: link_attribute_count_limit description: | Configure max attributes per span link. Value must be non-negative. - If omitted or null, 128 is used. + defaultBehavior: 128 is used isSdkExtensionPlugin: false - type: SpanProcessor properties: - property: batch description: Configure a batch span processor. + defaultBehavior: ignore - property: simple description: Configure a simple span processor. + defaultBehavior: ignore isSdkExtensionPlugin: true - type: SumAggregation properties: [] @@ -990,16 +1092,22 @@ properties: - property: tracecontext description: Include the w3c trace context propagator. + defaultBehavior: ignore - property: baggage description: Include the w3c baggage propagator. + defaultBehavior: ignore - property: b3 description: Include the zipkin b3 propagator. + defaultBehavior: ignore - property: b3multi description: Include the zipkin b3 multi propagator. + defaultBehavior: ignore - property: jaeger description: Include the jaeger propagator. + defaultBehavior: ignore - property: ottrace description: Include the opentracing propagator. + defaultBehavior: ignore isSdkExtensionPlugin: true - type: TraceContextPropagator properties: [] @@ -1009,7 +1117,7 @@ - property: ratio description: | Configure trace_id_ratio. - If omitted or null, 1.0 is used. + defaultBehavior: 1.0 is used isSdkExtensionPlugin: false - type: TracerProvider properties: @@ -1017,14 +1125,16 @@ description: Configure span processors. - property: limits description: Configure span limits. See also attribute_limits. + defaultBehavior: default span limits are used - property: sampler description: | Configure the sampler. - If omitted, parent based sampler with a root of always_on is used. + defaultBehavior: parent based sampler with a root of always_on is used - property: tracer_configurator/development description: | Configure tracers. This type is in development and subject to breaking changes in minor versions. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: View properties: @@ -1032,69 +1142,73 @@ description: | Configure view selector. Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria. + defaultBehavior: TODO - property: stream description: Configure view stream. + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ViewSelector properties: - property: instrument_name description: | Configure instrument name selection criteria. - If omitted or null, all instrument names match. + defaultBehavior: all instrument names match - property: instrument_type description: | Configure instrument type selection criteria. Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter. - If omitted or null, all instrument types match. + defaultBehavior: all instrument types match - property: unit description: | Configure the instrument unit selection criteria. - If omitted or null, all instrument units match. + defaultBehavior: all instrument units match - property: meter_name description: | Configure meter name selection criteria. - If omitted or null, all meter names match. + defaultBehavior: all meter names match - property: meter_version description: | Configure meter version selection criteria. - If omitted or null, all meter versions match. + defaultBehavior: all meter versions match - property: meter_schema_url description: | Configure meter schema url selection criteria. - If omitted or null, all meter schema URLs match. + defaultBehavior: all meter schema URLs match isSdkExtensionPlugin: false - type: ViewStream properties: - property: name description: | Configure metric name of the resulting stream(s). - If omitted or null, the instrument's original name is used. + defaultBehavior: the instrument's original name is used - property: description description: | Configure metric description of the resulting stream(s). - If omitted or null, the instrument's origin description is used. + defaultBehavior: the instrument's origin description is used - property: aggregation description: | Configure aggregation of the resulting stream(s). Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation. If omitted, default is used. + defaultBehavior: TODO - property: aggregation_cardinality_limit description: | Configure the aggregation cardinality limit. - If omitted or null, the metric reader's default cardinality limit is used. + defaultBehavior: the metric reader's default cardinality limit is used - property: attribute_keys description: | Configure attribute keys retained in the resulting stream(s). + defaultBehavior: TODO isSdkExtensionPlugin: false - type: ZipkinSpanExporter properties: - property: endpoint description: | Configure endpoint. - If omitted or null, http://localhost:9411/api/v2/spans is used. + defaultBehavior: http://localhost:9411/api/v2/spans is used - property: timeout description: | Configure max time (in milliseconds) to wait for each export. Value must be non-negative. A value of 0 indicates indefinite. - If omitted or null, 10000 is used. + defaultBehavior: 10000 is used isSdkExtensionPlugin: false diff --git a/scripts/generate-descriptions.js b/scripts/generate-descriptions.js index a7a776ab..6c3e2790 100644 --- a/scripts/generate-descriptions.js +++ b/scripts/generate-descriptions.js @@ -76,10 +76,20 @@ yaml.visit(fileDoc, { debug(`No meta schema property ${propertyKey} for type ${metaSchemaType.type}.`); return; } - debug(`Resolved type ${jsonSchemaType.type}, property ${metaSchemaProperty.property}, description:\n${metaSchemaProperty.description}`); + const jsonSchemaProperty = jsonSchemaType.properties.find(item => item.property === propertyKey); + if (!jsonSchemaProperty) { + debug(`No json schema property ${propertyKey} for type ${jsonSchemaType.type}.`); + return; + } + let fullDescription = metaSchemaProperty.description; + if (!fullDescription.endsWith('\n')) { + fullDescription += '\n'; + } + fullDescription += metaSchemaProperty.defaultAndNullBehavior(jsonSchemaProperty); + debug(`Resolved type ${jsonSchemaType.type}, property ${metaSchemaProperty.property}, description:\n${fullDescription}`); // Set the description - let formattedDescription = metaSchemaProperty.description + let formattedDescription = fullDescription .replace(/\n$/, '') .split('\n') .map(line => ' ' + line) diff --git a/scripts/generate-markdown.js b/scripts/generate-markdown.js index 5b17dc40..e0b2deef 100644 --- a/scripts/generate-markdown.js +++ b/scripts/generate-markdown.js @@ -29,7 +29,6 @@ metaSchema.types.forEach(metaSchemaType => { if (!jsonSchemaType) { throw new Error(`JSON schema type not found for meta schema type ${type}.`); } - const required = jsonSchemaType.schema['required']; // Heading addHeader(type, type.toLowerCase(), 2); @@ -44,7 +43,7 @@ metaSchema.types.forEach(metaSchemaType => { output.push("No properties.\n\n"); } else { // Property type and description table - output.push(`| Property | Type | Required? | Constraints | Description |\n`); + output.push(`| Property | Type | Required? | Default and Null Behavior | Constraints | Description |\n`); output.push("|---|---|---|---|---|\n"); metaSchemaType.properties.forEach(property => { const jsonSchemaProperty = jsonSchemaType.properties.find(item => item.property === property.property); @@ -52,14 +51,14 @@ metaSchema.types.forEach(metaSchemaType => { throw new Error(`JSON schema property not found for property ${property.property} and type ${type}.`); } const formattedPropertyType = formatJsonSchemaPropertyType(jsonSchemaProperty, jsonSchemaTypesByType); - const isRequired = required !== undefined && required.includes(property.property); + const formattedDefaultAndNullBehavior = property.defaultAndNullBehavior(jsonSchemaProperty); let formattedConstraints = resolveAndFormatConstraints(jsonSchemaProperty.schema, '
'); if (formattedConstraints.length === 0) { formattedConstraints = 'No constraints.'; } const formattedDescription = property.description.split("\n").join("
"); - output.push(`| \`${property.property}\` | ${formattedPropertyType} | \`${isRequired}\` | ${formattedConstraints} | ${formattedDescription} |\n`); + output.push(`| \`${property.property}\` | ${formattedPropertyType} | ${jsonSchemaProperty.isRequired} | ${formattedDefaultAndNullBehavior} | ${formattedConstraints} | ${formattedDescription} |\n`); }); output.push('\n'); diff --git a/scripts/json-schema.js b/scripts/json-schema.js index 9e924eb2..73f99476 100644 --- a/scripts/json-schema.js +++ b/scripts/json-schema.js @@ -125,6 +125,7 @@ export class JsonSchemaProperty { types; isSeq; isRequired; + isNullable; schema; constructor(property, types, isSeq, isRequired, schema) { @@ -132,8 +133,15 @@ export class JsonSchemaProperty { this.types = types; this.isSeq = isSeq; this.isRequired = isRequired; + this.isNullable = types.includes('null'); this.schema = schema; } + + toMetaSchemaProperty() { + const defaultBehavior = this.isRequired ? null : "TODO"; + const nullBehavior = this.isRequired && this.isNullable ? "TODO" : null; + return new MetaSchemaProperty(this.property, "TODO", defaultBehavior, nullBehavior); + } } export class JsonSchemaType { @@ -164,7 +172,7 @@ export class JsonSchemaType { toMetaSchemaType() { return new MetaSchemaType( this.type, - this.properties.map(jsonSchemaProperty => new MetaSchemaProperty(jsonSchemaProperty.property, "TODO")), + this.properties.map(property => property.toMetaSchemaProperty()), false ); } diff --git a/scripts/meta-schema.js b/scripts/meta-schema.js index 39beb3d6..87ef9423 100644 --- a/scripts/meta-schema.js +++ b/scripts/meta-schema.js @@ -16,7 +16,8 @@ const IMPLEMENTATION_STATUS_UNKNOWN = 'unknown'; const IMPLEMENTATION_STATUSES = ['supported', IMPLEMENTATION_STATUS_UNKNOWN, 'not_implemented', 'ignored', 'not_applicable'] export function writeMetaSchema(metaSchema) { - fs.writeFileSync(metaSchemaTypesPath, yaml.stringify(metaSchema.types.map(type => type.toJson()), {lineWidth: 0})); + const typesJson = metaSchema.types.map(type => type.toJson()); + fs.writeFileSync(metaSchemaTypesPath, yaml.stringify(typesJson, {lineWidth: 0})); metaSchema.languageImplementations.forEach(languageImplementation => { fs.writeFileSync(metaSchemaLanguageStatusPath(languageImplementation.language), yaml.stringify(languageImplementation.toJson(), {lineWidth: 0})); @@ -101,9 +102,10 @@ export class MetaSchemaType { toJson() { const properties = this.properties.map(property => property.toJson()); - properties.sort((a, b) => a.property.localeCompare(b.property)); + // TODO(jack-berg): sort in separate PR to make review easier + // properties.sort((a, b) => a.property.localeCompare(b.property)); - return {type: this.type, properties: this.properties, isSdkExtensionPlugin: this.isSdkExtensionPlugin}; + return {type: this.type, properties, isSdkExtensionPlugin: this.isSdkExtensionPlugin}; } static parseJson(rawJson, messages) { @@ -123,20 +125,56 @@ export class MetaSchemaType { export class MetaSchemaProperty { property; description; + defaultBehavior; + nullBehavior; - constructor(property, description) { + constructor(property, description, defaultBehavior, nullBehavior) { this.property = property; this.description = description; + this.defaultBehavior = defaultBehavior; + this.nullBehavior = nullBehavior; } toJson() { - return {property: this.property, description: this.description}; + const json = {property: this.property, description: this.description}; + // Only include defaultBehavior, nullBehavior if non-null + if (this.defaultBehavior !== null) { + json.defaultBehavior = this.defaultBehavior; + } + if (this.nullBehavior !== null) { + json.nullBehavior = this.nullBehavior; + } + return json; + } + + defaultAndNullBehavior(jsonSchemaProperty) { + if (jsonSchemaProperty.isRequired) { + if (!jsonSchemaProperty.isNullable) { + return 'Property is required and must be non-null.'; + } + if (this.nullBehavior === null) { + throw new Error(`MetaSchemaProperty ${this.property} is required and nullable but is missing nullBehavior. This is a programming error.`); + } + return `Property must be present, but if null ${this.nullBehavior}.`; + } + if (this.defaultBehavior === null) { + throw new Error(`MetaSchemaProperty ${this.property} is not required but is missing defaultBehavior. This is a programming error.`); + } + if (this.nullBehavior === null) { + if (jsonSchemaProperty.isNullable) { + return `If omitted or null, ${this.defaultBehavior}.`; + } + return `If omitted, ${this.defaultBehavior}.`; + } + return `If omitted, ${this.defaultBehavior}. If present and null, ${this.nullBehavior}.`; } static parseJson(rawJson, messages) { const property = parseString(rawJson, 'property', `MetaSchemaProperty has invalid 'property'`); const description = parseString(rawJson, 'description', `MetaSchemaProperty has invalid 'description'`); - return new MetaSchemaProperty(property, description); + const defaultBehavior = parseString(rawJson, 'defaultBehavior', `MetaSchemaProperty has invalid 'defaultBehavior'`, true); + const nullBehavior = parseString(rawJson, 'nullBehavior', `MetaSchemaProperty has invalid 'nullBehavior'`, true); + return new MetaSchemaProperty(property, description, defaultBehavior, nullBehavior); } } @@ -250,28 +288,41 @@ function reconcileTypes(metaSchema, jsonSchemaTypesByType, messages) { return; } const sanitizedProperties = []; - const jsonSchemaProperties = jsonSchemaType.toMetaSchemaType().properties; // Remove properties in meta schema and not in json schema const jsonSchemaPropertiesByProperty = {}; - jsonSchemaProperties.forEach(property => jsonSchemaPropertiesByProperty[property.property] = property); + jsonSchemaType.properties.forEach(property => jsonSchemaPropertiesByProperty[property.property] = property); metaSchemaType.properties.forEach(property => { const propertyName = property.property; - if (!(propertyName in jsonSchemaPropertiesByProperty)) { + const jsonSchemaProperty = jsonSchemaPropertiesByProperty[propertyName]; + if (!(jsonSchemaProperty)) { messages.push(`Type ${type} has property ${propertyName} in meta schema and not in JSON schema. Removing.`); return; } + // Ensure meta schema property has defaultBehavior, nullBehavior if needed + if (jsonSchemaProperty.isRequired && property.defaultBehavior !== null) { + messages.push(`Type ${type} has property ${propertyName} in meta schema with non-null defaultBehavior, but property is required. Removing.`); + property.defaultBehavior = null; + } + if (!jsonSchemaProperty.isRequired && property.defaultBehavior === null) { + messages.push(`Type ${type} has property ${propertyName} in meta schema which is required, but defaultBehavior is not set. Adding.`); + property.defaultBehavior = "TODO"; + } + if (jsonSchemaProperty.isRequired && jsonSchemaProperty.isNullable && property.nullBehavior === null) { + messages.push(`Type ${type} has property ${propertyName} in meta schema which is required and nullable, but nullBehavior is not set. Adding.`); + property.nullBehavior = "TODO"; + } sanitizedProperties.push(property); }); // Add properties in json schema and not in meta schema const metaSchemaPropertiesByProperty = {}; metaSchemaType.properties.forEach(property => metaSchemaPropertiesByProperty[property.property] = property); - jsonSchemaProperties.forEach(property => { + jsonSchemaType.properties.forEach(property => { const propertyName = property.property; if (!(propertyName in metaSchemaPropertiesByProperty)) { messages.push(`Type ${type} has property ${propertyName} in JSON schema and not in meta schema. Adding.`); - sanitizedProperties.push(property); + sanitizedProperties.push(property.toMetaSchemaProperty()); } }); @@ -377,8 +428,11 @@ function parseEnum(rawJson, propertyName, errorMessage, knownValues) { return string; } -function parseString(rawJson, propertyName, errorMessage) { +function parseString(rawJson, propertyName, errorMessage, nullable = false) { const property = rawJson[propertyName]; + if ((property === null || property === undefined) && nullable) { + return null; + } if (typeof property !== 'string') { throw new Error(errorMessage); } From ac6f92d6814e395c2ba788ff05c4f46b8ff7fca6 Mon Sep 17 00:00:00 2001 From: Jack Berg Date: Fri, 31 Oct 2025 11:01:13 -0500 Subject: [PATCH 2/3] Restore single quotes around required in markdown --- schema-docs.md | 460 +++++++++++++++++------------------ scripts/generate-markdown.js | 2 +- 2 files changed, 231 insertions(+), 231 deletions(-) diff --git a/schema-docs.md b/schema-docs.md index 158eda43..5aee6847 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -107,12 +107,12 @@ TODO | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default` | [`DefaultAggregation`](#defaultaggregation) | false | If omitted, TODO. | No constraints. | TODO | -| `drop` | [`DropAggregation`](#dropaggregation) | false | If omitted, TODO. | No constraints. | TODO | -| `explicit_bucket_histogram` | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | false | If omitted, TODO. | No constraints. | Configure aggregation to be explicit_bucket_histogram. | -| `base2_exponential_bucket_histogram` | [`Base2ExponentialBucketHistogramAggregation`](#base2exponentialbuckethistogramaggregation) | false | If omitted, TODO. | No constraints. | TODO | -| `last_value` | [`LastValueAggregation`](#lastvalueaggregation) | false | If omitted, TODO. | No constraints. | TODO | -| `sum` | [`SumAggregation`](#sumaggregation) | false | If omitted, TODO. | No constraints. | TODO | +| `default` | [`DefaultAggregation`](#defaultaggregation) | `false` | If omitted, TODO. | No constraints. | TODO | +| `drop` | [`DropAggregation`](#dropaggregation) | `false` | If omitted, TODO. | No constraints. | TODO | +| `explicit_bucket_histogram` | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | `false` | If omitted, TODO. | No constraints. | Configure aggregation to be explicit_bucket_histogram. | +| `base2_exponential_bucket_histogram` | [`Base2ExponentialBucketHistogramAggregation`](#base2exponentialbuckethistogramaggregation) | `false` | If omitted, TODO. | No constraints. | TODO | +| `last_value` | [`LastValueAggregation`](#lastvalueaggregation) | `false` | If omitted, TODO. | No constraints. | TODO | +| `sum` | [`SumAggregation`](#sumaggregation) | `false` | If omitted, TODO. | No constraints. | TODO |
Language support status @@ -223,8 +223,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, there is no limit. | No constraints. | Configure max attribute value size.
Value must be non-negative.
| -| `attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | No constraints. | Configure max attribute count.
Value must be non-negative.
| +| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, there is no limit. | No constraints. | Configure max attribute value size.
Value must be non-negative.
| +| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 128 is used. | No constraints. | Configure max attribute count.
Value must be non-negative.
|
Language support status @@ -271,9 +271,9 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | true | Property is required and must be non-null. | No constraints. | The attribute name.
| -| `value` | `oneOf` | true | Property is required and must be non-null. | No constraints. | The attribute value.
The type of value must match .type.
| -| `type` | [`AttributeType`](#attributetype) | false | If omitted, string is used. | No constraints. | The attribute type.
Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.
| +| `name` | `string` | `true` | Property is required and must be non-null. | No constraints. | The attribute name.
| +| `value` | `oneOf` | `true` | Property is required and must be non-null. | No constraints. | The attribute value.
The type of value must match .type.
| +| `type` | [`AttributeType`](#attributetype) | `false` | If omitted, string is used. | No constraints. | The attribute type.
Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.
|
Language support status @@ -464,9 +464,9 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `max_scale` | one of:
* `integer`
* `null`
| false | If omitted or null, TODO. | No constraints. | TODO | -| `max_size` | one of:
* `integer`
* `null`
| false | If omitted or null, TODO. | No constraints. | TODO | -| `record_min_max` | one of:
* `boolean`
* `null`
| false | If omitted or null, TODO. | No constraints. | TODO | +| `max_scale` | one of:
* `integer`
* `null`
| `false` | If omitted or null, TODO. | No constraints. | TODO | +| `max_size` | one of:
* `integer`
* `null`
| `false` | If omitted or null, TODO. | No constraints. | TODO | +| `record_min_max` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, TODO. | No constraints. | TODO |
Language support status @@ -523,11 +523,11 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `schedule_delay` | one of:
* `integer`
* `null`
| false | If omitted or null, 1000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.
| -| `export_timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| -| `max_queue_size` | one of:
* `integer`
* `null`
| false | If omitted or null, 2048 is used. | * `exclusiveMinimum`: `0`
| Configure maximum queue size. Value must be positive.
| -| `max_export_batch_size` | one of:
* `integer`
* `null`
| false | If omitted or null, 512 is used. | * `exclusiveMinimum`: `0`
| Configure maximum batch size. Value must be positive.
| -| `exporter` | [`LogRecordExporter`](#logrecordexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. | +| `schedule_delay` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 1000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.
| +| `export_timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `max_queue_size` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 2048 is used. | * `exclusiveMinimum`: `0`
| Configure maximum queue size. Value must be positive.
| +| `max_export_batch_size` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 512 is used. | * `exclusiveMinimum`: `0`
| Configure maximum batch size. Value must be positive.
| +| `exporter` | [`LogRecordExporter`](#logrecordexporter) | `true` | Property is required and must be non-null. | No constraints. | Configure exporter. |
Language support status @@ -600,11 +600,11 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `schedule_delay` | one of:
* `integer`
* `null`
| false | If omitted or null, 5000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.
| -| `export_timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| -| `max_queue_size` | one of:
* `integer`
* `null`
| false | If omitted or null, 2048 is used. | * `exclusiveMinimum`: `0`
| Configure maximum queue size. Value must be positive.
| -| `max_export_batch_size` | one of:
* `integer`
* `null`
| false | If omitted or null, 512 is used. | * `exclusiveMinimum`: `0`
| Configure maximum batch size. Value must be positive.
| -| `exporter` | [`SpanExporter`](#spanexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. | +| `schedule_delay` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 5000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between two consecutive exports.
Value must be non-negative.
| +| `export_timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `max_queue_size` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 2048 is used. | * `exclusiveMinimum`: `0`
| Configure maximum queue size. Value must be positive.
| +| `max_export_batch_size` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 512 is used. | * `exclusiveMinimum`: `0`
| Configure maximum batch size. Value must be positive.
| +| `exporter` | [`SpanExporter`](#spanexporter) | `true` | Property is required and must be non-null. | No constraints. | Configure exporter. |
Language support status @@ -677,14 +677,14 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default` | one of:
* `integer`
* `null`
| false | If omitted or null, 2000 is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for all instrument types.
Instrument-specific cardinality limits take priority.
| -| `counter` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for counter instruments.
| -| `gauge` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for gauge instruments.
| -| `histogram` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for histogram instruments.
| -| `observable_counter` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_counter instruments.
| -| `observable_gauge` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_gauge instruments.
| -| `observable_up_down_counter` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_up_down_counter instruments.
| -| `up_down_counter` | one of:
* `integer`
* `null`
| false | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for up_down_counter instruments.
| +| `default` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 2000 is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for all instrument types.
Instrument-specific cardinality limits take priority.
| +| `counter` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for counter instruments.
| +| `gauge` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for gauge instruments.
| +| `histogram` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for histogram instruments.
| +| `observable_counter` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_counter instruments.
| +| `observable_gauge` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_gauge instruments.
| +| `observable_up_down_counter` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for observable_up_down_counter instruments.
| +| `up_down_counter` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the value from .default is used. | * `exclusiveMinimum`: `0`
| Configure default cardinality limit for up_down_counter instruments.
|
Language support status @@ -913,8 +913,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `peer` | [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentations following the peer semantic conventions.
See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/
| -| `http` | [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentations following the http semantic conventions.
See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/
| +| `peer` | [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure instrumentations following the peer semantic conventions.
See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/
| +| `http` | [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure instrumentations following the http semantic conventions.
See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/
|
Language support status @@ -980,8 +980,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `request_captured_headers` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure headers to capture for outbound http requests.
| -| `response_captured_headers` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure headers to capture for inbound http responses.
| +| `request_captured_headers` | `array` of `string` | `false` | If omitted, TODO. | No constraints. | Configure headers to capture for outbound http requests.
| +| `response_captured_headers` | `array` of `string` | `false` | If omitted, TODO. | No constraints. | Configure headers to capture for inbound http responses.
|
Language support status @@ -1028,8 +1028,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `client` | [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentations following the http client semantic conventions. | -| `server` | [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentations following the http server semantic conventions. | +| `client` | [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure instrumentations following the http client semantic conventions. | +| `server` | [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure instrumentations following the http server semantic conventions. |
Language support status @@ -1070,8 +1070,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `request_captured_headers` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure headers to capture for inbound http requests.
| -| `response_captured_headers` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure headers to capture for outbound http responses.
| +| `request_captured_headers` | `array` of `string` | `false` | If omitted, TODO. | No constraints. | Configure headers to capture for inbound http requests.
| +| `response_captured_headers` | `array` of `string` | `false` | If omitted, TODO. | No constraints. | Configure headers to capture for outbound http responses.
|
Language support status @@ -1118,18 +1118,18 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `general` | [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | false | If omitted, TODO. | No constraints. | 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..
| -| `cpp` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure C++ language-specific instrumentation libraries. | -| `dotnet` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure .NET language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `erlang` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Erlang language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `go` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Go language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `java` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Java language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `js` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure JavaScript language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `php` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure PHP language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `python` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Python language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `ruby` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Ruby language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `rust` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Rust language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `swift` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | false | If omitted, TODO. | No constraints. | Configure Swift language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `general` | [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | `false` | If omitted, TODO. | No constraints. | 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..
| +| `cpp` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure C++ language-specific instrumentation libraries. | +| `dotnet` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure .NET language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `erlang` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure Erlang language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `go` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure Go language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `java` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure Java language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `js` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure JavaScript language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `php` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure PHP language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `python` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure Python language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `ruby` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure Ruby language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `rust` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure Rust language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `swift` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure Swift language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
|
Language support status @@ -1342,7 +1342,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | false | If omitted, TODO. | No constraints. | Configure if the logger is enabled or not. | +| `disabled` | `boolean` | `false` | If omitted, TODO. | No constraints. | Configure if the logger is enabled or not. |
Language support status @@ -1384,8 +1384,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | false | If omitted, TODO. | No constraints. | Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. | -| `loggers` | `array` of [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | false | If omitted, TODO. | No constraints. | Configure loggers. | +| `default_config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | If omitted, TODO. | No constraints. | Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. | +| `loggers` | `array` of [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | `false` | If omitted, TODO. | No constraints. | Configure loggers. |
Language support status @@ -1431,8 +1431,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | false | If omitted, TODO. | No constraints. | 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.
| -| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | false | If omitted, TODO. | No constraints. | The logger config. | +| `name` | `string` | `false` | If omitted, TODO. | No constraints. | 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.
| +| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | If omitted, TODO. | No constraints. | The logger config. |
Language support status @@ -1477,7 +1477,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | false | If omitted, TODO. | No constraints. | Configure if the meter is enabled or not. | +| `disabled` | `boolean` | `false` | If omitted, TODO. | No constraints. | Configure if the meter is enabled or not. |
Language support status @@ -1519,8 +1519,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | false | If omitted, TODO. | No constraints. | Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. | -| `meters` | `array` of [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | false | If omitted, TODO. | No constraints. | Configure meters. | +| `default_config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | If omitted, TODO. | No constraints. | Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. | +| `meters` | `array` of [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | `false` | If omitted, TODO. | No constraints. | Configure meters. |
Language support status @@ -1566,8 +1566,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | false | If omitted, TODO. | No constraints. | 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.
| -| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | false | If omitted, TODO. | No constraints. | The meter config. | +| `name` | `string` | `false` | If omitted, TODO. | No constraints. | 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.
| +| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | If omitted, TODO. | No constraints. | The meter config. |
Language support status @@ -1612,7 +1612,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `output_stream` | one of:
* `string`
* `null`
| false | If omitted or null, stdout is used. | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
| +| `output_stream` | one of:
* `string`
* `null`
| `false` | If omitted or null, stdout is used. | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
|
Language support status @@ -1656,9 +1656,9 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `output_stream` | one of:
* `string`
* `null`
| false | If omitted or null, stdout is used. | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | false | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | false | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `output_stream` | one of:
* `string`
* `null`
| `false` | If omitted or null, stdout is used. | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
|
Language support status @@ -1709,7 +1709,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `service_mapping` | `array` of [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | false | If omitted, TODO. | No constraints. | Configure the service mapping for instrumentations following peer.service semantic conventions.
See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes
| +| `service_mapping` | `array` of [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | `false` | If omitted, TODO. | No constraints. | Configure the service mapping for instrumentations following peer.service semantic conventions.
See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes
|
Language support status @@ -1749,8 +1749,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `peer` | `string` | true | Property is required and must be non-null. | No constraints. | The IP address to map.
| -| `service` | `string` | true | Property is required and must be non-null. | No constraints. | The logical name corresponding to the IP address of .peer.
| +| `peer` | `string` | `true` | Property is required and must be non-null. | No constraints. | The IP address to map.
| +| `service` | `string` | `true` | Property is required and must be non-null. | No constraints. | The logical name corresponding to the IP address of .peer.
|
Language support status @@ -1821,11 +1821,11 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `host` | one of:
* `string`
* `null`
| false | If omitted or null, localhost is used. | No constraints. | Configure host.
| -| `port` | one of:
* `integer`
* `null`
| false | If omitted or null, 9464 is used. | No constraints. | Configure port.
| -| `without_scope_info` | one of:
* `boolean`
* `null`
| false | If omitted or null, false is used. | No constraints. | Configure Prometheus Exporter to produce metrics without a scope info metric.
| -| `with_resource_constant_labels` | [`IncludeExclude`](#includeexclude) | false | If omitted, TODO. | No constraints. | Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. | -| `translation_strategy` | one of:
* `string`
* `null`
| false | If omitted or null, UnderscoreEscapingWithSuffixes is used. | * `enum`: `["UnderscoreEscapingWithSuffixes","UnderscoreEscapingWithoutSuffixes","NoUTF8EscapingWithSuffixes","NoTranslation"]`
| Configure how Prometheus metrics are exposed. Values include:

* UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes.
* UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached.
* NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached.
* NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered.
| +| `host` | one of:
* `string`
* `null`
| `false` | If omitted or null, localhost is used. | No constraints. | Configure host.
| +| `port` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 9464 is used. | No constraints. | Configure port.
| +| `without_scope_info` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, false is used. | No constraints. | Configure Prometheus Exporter to produce metrics without a scope info metric.
| +| `with_resource_constant_labels` | [`IncludeExclude`](#includeexclude) | `false` | If omitted, TODO. | No constraints. | Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. | +| `translation_strategy` | one of:
* `string`
* `null`
| `false` | If omitted or null, UnderscoreEscapingWithSuffixes is used. | * `enum`: `["UnderscoreEscapingWithSuffixes","UnderscoreEscapingWithoutSuffixes","NoUTF8EscapingWithSuffixes","NoTranslation"]`
| Configure how Prometheus metrics are exposed. Values include:

* UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes.
* UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached.
* NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached.
* NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered.
|
Language support status @@ -1899,8 +1899,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attributes` | [`IncludeExclude`](#includeexclude) | false | If omitted, TODO. | No constraints. | Configure attributes provided by resource detectors. | -| `detectors` | `array` of [`ExperimentalResourceDetector`](#experimentalresourcedetector) | false | If omitted, no resource detectors are enabled. | No constraints. | Configure resource detectors.
Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.
| +| `attributes` | [`IncludeExclude`](#includeexclude) | `false` | If omitted, TODO. | No constraints. | Configure attributes provided by resource detectors. | +| `detectors` | `array` of [`ExperimentalResourceDetector`](#experimentalresourcedetector) | `false` | If omitted, no resource detectors are enabled. | No constraints. | Configure resource detectors.
Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.
|
Language support status @@ -1946,10 +1946,10 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `container` | [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | false | If omitted, TODO. | No constraints. | Enable the container resource detector, which populates container.* attributes.
| -| `host` | [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | false | If omitted, TODO. | No constraints. | Enable the host resource detector, which populates host.* and os.* attributes.
| -| `process` | [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | false | If omitted, TODO. | No constraints. | Enable the process resource detector, which populates process.* attributes.
| -| `service` | [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | false | If omitted, TODO. | No constraints. | Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.
| +| `container` | [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | `false` | If omitted, TODO. | No constraints. | Enable the container resource detector, which populates container.* attributes.
| +| `host` | [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | `false` | If omitted, TODO. | No constraints. | Enable the host resource detector, which populates host.* and os.* attributes.
| +| `process` | [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | `false` | If omitted, TODO. | No constraints. | Enable the process resource detector, which populates process.* attributes.
| +| `service` | [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | `false` | If omitted, TODO. | No constraints. | Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.
|
Language support status @@ -2032,7 +2032,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | false | If omitted, TODO. | No constraints. | Configure if the tracer is enabled or not. | +| `disabled` | `boolean` | `false` | If omitted, TODO. | No constraints. | Configure if the tracer is enabled or not. |
Language support status @@ -2074,8 +2074,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | false | If omitted, TODO. | No constraints. | Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. | -| `tracers` | `array` of [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | false | If omitted, TODO. | No constraints. | Configure tracers. | +| `default_config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | If omitted, TODO. | No constraints. | Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. | +| `tracers` | `array` of [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | `false` | If omitted, TODO. | No constraints. | Configure tracers. |
Language support status @@ -2121,8 +2121,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | false | If omitted, TODO. | No constraints. | 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.
| -| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | false | If omitted, TODO. | No constraints. | The tracer config. | +| `name` | `string` | `false` | If omitted, TODO. | No constraints. | 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.
| +| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | If omitted, TODO. | No constraints. | The tracer config. |
Language support status @@ -2167,8 +2167,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `boundaries` | `array` of `number` | false | If omitted, TODO. | No constraints. | Configure bucket boundaries.
If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.
| -| `record_min_max` | one of:
* `boolean`
* `null`
| false | If omitted or null, true is used. | No constraints. | Configure record min and max.
| +| `boundaries` | `array` of `number` | `false` | If omitted, TODO. | No constraints. | Configure bucket boundaries.
If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.
| +| `record_min_max` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, true is used. | No constraints. | Configure record min and max.
|
Language support status @@ -2279,10 +2279,10 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `certificate_file` | one of:
* `string`
* `null`
| false | If omitted or null, system default certificate verification is used for secure connections. | No constraints. | Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
| -| `client_key_file` | one of:
* `string`
* `null`
| false | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
| -| `client_certificate_file` | one of:
* `string`
* `null`
| false | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
| -| `insecure` | one of:
* `boolean`
* `null`
| false | If omitted or null, false is used. | No constraints. | 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.
| +| `certificate_file` | one of:
* `string`
* `null`
| `false` | If omitted or null, system default certificate verification is used for secure connections. | No constraints. | Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
| +| `client_key_file` | one of:
* `string`
* `null`
| `false` | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
| +| `client_certificate_file` | one of:
* `string`
* `null`
| `false` | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
| +| `insecure` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, false is used. | No constraints. | 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.
|
Language support status @@ -2347,9 +2347,9 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `certificate_file` | one of:
* `string`
* `null`
| false | If omitted or null, system default certificate verification is used for secure connections. | No constraints. | Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
| -| `client_key_file` | one of:
* `string`
* `null`
| false | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
| -| `client_certificate_file` | one of:
* `string`
* `null`
| false | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
| +| `certificate_file` | one of:
* `string`
* `null`
| `false` | If omitted or null, system default certificate verification is used for secure connections. | No constraints. | Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
| +| `client_key_file` | one of:
* `string`
* `null`
| `false` | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
| +| `client_certificate_file` | one of:
* `string`
* `null`
| `false` | If omitted or null, mTLS is not used. | No constraints. | Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
|
Language support status @@ -2407,8 +2407,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `included` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure 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.
If omitted, all values are included.
| -| `excluded` | `array` of `string` | false | If omitted, TODO. | No constraints. | Configure 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.
If omitted, .included attributes are included.
| +| `included` | `array` of `string` | `false` | If omitted, TODO. | No constraints. | Configure 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.
If omitted, all values are included.
| +| `excluded` | `array` of `string` | `false` | If omitted, TODO. | No constraints. | Configure 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.
If omitted, .included attributes are included.
|
Language support status @@ -2515,9 +2515,9 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, TODO. | No constraints. | TODO | -| `interval` | one of:
* `integer`
* `null`
| false | If omitted or null, TODO. | * `minimum`: `0`
| TODO | -| `initial_sampler` | [`Sampler`](#sampler) | false | If omitted, TODO. | No constraints. | TODO | +| `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, TODO. | No constraints. | TODO | +| `interval` | one of:
* `integer`
* `null`
| `false` | If omitted or null, TODO. | * `minimum`: `0`
| TODO | +| `initial_sampler` | [`Sampler`](#sampler) | `false` | If omitted, TODO. | No constraints. | TODO |
Language support status @@ -2597,9 +2597,9 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `processors` | `array` of [`LogRecordProcessor`](#logrecordprocessor) | true | Property is required and must be non-null. | No constraints. | Configure log record processors. | -| `limits` | [`LogRecordLimits`](#logrecordlimits) | false | If omitted, default log record limits are used. | No constraints. | Configure log record limits. See also attribute_limits. | -| `logger_configurator/development` | [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | false | If omitted, TODO. | No constraints. | Configure loggers.
This type is in development and subject to breaking changes in minor versions.
| +| `processors` | `array` of [`LogRecordProcessor`](#logrecordprocessor) | `true` | Property is required and must be non-null. | No constraints. | Configure log record processors. | +| `limits` | [`LogRecordLimits`](#logrecordlimits) | `false` | If omitted, default log record limits are used. | No constraints. | Configure log record limits. See also attribute_limits. | +| `logger_configurator/development` | [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | `false` | If omitted, TODO. | No constraints. | Configure loggers.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -2819,10 +2819,10 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. | -| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. | -| `otlp_file/development` | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| -| `console` | [`ConsoleExporter`](#consoleexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be console. | +| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. | +| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. | +| `otlp_file/development` | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| +| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be console. |
Language support status @@ -2881,8 +2881,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, there is no limit. | * `minimum`: `0`
| Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
| -| `attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
| +| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, there is no limit. | * `minimum`: `0`
| Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
| +| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
|
Language support status @@ -2933,8 +2933,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `batch` | [`BatchLogRecordProcessor`](#batchlogrecordprocessor) | false | If omitted, ignore. | No constraints. | Configure a batch log record processor. | -| `simple` | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | false | If omitted, ignore. | No constraints. | Configure a simple log record processor. | +| `batch` | [`BatchLogRecordProcessor`](#batchlogrecordprocessor) | `false` | If omitted, ignore. | No constraints. | Configure a batch log record processor. | +| `simple` | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | `false` | If omitted, ignore. | No constraints. | Configure a simple log record processor. |
Language support status @@ -2983,10 +2983,10 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `readers` | `array` of [`MetricReader`](#metricreader) | true | Property is required and must be non-null. | No constraints. | Configure metric readers. | -| `views` | `array` of [`View`](#view) | false | If omitted, TODO. | No constraints. | Configure views.
Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).
| -| `exemplar_filter` | [`ExemplarFilter`](#exemplarfilter) | false | If omitted, trace_based is used. | No constraints. | Configure the exemplar filter.
Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration.
| -| `meter_configurator/development` | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | false | If omitted, TODO. | No constraints. | Configure meters.
This type is in development and subject to breaking changes in minor versions.
| +| `readers` | `array` of [`MetricReader`](#metricreader) | `true` | Property is required and must be non-null. | No constraints. | Configure metric readers. | +| `views` | `array` of [`View`](#view) | `false` | If omitted, TODO. | No constraints. | Configure views.
Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).
| +| `exemplar_filter` | [`ExemplarFilter`](#exemplarfilter) | `false` | If omitted, trace_based is used. | No constraints. | Configure the exemplar filter.
Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration.
| +| `meter_configurator/development` | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | `false` | If omitted, TODO. | No constraints. | Configure meters.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -3691,7 +3691,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | false | If omitted, TODO. | No constraints. | Configure metric producer to be opencensus. | +| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | `false` | If omitted, TODO. | No constraints. | Configure metric producer to be opencensus. |
Language support status @@ -3738,8 +3738,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `periodic` | [`PeriodicMetricReader`](#periodicmetricreader) | false | If omitted, ignore. | No constraints. | Configure a periodic metric reader. | -| `pull` | [`PullMetricReader`](#pullmetricreader) | false | If omitted, ignore. | No constraints. | Configure a pull based metric reader. | +| `periodic` | [`PeriodicMetricReader`](#periodicmetricreader) | `false` | If omitted, ignore. | No constraints. | Configure a periodic metric reader. | +| `pull` | [`PullMetricReader`](#pullmetricreader) | `false` | If omitted, ignore. | No constraints. | Configure a pull based metric reader. |
Language support status @@ -3784,8 +3784,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | true | Property is required and must be non-null. | No constraints. | The name of the pair. | -| `value` | one of:
* `string`
* `null`
| true | Property must be present, but if null TODO. | No constraints. | The value of the pair. | +| `name` | `string` | `true` | Property is required and must be non-null. | No constraints. | The name of the pair. | +| `value` | one of:
* `string`
* `null`
| `true` | Property must be present, but if null TODO. | No constraints. | The value of the pair. |
Language support status @@ -3862,16 +3862,16 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `file_format` | `string` | true | Property is required and must be non-null. | No constraints. | The file format version.
The yaml format is documented at
https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema
| -| `disabled` | one of:
* `boolean`
* `null`
| false | If omitted or null, false is used. | No constraints. | Configure if the SDK is disabled or not.
| -| `log_level` | one of:
* `string`
* `null`
| false | If omitted or null, info is used. | No constraints. | Configure the log level of the internal logger used by the SDK.
| -| `attribute_limits` | [`AttributeLimits`](#attributelimits) | false | If omitted, default values for general attributes are used. | No constraints. | Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
| -| `logger_provider` | [`LoggerProvider`](#loggerprovider) | false | If omitted, a noop logger provider is used. | No constraints. | Configure logger provider.
| -| `meter_provider` | [`MeterProvider`](#meterprovider) | false | If omitted, a noop meter provider is used. | No constraints. | Configure meter provider.
| -| `propagator` | [`Propagator`](#propagator) | false | If omitted, a noop propagator is used. | No constraints. | Configure text map context propagators.
| -| `tracer_provider` | [`TracerProvider`](#tracerprovider) | false | If omitted, a noop tracer provider is used. | No constraints. | Configure tracer provider.
| -| `resource` | [`Resource`](#resource) | false | If omitted, the default resource is used. | No constraints. | Configure resource for all signals.
| -| `instrumentation/development` | [`ExperimentalInstrumentation`](#experimentalinstrumentation) | false | If omitted, TODO. | No constraints. | Configure instrumentation.
This type is in development and subject to breaking changes in minor versions.
| +| `file_format` | `string` | `true` | Property is required and must be non-null. | No constraints. | The file format version.
The yaml format is documented at
https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema
| +| `disabled` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, false is used. | No constraints. | Configure if the SDK is disabled or not.
| +| `log_level` | one of:
* `string`
* `null`
| `false` | If omitted or null, info is used. | No constraints. | Configure the log level of the internal logger used by the SDK.
| +| `attribute_limits` | [`AttributeLimits`](#attributelimits) | `false` | If omitted, default values for general attributes are used. | No constraints. | Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
| +| `logger_provider` | [`LoggerProvider`](#loggerprovider) | `false` | If omitted, a noop logger provider is used. | No constraints. | Configure logger provider.
| +| `meter_provider` | [`MeterProvider`](#meterprovider) | `false` | If omitted, a noop meter provider is used. | No constraints. | Configure meter provider.
| +| `propagator` | [`Propagator`](#propagator) | `false` | If omitted, a noop propagator is used. | No constraints. | Configure text map context propagators.
| +| `tracer_provider` | [`TracerProvider`](#tracerprovider) | `false` | If omitted, a noop tracer provider is used. | No constraints. | Configure tracer provider.
| +| `resource` | [`Resource`](#resource) | `false` | If omitted, the default resource is used. | No constraints. | Configure resource for all signals.
| +| `instrumentation/development` | [`ExperimentalInstrumentation`](#experimentalinstrumentation) | `false` | If omitted, TODO. | No constraints. | Configure instrumentation.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -4018,12 +4018,12 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | false | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| false | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| -| `compression` | one of:
* `string`
* `null`
| false | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| -| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| -| `tls` | [`GrpcTls`](#grpctls) | false | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| +| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `tls` | [`GrpcTls`](#grpctls) | `false` | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4100,14 +4100,14 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | false | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| false | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| -| `compression` | one of:
* `string`
* `null`
| false | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| -| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | false | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | false | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| -| `tls` | [`GrpcTls`](#grpctls) | false | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| +| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `tls` | [`GrpcTls`](#grpctls) | `false` | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4220,13 +4220,13 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. | No constraints. | Configure endpoint, including the signal specific path.
| -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | false | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| false | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| -| `compression` | one of:
* `string`
* `null`
| false | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| -| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| -| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | false | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
| -| `tls` | [`HttpTls`](#httptls) | false | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. | No constraints. | Configure endpoint, including the signal specific path.
| +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| +| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
| +| `tls` | [`HttpTls`](#httptls) | `false` | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4307,16 +4307,16 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. | No constraints. | Configure endpoint, including the signal specific path.
| -| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | false | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| false | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| -| `compression` | one of:
* `string`
* `null`
| false | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| -| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| -| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | false | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | false | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | false | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| -| `tls` | [`HttpTls`](#httptls) | false | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. | No constraints. | Configure endpoint, including the signal specific path.
| +| `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | If omitted, no headers are added. | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no headers are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| +| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `tls` | [`HttpTls`](#httptls) | `false` | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4405,11 +4405,11 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `root` | [`Sampler`](#sampler) | false | If omitted, always_on is used. | No constraints. | Configure root sampler.
| -| `remote_parent_sampled` | [`Sampler`](#sampler) | false | If omitted, always_on is used. | No constraints. | Configure remote_parent_sampled sampler.
| -| `remote_parent_not_sampled` | [`Sampler`](#sampler) | false | If omitted, always_off is used. | No constraints. | Configure remote_parent_not_sampled sampler.
| -| `local_parent_sampled` | [`Sampler`](#sampler) | false | If omitted, always_on is used. | No constraints. | Configure local_parent_sampled sampler.
| -| `local_parent_not_sampled` | [`Sampler`](#sampler) | false | If omitted, always_off is used. | No constraints. | Configure local_parent_not_sampled sampler.
| +| `root` | [`Sampler`](#sampler) | `false` | If omitted, always_on is used. | No constraints. | Configure root sampler.
| +| `remote_parent_sampled` | [`Sampler`](#sampler) | `false` | If omitted, always_on is used. | No constraints. | Configure remote_parent_sampled sampler.
| +| `remote_parent_not_sampled` | [`Sampler`](#sampler) | `false` | If omitted, always_off is used. | No constraints. | Configure remote_parent_not_sampled sampler.
| +| `local_parent_sampled` | [`Sampler`](#sampler) | `false` | If omitted, always_on is used. | No constraints. | Configure local_parent_sampled sampler.
| +| `local_parent_not_sampled` | [`Sampler`](#sampler) | `false` | If omitted, always_off is used. | No constraints. | Configure local_parent_not_sampled sampler.
|
Language support status @@ -4465,11 +4465,11 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `interval` | one of:
* `integer`
* `null`
| false | If omitted or null, 60000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between start of two consecutive exports.
Value must be non-negative.
| -| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| -| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | false | If omitted, TODO. | No constraints. | Configure metric producers. | -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | false | If omitted, TODO. | No constraints. | Configure cardinality limits. | +| `interval` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 60000 is used. | * `minimum`: `0`
| Configure delay interval (in milliseconds) between start of two consecutive exports.
Value must be non-negative.
| +| `timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 30000 is used. | * `minimum`: `0`
| Configure maximum allowed time (in milliseconds) to export data.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| +| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | `true` | Property is required and must be non-null. | No constraints. | Configure exporter. | +| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | If omitted, TODO. | No constraints. | Configure metric producers. | +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | If omitted, TODO. | No constraints. | Configure cardinality limits. |
Language support status @@ -4537,8 +4537,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `composite` | `array` of [`TextMapPropagator`](#textmappropagator) | false | If omitted, and .composite_list is empty, a noop propagator is used. | No constraints. | Configure 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_list` | one of:
* `string`
* `null`
| false | If omitted or null, and .composite is empty, a noop propagator is used. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray.
| +| `composite` | `array` of [`TextMapPropagator`](#textmappropagator) | `false` | If omitted, and .composite_list is empty, a noop propagator is used. | No constraints. | Configure 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_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, and .composite is empty, a noop propagator is used. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray.
|
Language support status @@ -4661,7 +4661,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `prometheus/development` | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | false | If omitted, TODO. | No constraints. | Configure exporter to be prometheus.
This type is in development and subject to breaking changes in minor versions.
| +| `prometheus/development` | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | `false` | If omitted, TODO. | No constraints. | Configure exporter to be prometheus.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -4709,9 +4709,9 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | false | If omitted, TODO. | No constraints. | Configure metric producers. | -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | false | If omitted, TODO. | No constraints. | Configure cardinality limits. | +| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | `true` | Property is required and must be non-null. | No constraints. | Configure exporter. | +| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | If omitted, TODO. | No constraints. | Configure metric producers. | +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | If omitted, TODO. | No constraints. | Configure cardinality limits. |
Language support status @@ -4765,10 +4765,10 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport.
| -| `otlp_grpc` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport.
| -| `otlp_file/development` | [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| -| `console` | [`ConsoleExporter`](#consoleexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be console.
| +| `otlp_http` | [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport.
| +| `otlp_grpc` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport.
| +| `otlp_file/development` | [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| +| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be console.
|
Language support status @@ -4826,10 +4826,10 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attributes` | `array` of [`AttributeNameValue`](#attributenamevalue) | false | If omitted, no resource attributes are added. | No constraints. | Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
| -| `detection/development` | [`ExperimentalResourceDetection`](#experimentalresourcedetection) | false | If omitted, resource detection is disabled. | No constraints. | Configure resource detection.
This type is in development and subject to breaking changes in minor versions.
| -| `schema_url` | one of:
* `string`
* `null`
| false | If omitted or null, no schema URL is used. | No constraints. | Configure resource schema URL.
| -| `attributes_list` | one of:
* `string`
* `null`
| false | If omitted or null, no resource attributes are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
| +| `attributes` | `array` of [`AttributeNameValue`](#attributenamevalue) | `false` | If omitted, no resource attributes are added. | No constraints. | Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
| +| `detection/development` | [`ExperimentalResourceDetection`](#experimentalresourcedetection) | `false` | If omitted, resource detection is disabled. | No constraints. | Configure resource detection.
This type is in development and subject to breaking changes in minor versions.
| +| `schema_url` | one of:
* `string`
* `null`
| `false` | If omitted or null, no schema URL is used. | No constraints. | Configure resource schema URL.
| +| `attributes_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no resource attributes are added. | No constraints. | 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 https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
|
Language support status @@ -5028,11 +5028,11 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `always_off` | [`AlwaysOffSampler`](#alwaysoffsampler) | false | If omitted, ignore. | No constraints. | Configure sampler to be always_off. | -| `always_on` | [`AlwaysOnSampler`](#alwaysonsampler) | false | If omitted, ignore. | No constraints. | Configure sampler to be always_on. | -| `jaeger_remote` | [`JaegerRemoteSampler`](#jaegerremotesampler) | false | If omitted, ignore. | No constraints. | TODO | -| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | false | If omitted, ignore. | No constraints. | Configure sampler to be parent_based. | -| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | false | If omitted, ignore. | No constraints. | Configure sampler to be trace_id_ratio_based. | +| `always_off` | [`AlwaysOffSampler`](#alwaysoffsampler) | `false` | If omitted, ignore. | No constraints. | Configure sampler to be always_off. | +| `always_on` | [`AlwaysOnSampler`](#alwaysonsampler) | `false` | If omitted, ignore. | No constraints. | Configure sampler to be always_on. | +| `jaeger_remote` | [`JaegerRemoteSampler`](#jaegerremotesampler) | `false` | If omitted, ignore. | No constraints. | TODO | +| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | `false` | If omitted, ignore. | No constraints. | Configure sampler to be parent_based. | +| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | `false` | If omitted, ignore. | No constraints. | Configure sampler to be trace_id_ratio_based. |
Language support status @@ -5100,7 +5100,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`LogRecordExporter`](#logrecordexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. | +| `exporter` | [`LogRecordExporter`](#logrecordexporter) | `true` | Property is required and must be non-null. | No constraints. | Configure exporter. |
Language support status @@ -5141,7 +5141,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`SpanExporter`](#spanexporter) | true | Property is required and must be non-null. | No constraints. | Configure exporter. | +| `exporter` | [`SpanExporter`](#spanexporter) | `true` | Property is required and must be non-null. | No constraints. | Configure exporter. |
Language support status @@ -5184,11 +5184,11 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. | -| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. | -| `otlp_file/development` | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| -| `console` | [`ConsoleExporter`](#consoleexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be console. | -| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | false | If omitted, ignore. | No constraints. | Configure exporter to be zipkin. | +| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. | +| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. | +| `otlp_file/development` | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport.
This type is in development and subject to breaking changes in minor versions.
| +| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be console. | +| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | `false` | If omitted, ignore. | No constraints. | Configure exporter to be zipkin. |
Language support status @@ -5251,12 +5251,12 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, there is no limit. | * `minimum`: `0`
| Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
| -| `attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
| -| `event_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max span event count.
Value must be non-negative.
| -| `link_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max span link count.
Value must be non-negative.
| -| `event_attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attributes per span event.
Value must be non-negative.
| -| `link_attribute_count_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attributes per span link.
Value must be non-negative.
| +| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, there is no limit. | * `minimum`: `0`
| Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
Value must be non-negative.
| +| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
Value must be non-negative.
| +| `event_count_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max span event count.
Value must be non-negative.
| +| `link_count_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max span link count.
Value must be non-negative.
| +| `event_attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attributes per span event.
Value must be non-negative.
| +| `link_attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 128 is used. | * `minimum`: `0`
| Configure max attributes per span link.
Value must be non-negative.
|
Language support status @@ -5339,8 +5339,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `batch` | [`BatchSpanProcessor`](#batchspanprocessor) | false | If omitted, ignore. | No constraints. | Configure a batch span processor. | -| `simple` | [`SimpleSpanProcessor`](#simplespanprocessor) | false | If omitted, ignore. | No constraints. | Configure a simple span processor. | +| `batch` | [`BatchSpanProcessor`](#batchspanprocessor) | `false` | If omitted, ignore. | No constraints. | Configure a batch span processor. | +| `simple` | [`SimpleSpanProcessor`](#simplespanprocessor) | `false` | If omitted, ignore. | No constraints. | Configure a simple span processor. |
Language support status @@ -5417,12 +5417,12 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `tracecontext` | [`TraceContextPropagator`](#tracecontextpropagator) | false | If omitted, ignore. | No constraints. | Include the w3c trace context propagator. | -| `baggage` | [`BaggagePropagator`](#baggagepropagator) | false | If omitted, ignore. | No constraints. | Include the w3c baggage propagator. | -| `b3` | [`B3Propagator`](#b3propagator) | false | If omitted, ignore. | No constraints. | Include the zipkin b3 propagator. | -| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | false | If omitted, ignore. | No constraints. | Include the zipkin b3 multi propagator. | -| `jaeger` | [`JaegerPropagator`](#jaegerpropagator) | false | If omitted, ignore. | No constraints. | Include the jaeger propagator. | -| `ottrace` | [`OpenTracingPropagator`](#opentracingpropagator) | false | If omitted, ignore. | No constraints. | Include the opentracing propagator. | +| `tracecontext` | [`TraceContextPropagator`](#tracecontextpropagator) | `false` | If omitted, ignore. | No constraints. | Include the w3c trace context propagator. | +| `baggage` | [`BaggagePropagator`](#baggagepropagator) | `false` | If omitted, ignore. | No constraints. | Include the w3c baggage propagator. | +| `b3` | [`B3Propagator`](#b3propagator) | `false` | If omitted, ignore. | No constraints. | Include the zipkin b3 propagator. | +| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | `false` | If omitted, ignore. | No constraints. | Include the zipkin b3 multi propagator. | +| `jaeger` | [`JaegerPropagator`](#jaegerpropagator) | `false` | If omitted, ignore. | No constraints. | Include the jaeger propagator. | +| `ottrace` | [`OpenTracingPropagator`](#opentracingpropagator) | `false` | If omitted, ignore. | No constraints. | Include the opentracing propagator. |
Language support status @@ -5513,7 +5513,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `ratio` | one of:
* `number`
* `null`
| false | If omitted or null, 1.0 is used. | No constraints. | Configure trace_id_ratio.
| +| `ratio` | one of:
* `number`
* `null`
| `false` | If omitted or null, 1.0 is used. | No constraints. | Configure trace_id_ratio.
|
Language support status @@ -5556,10 +5556,10 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | true | Property is required and must be non-null. | No constraints. | Configure span processors. | -| `limits` | [`SpanLimits`](#spanlimits) | false | If omitted, default span limits are used. | No constraints. | Configure span limits. See also attribute_limits. | -| `sampler` | [`Sampler`](#sampler) | false | If omitted, parent based sampler with a root of always_on is used. | No constraints. | Configure the sampler.
| -| `tracer_configurator/development` | [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | false | If omitted, TODO. | No constraints. | Configure tracers.
This type is in development and subject to breaking changes in minor versions.
| +| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | `true` | Property is required and must be non-null. | No constraints. | Configure span processors. | +| `limits` | [`SpanLimits`](#spanlimits) | `false` | If omitted, default span limits are used. | No constraints. | Configure span limits. See also attribute_limits. | +| `sampler` | [`Sampler`](#sampler) | `false` | If omitted, parent based sampler with a root of always_on is used. | No constraints. | Configure the sampler.
| +| `tracer_configurator/development` | [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | `false` | If omitted, TODO. | No constraints. | Configure tracers.
This type is in development and subject to breaking changes in minor versions.
|
Language support status @@ -5941,8 +5941,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `selector` | [`ViewSelector`](#viewselector) | false | If omitted, TODO. | No constraints. | Configure view selector.
Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.
| -| `stream` | [`ViewStream`](#viewstream) | false | If omitted, TODO. | No constraints. | Configure view stream. | +| `selector` | [`ViewSelector`](#viewselector) | `false` | If omitted, TODO. | No constraints. | Configure view selector.
Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.
| +| `stream` | [`ViewStream`](#viewstream) | `false` | If omitted, TODO. | No constraints. | Configure view stream. |
Language support status @@ -5983,12 +5983,12 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `instrument_name` | one of:
* `string`
* `null`
| false | If omitted or null, all instrument names match. | No constraints. | Configure instrument name selection criteria.
| -| `instrument_type` | [`InstrumentType`](#instrumenttype) | false | If omitted, all instrument types match. | No constraints. | Configure instrument type selection criteria.
Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.
| -| `unit` | one of:
* `string`
* `null`
| false | If omitted or null, all instrument units match. | No constraints. | Configure the instrument unit selection criteria.
| -| `meter_name` | one of:
* `string`
* `null`
| false | If omitted or null, all meter names match. | No constraints. | Configure meter name selection criteria.
| -| `meter_version` | one of:
* `string`
* `null`
| false | If omitted or null, all meter versions match. | No constraints. | Configure meter version selection criteria.
| -| `meter_schema_url` | one of:
* `string`
* `null`
| false | If omitted or null, all meter schema URLs match. | No constraints. | Configure meter schema url selection criteria.
| +| `instrument_name` | one of:
* `string`
* `null`
| `false` | If omitted or null, all instrument names match. | No constraints. | Configure instrument name selection criteria.
| +| `instrument_type` | [`InstrumentType`](#instrumenttype) | `false` | If omitted, all instrument types match. | No constraints. | Configure instrument type selection criteria.
Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.
| +| `unit` | one of:
* `string`
* `null`
| `false` | If omitted or null, all instrument units match. | No constraints. | Configure the instrument unit selection criteria.
| +| `meter_name` | one of:
* `string`
* `null`
| `false` | If omitted or null, all meter names match. | No constraints. | Configure meter name selection criteria.
| +| `meter_version` | one of:
* `string`
* `null`
| `false` | If omitted or null, all meter versions match. | No constraints. | Configure meter version selection criteria.
| +| `meter_schema_url` | one of:
* `string`
* `null`
| `false` | If omitted or null, all meter schema URLs match. | No constraints. | Configure meter schema url selection criteria.
|
Language support status @@ -6060,11 +6060,11 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `name` | one of:
* `string`
* `null`
| false | If omitted or null, the instrument's original name is used. | No constraints. | Configure metric name of the resulting stream(s).
| -| `description` | one of:
* `string`
* `null`
| false | If omitted or null, the instrument's origin description is used. | No constraints. | Configure metric description of the resulting stream(s).
| -| `aggregation` | [`Aggregation`](#aggregation) | false | If omitted, TODO. | No constraints. | Configure aggregation of the resulting stream(s).
Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation.
If omitted, default is used.
| -| `aggregation_cardinality_limit` | one of:
* `integer`
* `null`
| false | If omitted or null, the metric reader's default cardinality limit is used. | * `exclusiveMinimum`: `0`
| Configure the aggregation cardinality limit.
| -| `attribute_keys` | [`IncludeExclude`](#includeexclude) | false | If omitted, TODO. | No constraints. | Configure attribute keys retained in the resulting stream(s).
| +| `name` | one of:
* `string`
* `null`
| `false` | If omitted or null, the instrument's original name is used. | No constraints. | Configure metric name of the resulting stream(s).
| +| `description` | one of:
* `string`
* `null`
| `false` | If omitted or null, the instrument's origin description is used. | No constraints. | Configure metric description of the resulting stream(s).
| +| `aggregation` | [`Aggregation`](#aggregation) | `false` | If omitted, TODO. | No constraints. | Configure aggregation of the resulting stream(s).
Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation.
If omitted, default is used.
| +| `aggregation_cardinality_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the metric reader's default cardinality limit is used. | * `exclusiveMinimum`: `0`
| Configure the aggregation cardinality limit.
| +| `attribute_keys` | [`IncludeExclude`](#includeexclude) | `false` | If omitted, TODO. | No constraints. | Configure attribute keys retained in the resulting stream(s).
|
Language support status @@ -6127,8 +6127,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| false | If omitted or null, http://localhost:9411/api/v2/spans is used. | No constraints. | Configure endpoint.
| -| `timeout` | one of:
* `integer`
* `null`
| false | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates indefinite.
| +| `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, http://localhost:9411/api/v2/spans is used. | No constraints. | Configure endpoint.
| +| `timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates indefinite.
|
Language support status diff --git a/scripts/generate-markdown.js b/scripts/generate-markdown.js index e0b2deef..ebae81e9 100644 --- a/scripts/generate-markdown.js +++ b/scripts/generate-markdown.js @@ -58,7 +58,7 @@ metaSchema.types.forEach(metaSchemaType => { } const formattedDescription = property.description.split("\n").join("
"); - output.push(`| \`${property.property}\` | ${formattedPropertyType} | ${jsonSchemaProperty.isRequired} | ${formattedDefaultAndNullBehavior} | ${formattedConstraints} | ${formattedDescription} |\n`); + output.push(`| \`${property.property}\` | ${formattedPropertyType} | \`${jsonSchemaProperty.isRequired}\` | ${formattedDefaultAndNullBehavior} | ${formattedConstraints} | ${formattedDescription} |\n`); }); output.push('\n'); From b6089baa72477d7a889497f945c5cb9915b524f8 Mon Sep 17 00:00:00 2001 From: Jack Berg Date: Sat, 1 Nov 2025 09:34:16 -0500 Subject: [PATCH 3/3] Cleanup --- examples/kitchen-sink.yaml | 20 +++++--------------- schema-docs.md | 12 ++++++------ schema/meta_schema_types.yaml | 18 ++++++------------ 3 files changed, 17 insertions(+), 33 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 30586518..aa40e116 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -259,15 +259,13 @@ meter_provider: # * 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. # If omitted, all values are included. - # If omitted, TODO. included: - "service*" # Configure 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. - # If omitted, .included attributes are included. - # If omitted, TODO. + # If omitted, all values matching .included are included. excluded: - "service.attr1" # Configure how Prometheus metrics are exposed. Values include: @@ -531,13 +529,11 @@ meter_provider: console: # Configure temporality preference. # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. - # If omitted, TODO. + # If omitted, cumulative is used. temporality_preference: delta # Configure default histogram aggregation. # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. - # If omitted, TODO. + # If omitted, explicit_bucket_histogram. default_histogram_aggregation: base2_exponential_bucket_histogram # Configure views. # Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). @@ -578,14 +574,12 @@ meter_provider: # Configure aggregation of the resulting stream(s). # Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation. # If omitted, default is used. - # If omitted, TODO. aggregation: # Configure aggregation to be explicit_bucket_histogram. # If omitted, TODO. explicit_bucket_histogram: # Configure bucket boundaries. # If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. - # If omitted, TODO. boundaries: [ 0.0, @@ -618,7 +612,6 @@ meter_provider: # * 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. # If omitted, all values are included. - # If omitted, TODO. included: - key1 - key2 @@ -626,8 +619,7 @@ meter_provider: # 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. - # If omitted, .included attributes are included. - # If omitted, TODO. + # If omitted, all values matching .included are included. excluded: - key3 # Configure the exemplar filter. @@ -1080,15 +1072,13 @@ resource: # * 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. # If omitted, all values are included. - # If omitted, TODO. included: - process.* # Configure 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. - # If omitted, .included attributes are included. - # If omitted, TODO. + # If omitted, all values matching .included are included. excluded: - process.command_args # Configure resource detectors. diff --git a/schema-docs.md b/schema-docs.md index 4e846d0e..d57f9bbd 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -716,8 +716,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, TODO. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, cumulative is used.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, TODO. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, explicit_bucket_histogram is used.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
|
Language support status @@ -2245,7 +2245,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `boundaries` | `array` of `number` | `false` | If omitted, TODO. | No constraints. | Configure bucket boundaries.
If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.
| +| `boundaries` | `array` of `number` | `false` | If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. | No constraints. | Configure bucket boundaries.
| | `record_min_max` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, true is used. | No constraints. | Configure record min and max.
|
@@ -2487,8 +2487,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---| -| `included` | `array` of `string` | `false` | If omitted, TODO. | No constraints. | Configure 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.
If omitted, all values are included.
| -| `excluded` | `array` of `string` | `false` | If omitted, TODO. | No constraints. | Configure 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.
If omitted, .included attributes are included.
| +| `included` | `array` of `string` | `false` | If omitted, all values are included. | No constraints. | Configure 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.
| +| `excluded` | `array` of `string` | `false` | If omitted, all values matching .included are included. | No constraints. | Configure 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.
|
Language support status @@ -6186,7 +6186,7 @@ Usages: |---|---|---|---|---| | `name` | one of:
* `string`
* `null`
| `false` | If omitted or null, the instrument's original name is used. | No constraints. | Configure metric name of the resulting stream(s).
| | `description` | one of:
* `string`
* `null`
| `false` | If omitted or null, the instrument's origin description is used. | No constraints. | Configure metric description of the resulting stream(s).
| -| `aggregation` | [`Aggregation`](#aggregation) | `false` | If omitted, TODO. | No constraints. | Configure aggregation of the resulting stream(s).
Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation.
If omitted, default is used.
| +| `aggregation` | [`Aggregation`](#aggregation) | `false` | If omitted, default is used. | No constraints. | Configure aggregation of the resulting stream(s).
Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation.
| | `aggregation_cardinality_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the metric reader's default cardinality limit is used. | * `exclusiveMinimum`: `0`
| Configure the aggregation cardinality limit.
| | `attribute_keys` | [`IncludeExclude`](#includeexclude) | `false` | If omitted, TODO. | No constraints. | Configure attribute keys retained in the resulting stream(s).
| diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index f471f4b4..72e1995d 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -487,8 +487,7 @@ - property: boundaries description: | Configure bucket boundaries. - If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. - defaultBehavior: TODO + defaultBehavior: "[0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used" - property: record_min_max description: | Configure record min and max. @@ -549,16 +548,14 @@ 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. - If omitted, all values are included. - defaultBehavior: TODO + defaultBehavior: all values are included - property: excluded description: | Configure 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. - If omitted, .included attributes are included. - defaultBehavior: TODO + defaultBehavior: all values matching .included are included isSdkExtensionPlugin: false - type: InstrumentType properties: [] @@ -1190,8 +1187,7 @@ description: | Configure aggregation of the resulting stream(s). Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation. - If omitted, default is used. - defaultBehavior: TODO + defaultBehavior: default is used - property: aggregation_cardinality_limit description: | Configure the aggregation cardinality limit. @@ -1219,12 +1215,10 @@ description: | Configure temporality preference. Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - If omitted or null, cumulative is used. - defaultBehavior: TODO + defaultBehavior: cumulative is used - property: default_histogram_aggregation description: | Configure default histogram aggregation. Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - If omitted or null, explicit_bucket_histogram is used. - defaultBehavior: TODO + defaultBehavior: explicit_bucket_histogram isSdkExtensionPlugin: false