diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index ed65b3b3..5a8d1172 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -17,11 +17,11 @@ disabled: false log_level: info # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # Configure max attribute value size. + # Configure max attribute value size. # Value must be non-negative. # If omitted or null, there is no limit. attribute_value_length_limit: 4096 - # Configure max attribute count. + # Configure max attribute count. # Value must be non-negative. # If omitted or null, 128 is used. attribute_count_limit: 128 @@ -55,15 +55,15 @@ logger_provider: endpoint: http://localhost:4318/v1/logs # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: /app/cert.pem - # Configure mTLS private client key. + # 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_key_file: /app/cert.pem - # Configure mTLS client certificate. + # 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. client_certificate_file: /app/cert.pem @@ -101,19 +101,19 @@ logger_provider: endpoint: http://localhost:4317 # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: /app/cert.pem - # Configure mTLS private client key. + # 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_key_file: /app/cert.pem - # Configure mTLS client certificate. + # 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. client_certificate_file: /app/cert.pem - # Configure client transport security for the exporter's connection. + # 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. insecure: false @@ -141,9 +141,9 @@ logger_provider: # Configure exporter. exporter: # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. + # 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 @@ -152,9 +152,9 @@ logger_provider: # Configure exporter. exporter: # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. + # 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 @@ -166,16 +166,16 @@ logger_provider: console: # Configure log record limits. See also attribute_limits. limits: - # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. + # 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_value_length_limit: 4096 - # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. + # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. # Value must be non-negative. # If omitted or null, 128 is used. attribute_count_limit: 128 # Configure loggers. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. logger_configurator/development: # Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. default_config: @@ -184,9 +184,8 @@ logger_provider: # Configure loggers. 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 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. name: io.opentelemetry.contrib.* # The logger config. config: @@ -202,7 +201,7 @@ meter_provider: # Configure exporter. exporter: # Configure exporter to be prometheus. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. prometheus/development: # Configure host. # If omitted or null, localhost is used. @@ -217,26 +216,26 @@ meter_provider: 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 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. 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 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. excluded: - "service.attr1" # 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. + # * 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. + # If omitted or null, UnderscoreEscapingWithSuffixes is used. translation_strategy: UnderscoreEscapingWithSuffixes # Configure metric producers. producers: @@ -245,7 +244,7 @@ meter_provider: # Configure cardinality limits. 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. @@ -271,11 +270,11 @@ meter_provider: up_down_counter: 2000 - # Configure a periodic metric reader. periodic: - # Configure delay interval (in milliseconds) between start of two consecutive exports. + # Configure delay interval (in milliseconds) between start of two consecutive exports. # Value must be non-negative. # If omitted or null, 60000 is used. interval: 60000 - # Configure maximum allowed time (in milliseconds) to export data. + # 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. timeout: 30000 @@ -288,15 +287,15 @@ meter_provider: endpoint: http://localhost:4318/v1/metrics # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: /app/cert.pem - # Configure mTLS private client key. + # 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_key_file: /app/cert.pem - # Configure mTLS client certificate. + # 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. client_certificate_file: /app/cert.pem @@ -338,7 +337,7 @@ meter_provider: # Configure cardinality limits. 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. @@ -373,19 +372,19 @@ meter_provider: endpoint: http://localhost:4317 # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: /app/cert.pem - # Configure mTLS private client key. + # 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_key_file: /app/cert.pem - # Configure mTLS client certificate. + # 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. client_certificate_file: /app/cert.pem - # Configure client transport security for the exporter's connection. + # 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. insecure: false @@ -421,9 +420,9 @@ meter_provider: # Configure exporter. exporter: # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. + # 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/metrics.jsonl @@ -440,9 +439,9 @@ meter_provider: # Configure exporter. exporter: # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. + # 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 @@ -468,10 +467,10 @@ meter_provider: # 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. default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure views. + # Configure views. # Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). views: - - # Configure view selector. + - # 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. selector: # Configure instrument name selection criteria. @@ -501,7 +500,7 @@ meter_provider: # Configure metric description of the resulting stream(s). # If omitted or null, the instrument's origin description is used. description: new_description - # Configure aggregation of the resulting stream(s). + # 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: @@ -537,25 +536,25 @@ meter_provider: 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 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. included: - key1 - key2 # 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 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. excluded: - key3 - # Configure the exemplar filter. + # 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. exemplar_filter: trace_based # Configure meters. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. meter_configurator/development: # Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. default_config: @@ -565,8 +564,8 @@ meter_provider: 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 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. name: io.opentelemetry.contrib.* # The meter config. config: @@ -576,7 +575,7 @@ meter_provider: # 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. + # 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: - # Include the w3c trace context propagator. @@ -593,21 +592,21 @@ propagator: 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. + # 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_list: "tracecontext,baggage,b3,b3multi,jaeger,ottrace,xray" # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: - # Configure span processors. + # Configure span processors. processors: - # Configure a batch span processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. + # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. # If omitted or null, 5000 is used. schedule_delay: 5000 - # Configure maximum allowed time (in milliseconds) to export data. + # 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. export_timeout: 30000 @@ -626,15 +625,15 @@ tracer_provider: endpoint: http://localhost:4318/v1/traces # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: /app/cert.pem - # Configure mTLS private client key. + # 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_key_file: /app/cert.pem - # Configure mTLS client certificate. + # 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. client_certificate_file: /app/cert.pem @@ -672,19 +671,19 @@ tracer_provider: endpoint: http://localhost:4317 # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: /app/cert.pem - # Configure mTLS private client key. + # 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_key_file: /app/cert.pem - # Configure mTLS client certificate. + # 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. client_certificate_file: /app/cert.pem - # Configure client transport security for the exporter's connection. + # 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. insecure: false @@ -712,9 +711,9 @@ tracer_provider: # Configure exporter. exporter: # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. + # 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 @@ -723,9 +722,9 @@ tracer_provider: # Configure exporter. exporter: # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. + # 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 @@ -738,7 +737,7 @@ tracer_provider: # Configure endpoint. # If omitted or null, http://localhost:9411/api/v2/spans is used. endpoint: http://localhost:9411/api/v2/spans - # Configure max time (in milliseconds) to wait for each export. + # 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. timeout: 10000 @@ -774,7 +773,7 @@ tracer_provider: # Value must be non-negative. # If omitted or null, 128 is used. link_attribute_count_limit: 128 - # Configure the sampler. + # Configure the sampler. # If omitted, parent based sampler with a root of always_on is used. sampler: # Configure sampler to be parent_based. @@ -796,7 +795,7 @@ tracer_provider: # If omitted or null, always_off is used. remote_parent_not_sampled: # Configure sampler to be probability. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. probability/development: # Configure ratio. # If omitted or null, 1.0 is used. @@ -805,7 +804,7 @@ tracer_provider: # If omitted or null, always_on is used. local_parent_sampled: # Configure sampler to be composite. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. composite/development: # Configure sampler to be probability. probability: @@ -818,7 +817,7 @@ tracer_provider: # Configure sampler to be always_off. always_off: # Configure tracers. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. tracer_configurator/development: # Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. default_config: @@ -828,8 +827,8 @@ tracer_provider: 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 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. name: io.opentelemetry.contrib.* # The tracer config. config: @@ -923,26 +922,26 @@ resource: attributes_list: "service.namespace=my-namespace,service.version=1.0.0" # Configure resource detection. # If omitted or null, resource detection is disabled. - # This property is experimental and subject to breaking changes in minor versions. + #This property is experimental and subject to breaking changes in minor versions. detection/development: # Configure attributes provided by resource detectors. 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 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. 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 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. excluded: - process.command_args # Configure resource detectors. - # Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. + # 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. detectors: - # Enable the container resource detector, which populates container.* attributes. @@ -957,7 +956,7 @@ resource: # If omitted or null, no schema URL is used. schema_url: https://opentelemetry.io/schemas/1.16.0 # Configure instrumentation. -# This property is experimental and subject to breaking changes in minor versions. +#This property is experimental and subject to breaking changes in minor versions. 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.. diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 64ae6348..9359e372 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -27,11 +27,11 @@ resource: value: unknown_service # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # Configure max attribute value size. + # Configure max attribute value size. # Value must be non-negative. # If omitted or null, there is no limit. attribute_value_length_limit: - # Configure max attribute count. + # Configure max attribute count. # Value must be non-negative. # If omitted or null, 128 is used. attribute_count_limit: 128 @@ -39,7 +39,7 @@ attribute_limits: # 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. + # 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: - # Include the w3c trace context propagator. @@ -49,15 +49,15 @@ propagator: # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: - # Configure span processors. + # Configure span processors. processors: - # Configure a batch span processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. + # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. # If omitted or null, 5000 is used. schedule_delay: 5000 - # Configure maximum allowed time (in milliseconds) to export data. + # 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. export_timeout: 30000 @@ -76,15 +76,15 @@ tracer_provider: endpoint: http://localhost:4318/v1/traces # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: - # Configure mTLS private client key. + # 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_key_file: - # Configure mTLS client certificate. + # 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. client_certificate_file: @@ -125,7 +125,7 @@ tracer_provider: # Value must be non-negative. # If omitted or null, 128 is used. link_attribute_count_limit: 128 - # Configure the sampler. + # Configure the sampler. # If omitted, parent based sampler with a root of always_on is used. sampler: # Configure sampler to be parent_based. @@ -162,11 +162,11 @@ meter_provider: readers: - # Configure a periodic metric reader. periodic: - # Configure delay interval (in milliseconds) between start of two consecutive exports. + # Configure delay interval (in milliseconds) between start of two consecutive exports. # Value must be non-negative. # If omitted or null, 60000 is used. interval: 60000 - # Configure maximum allowed time (in milliseconds) to export data. + # 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. timeout: 30000 @@ -179,15 +179,15 @@ meter_provider: endpoint: http://localhost:4318/v1/metrics # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: - # Configure mTLS private client key. + # 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_key_file: - # Configure mTLS client certificate. + # 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. client_certificate_file: @@ -210,7 +210,7 @@ meter_provider: # 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. default_histogram_aggregation: explicit_bucket_histogram - # Configure the exemplar filter. + # 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. exemplar_filter: trace_based @@ -244,15 +244,15 @@ logger_provider: endpoint: http://localhost:4318/v1/logs # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: - # Configure mTLS private client key. + # 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_key_file: - # Configure mTLS client certificate. + # 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. client_certificate_file: @@ -269,11 +269,11 @@ logger_provider: headers: [] # Configure log record limits. See also attribute_limits. limits: - # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. + # 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_value_length_limit: - # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. + # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. # Value must be non-negative. # If omitted or null, 128 is used. attribute_count_limit: 128 diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 5191b12b..8ea14aca 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -58,11 +58,11 @@ resource: attributes_list: ${OTEL_RESOURCE_ATTRIBUTES} # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # Configure max attribute value size. + # Configure max attribute value size. # Value must be non-negative. # If omitted or null, there is no limit. attribute_value_length_limit: ${OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT} - # Configure max attribute count. + # Configure max attribute count. # Value must be non-negative. # If omitted or null, 128 is used. attribute_count_limit: ${OTEL_ATTRIBUTE_COUNT_LIMIT:-128} @@ -70,26 +70,26 @@ attribute_limits: # 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. + # 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: [] # 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. + # 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_list: ${OTEL_PROPAGATORS:-tracecontext,baggage} # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: - # Configure span processors. + # Configure span processors. processors: - # Configure a batch span processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. + # Configure delay interval (in milliseconds) between two consecutive exports. # Value must be non-negative. # If omitted or null, 5000 is used. schedule_delay: ${OTEL_BSP_SCHEDULE_DELAY:-5000} - # Configure maximum allowed time (in milliseconds) to export data. + # 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. export_timeout: ${OTEL_BSP_EXPORT_TIMEOUT:-30000} @@ -108,15 +108,15 @@ tracer_provider: endpoint: ${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://localhost:4318/v1/traces} # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: ${OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE} - # Configure mTLS private client key. + # 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_key_file: ${OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY} - # Configure mTLS client certificate. + # 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. client_certificate_file: ${OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE} @@ -161,7 +161,7 @@ tracer_provider: # Value must be non-negative. # If omitted or null, 128 is used. link_attribute_count_limit: ${OTEL_LINK_ATTRIBUTE_COUNT_LIMIT:-128} - # Configure the sampler. + # Configure the sampler. # If omitted, parent based sampler with a root of always_on is used. sampler: # Configure sampler to be parent_based. @@ -200,11 +200,11 @@ meter_provider: readers: - # Configure a periodic metric reader. periodic: - # Configure delay interval (in milliseconds) between start of two consecutive exports. + # Configure delay interval (in milliseconds) between start of two consecutive exports. # Value must be non-negative. # If omitted or null, 60000 is used. interval: ${OTEL_METRIC_EXPORT_INTERVAL:-60000} - # Configure maximum allowed time (in milliseconds) to export data. + # 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. timeout: ${OTEL_METRIC_EXPORT_TIMEOUT:-30000} @@ -217,15 +217,15 @@ meter_provider: endpoint: ${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics} # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: ${OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE} - # Configure mTLS private client key. + # 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_key_file: ${OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY} - # Configure mTLS client certificate. + # 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. client_certificate_file: ${OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE} @@ -252,7 +252,7 @@ meter_provider: # 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. default_histogram_aggregation: ${OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION:-explicit_bucket_histogram} - # Configure the exemplar filter. + # 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. exemplar_filter: ${OTEL_METRICS_EXEMPLAR_FILTER:-trace_based} @@ -286,15 +286,15 @@ logger_provider: endpoint: ${OTEL_EXPORTER_OTLP_LOGS_ENDPOINT:-http://localhost:4318/v1/logs} # Configure TLS settings for the exporter. tls: - # Configure certificate used to verify a server's TLS credentials. + # 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. certificate_file: ${OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE} - # Configure mTLS private client key. + # 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_key_file: ${OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY} - # Configure mTLS client certificate. + # 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. client_certificate_file: ${OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE} @@ -315,11 +315,11 @@ logger_provider: headers_list: ${OTEL_EXPORTER_OTLP_LOGS_HEADERS} # Configure log record limits. See also attribute_limits. limits: - # Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. + # 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_value_length_limit: ${OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT} - # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. + # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. # Value must be non-negative. # If omitted or null, 128 is used. attribute_count_limit: ${OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT:-128} diff --git a/schema-docs.md b/schema-docs.md index 223025b3..c46d746a 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -56,21 +56,27 @@ Usages: "maxProperties": 1, "properties": { "default": { + "description": "TODO", "$ref": "#/$defs/DefaultAggregation" }, "drop": { + "description": "TODO", "$ref": "#/$defs/DropAggregation" }, "explicit_bucket_histogram": { + "description": "Configure aggregation to be explicit_bucket_histogram.", "$ref": "#/$defs/ExplicitBucketHistogramAggregation" }, "base2_exponential_bucket_histogram": { + "description": "TODO", "$ref": "#/$defs/Base2ExponentialBucketHistogramAggregation" }, "last_value": { + "description": "TODO", "$ref": "#/$defs/LastValueAggregation" }, "sum": { + "description": "TODO", "$ref": "#/$defs/SumAggregation" } } @@ -131,8 +137,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| 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` | * `minimum`: `0`
| 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` | * `minimum`: `0`
| 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` | * `minimum`: `0`
| Configure max attribute count.
Value must be non-negative.
If omitted or null, 128 is used. |
Language support status @@ -160,6 +166,7 @@ Usages: "additionalProperties": false, "properties": { "attribute_value_length_limit": { + "description": "Configure max attribute value size.\n Value must be non-negative.\n If omitted or null, there is no limit.", "type": [ "integer", "null" @@ -167,6 +174,7 @@ Usages: "minimum": 0 }, "attribute_count_limit": { + "description": "Configure max attribute count.\n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -181,9 +189,9 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -213,9 +221,11 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "The attribute name.", "type": "string" }, "value": { + "description": "The attribute value.\n The type of value must match .type.", "oneOf": [ { "type": "string" @@ -250,6 +260,7 @@ Usages: ] }, "type": { + "description": "The attribute type.\n Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.\n If omitted or null, string is used.", "$ref": "#/$defs/AttributeType" } }, @@ -431,18 +442,21 @@ Usages: "additionalProperties": false, "properties": { "max_scale": { + "description": "TODO", "type": [ "integer", "null" ] }, "max_size": { + "description": "TODO", "type": [ "integer", "null" ] }, "record_min_max": { + "description": "TODO", "type": [ "boolean", "null" @@ -456,10 +470,10 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
@@ -492,6 +506,7 @@ Usages: "additionalProperties": false, "properties": { "schedule_delay": { + "description": "Configure delay interval (in milliseconds) between two consecutive exports. \n Value must be non-negative.\n If omitted or null, 1000 is used.", "type": [ "integer", "null" @@ -499,6 +514,7 @@ Usages: "minimum": 0 }, "export_timeout": { + "description": "Configure maximum allowed time (in milliseconds) to export data. \n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", "type": [ "integer", "null" @@ -506,6 +522,7 @@ Usages: "minimum": 0 }, "max_queue_size": { + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -513,6 +530,7 @@ Usages: "exclusiveMinimum": 0 }, "max_export_batch_size": { + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -520,6 +538,7 @@ Usages: "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -533,10 +552,10 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
@@ -569,6 +588,7 @@ Usages: "additionalProperties": false, "properties": { "schedule_delay": { + "description": "Configure delay interval (in milliseconds) between two consecutive exports.\n Value must be non-negative.\n If omitted or null, 5000 is used.", "type": [ "integer", "null" @@ -576,6 +596,7 @@ Usages: "minimum": 0 }, "export_timeout": { + "description": "Configure maximum allowed time (in milliseconds) to export data.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", "type": [ "integer", "null" @@ -583,6 +604,7 @@ Usages: "minimum": 0 }, "max_queue_size": { + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -590,6 +612,7 @@ Usages: "exclusiveMinimum": 0 }, "max_export_batch_size": { + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -597,6 +620,7 @@ Usages: "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -610,14 +634,14 @@ Usages: | Property | Type | Required? | 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` | * `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. |
Language support status @@ -652,6 +676,7 @@ Usages: "additionalProperties": false, "properties": { "default": { + "description": "Configure default cardinality limit for all instrument types.\n Instrument-specific cardinality limits take priority.\n If omitted or null, 2000 is used.", "type": [ "integer", "null" @@ -659,6 +684,7 @@ Usages: "exclusiveMinimum": 0 }, "counter": { + "description": "Configure default cardinality limit for counter instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -666,6 +692,7 @@ Usages: "exclusiveMinimum": 0 }, "gauge": { + "description": "Configure default cardinality limit for gauge instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -673,6 +700,7 @@ Usages: "exclusiveMinimum": 0 }, "histogram": { + "description": "Configure default cardinality limit for histogram instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -680,6 +708,7 @@ Usages: "exclusiveMinimum": 0 }, "observable_counter": { + "description": "Configure default cardinality limit for observable_counter instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -687,6 +716,7 @@ Usages: "exclusiveMinimum": 0 }, "observable_gauge": { + "description": "Configure default cardinality limit for observable_gauge instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -694,6 +724,7 @@ Usages: "exclusiveMinimum": 0 }, "observable_up_down_counter": { + "description": "Configure default cardinality limit for observable_up_down_counter instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -701,6 +732,7 @@ Usages: "exclusiveMinimum": 0 }, "up_down_counter": { + "description": "Configure default cardinality limit for up_down_counter instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -741,8 +773,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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.
| +| `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. |
Language support status @@ -773,9 +805,11 @@ Usages: "additionalProperties": false, "properties": { "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -976,18 +1010,23 @@ Usages: "additionalProperties": false, "properties": { "root": { + "description": "Configures the sampler for spans with no parent.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "remote_parent_sampled": { + "description": "Configures the sampler for spans with a remote parent that is sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "remote_parent_not_sampled": { + "description": "Configures the sampler for spans with a remote parent that is not sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "local_parent_sampled": { + "description": "Configures the sampler for spans with a local parent that is sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "local_parent_not_sampled": { + "description": "Configures the sampler for spans with a local parent that is not sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" } } @@ -1001,7 +1040,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| Configure ratio.
If omitted or null, 1.0 is used.
| +| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| Configure ratio.
If omitted or null, 1.0 is used. |
Language support status @@ -1031,6 +1070,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -1096,15 +1136,19 @@ Usages: "maxProperties": 1, "properties": { "always_off": { + "description": "Configure sampler to be always_off.", "$ref": "#/$defs/ExperimentalComposableAlwaysOffSampler" }, "always_on": { + "description": "Configure sampler to be always_on.", "$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler" }, "parent_based": { + "description": "Configure sampler to be parent_based.", "$ref": "#/$defs/ExperimentalComposableParentBasedSampler" }, "probability": { + "description": "Configure sampler to be probability.", "$ref": "#/$defs/ExperimentalComposableProbabilitySampler" } } @@ -1146,8 +1190,8 @@ Usages: | Property | Type | Required? | 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` | 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/ |
Language support status @@ -1175,9 +1219,11 @@ Usages: "additionalProperties": false, "properties": { "peer": { + "description": "Configure instrumentations following the peer semantic conventions.\n See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/", "$ref": "#/$defs/ExperimentalPeerInstrumentation" }, "http": { + "description": "Configure instrumentations following the http semantic conventions.\n See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/", "$ref": "#/$defs/ExperimentalHttpInstrumentation" } } @@ -1219,8 +1265,8 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -1248,12 +1294,14 @@ Usages: "additionalProperties": false, "properties": { "request_captured_headers": { + "description": "Configure headers to capture for outbound http requests.", "type": "array", "items": { "type": "string" } }, "response_captured_headers": { + "description": "Configure headers to capture for inbound http responses.", "type": "array", "items": { "type": "string" @@ -1299,9 +1347,11 @@ Usages: "additionalProperties": false, "properties": { "client": { + "description": "Configure instrumentations following the http client semantic conventions.", "$ref": "#/$defs/ExperimentalHttpClientInstrumentation" }, "server": { + "description": "Configure instrumentations following the http server semantic conventions.", "$ref": "#/$defs/ExperimentalHttpServerInstrumentation" } } @@ -1315,8 +1365,8 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -1344,12 +1394,14 @@ Usages: "additionalProperties": false, "properties": { "request_captured_headers": { + "description": "Configure headers to capture for inbound http requests.", "type": "array", "items": { "type": "string" } }, "response_captured_headers": { + "description": "Configure headers to capture for outbound http responses.", "type": "array", "items": { "type": "string" @@ -1366,18 +1418,18 @@ Usages: | Property | Type | Required? | 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..
| +| `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.
| +| `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. |
Language support status @@ -1417,39 +1469,51 @@ Usages: "additionalProperties": false, "properties": { "general": { + "description": "Configure general SemConv options that may apply to multiple languages and instrumentations.\n Instrumenation may merge general config options with the language specific configuration at .instrumentation..", "$ref": "#/$defs/ExperimentalGeneralInstrumentation" }, "cpp": { + "description": "Configure C++ language-specific instrumentation libraries.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "dotnet": { + "description": "Configure .NET language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "erlang": { + "description": "Configure Erlang language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "go": { + "description": "Configure Go language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "java": { + "description": "Configure Java language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "js": { + "description": "Configure JavaScript language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "php": { + "description": "Configure PHP language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "python": { + "description": "Configure Python language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "ruby": { + "description": "Configure Ruby language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "rust": { + "description": "Configure Rust language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "swift": { + "description": "Configure Swift language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" } }, @@ -1459,9 +1523,11 @@ Usages: "additionalProperties": false, "properties": { "peer": { + "description": "Configure instrumentations following the peer semantic conventions.\n See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/", "$ref": "#/$defs/ExperimentalPeerInstrumentation" }, "http": { + "description": "Configure instrumentations following the http semantic conventions.\n See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/", "$ref": "#/$defs/ExperimentalHttpInstrumentation" } } @@ -1471,6 +1537,7 @@ Usages: "additionalProperties": false, "properties": { "service_mapping": { + "description": "Configure the service mapping for instrumentations following peer.service semantic conventions.\n See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes", "type": "array", "items": { "$ref": "#/$defs/ExperimentalPeerServiceMapping" @@ -1483,9 +1550,11 @@ Usages: "additionalProperties": false, "properties": { "peer": { + "description": "The IP address to map.", "type": "string" }, "service": { + "description": "The logical name corresponding to the IP address of .peer.", "type": "string" } }, @@ -1499,12 +1568,14 @@ Usages: "additionalProperties": false, "properties": { "request_captured_headers": { + "description": "Configure headers to capture for outbound http requests.", "type": "array", "items": { "type": "string" } }, "response_captured_headers": { + "description": "Configure headers to capture for inbound http responses.", "type": "array", "items": { "type": "string" @@ -1517,12 +1588,14 @@ Usages: "additionalProperties": false, "properties": { "request_captured_headers": { + "description": "Configure headers to capture for inbound http requests.", "type": "array", "items": { "type": "string" } }, "response_captured_headers": { + "description": "Configure headers to capture for outbound http responses.", "type": "array", "items": { "type": "string" @@ -1535,9 +1608,11 @@ Usages: "additionalProperties": false, "properties": { "client": { + "description": "Configure instrumentations following the http client semantic conventions.", "$ref": "#/$defs/ExperimentalHttpClientInstrumentation" }, "server": { + "description": "Configure instrumentations following the http server semantic conventions.", "$ref": "#/$defs/ExperimentalHttpServerInstrumentation" } } @@ -1593,12 +1668,14 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "TODO", "type": [ "string", "null" ] }, "interval": { + "description": "TODO", "type": [ "integer", "null" @@ -1606,6 +1683,7 @@ Usages: "minimum": 0 }, "initial_sampler": { + "description": "TODO", "$ref": "#/$defs/Sampler" } } @@ -1686,6 +1764,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the logger is enabled or not.", "type": [ "boolean" ] @@ -1732,9 +1811,11 @@ Usages: "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers.", "$ref": "#/$defs/ExperimentalLoggerConfig" }, "loggers": { + "description": "Configure loggers.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig" @@ -1751,7 +1832,7 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
@@ -1782,11 +1863,13 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "Configure logger names to match, evaluated as follows:\n * If the logger name exactly matches.\n * If the logger name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", "type": [ "string" ] }, "config": { + "description": "The logger config.", "$ref": "#/$defs/ExperimentalLoggerConfig" } } @@ -1830,6 +1913,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the meter is enabled or not.", "type": [ "boolean" ] @@ -1876,9 +1960,11 @@ Usages: "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default meter config used there is no matching entry in .meter_configurator/development.meters.", "$ref": "#/$defs/ExperimentalMeterConfig" }, "meters": { + "description": "Configure meters.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig" @@ -1895,7 +1981,7 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
@@ -1926,11 +2012,13 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "Configure meter names to match, evaluated as follows:\n \n * If the meter name exactly matches.\n * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", "type": [ "string" ] }, "config": { + "description": "The meter config.", "$ref": "#/$defs/ExperimentalMeterConfig" } } @@ -1944,7 +2032,7 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -1975,6 +2063,7 @@ Usages: "additionalProperties": false, "properties": { "output_stream": { + "description": "Configure output stream.\n Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n If omitted or null, stdout is used.", "type": [ "string", "null" @@ -1991,9 +2080,9 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -2025,15 +2114,18 @@ Usages: "additionalProperties": false, "properties": { "output_stream": { + "description": "Configure output stream.\n Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n If omitted or null, stdout is used.", "type": [ "string", "null" ] }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -2047,7 +2139,7 @@ Usages: | Property | Type | Required? | 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` | 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 @@ -2074,6 +2166,7 @@ Usages: "additionalProperties": false, "properties": { "service_mapping": { + "description": "Configure the service mapping for instrumentations following peer.service semantic conventions.\n See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes", "type": "array", "items": { "$ref": "#/$defs/ExperimentalPeerServiceMapping" @@ -2090,8 +2183,8 @@ Usages: | Property | Type | Required? | 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` | No constraints. | The IP address to map. | +| `service` | `string` | `true` | No constraints. | The logical name corresponding to the IP address of .peer. |
Language support status @@ -2120,9 +2213,11 @@ Usages: "additionalProperties": false, "properties": { "peer": { + "description": "The IP address to map.", "type": "string" }, "service": { + "description": "The logical name corresponding to the IP address of .peer.", "type": "string" } }, @@ -2140,7 +2235,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| Configure ratio.
If omitted or null, 1.0 is used.
| +| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| Configure ratio.
If omitted or null, 1.0 is used. |
Language support status @@ -2170,6 +2265,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -2216,11 +2312,11 @@ Usages: | Property | Type | Required? | 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.
| +| `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` | No constraints. | 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.
| +| `translation_strategy` | one of:
* `string`
* `null`
| `false` | No constraints. | 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. |
Language support status @@ -2254,27 +2350,32 @@ Usages: "additionalProperties": false, "properties": { "host": { + "description": "Configure host.\n If omitted or null, localhost is used.", "type": [ "string", "null" ] }, "port": { + "description": "Configure port.\n If omitted or null, 9464 is used.", "type": [ "integer", "null" ] }, "without_scope_info": { + "description": "Configure Prometheus Exporter to produce metrics without a scope info metric.\n If omitted or null, false is used.", "type": [ "boolean", "null" ] }, "with_resource_constant_labels": { + "description": "Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns.", "$ref": "common.json#/$defs/IncludeExclude" }, "translation_strategy": { + "description": "Configure how Prometheus metrics are exposed. Values include:\n \n * UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes.\n * UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached.\n * NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached.\n * NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered.\n \n If omitted or null, UnderscoreEscapingWithSuffixes is used.", "type": [ "string", "null" @@ -2298,7 +2399,7 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
Language support status @@ -2326,9 +2427,11 @@ Usages: "additionalProperties": false, "properties": { "attributes": { + "description": "Configure attributes provided by resource detectors.", "$ref": "common.json#/$defs/IncludeExclude" }, "detectors": { + "description": "Configure resource detectors.\n Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.\n If omitted or null, no resource detectors are enabled.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalResourceDetector" @@ -2347,10 +2450,10 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -2389,15 +2492,19 @@ Usages: "maxProperties": 1, "properties": { "container": { + "description": "Enable the container resource detector, which populates container.* attributes.", "$ref": "#/$defs/ExperimentalContainerResourceDetector" }, "host": { + "description": "Enable the host resource detector, which populates host.* and os.* attributes.", "$ref": "#/$defs/ExperimentalHostResourceDetector" }, "process": { + "description": "Enable the process resource detector, which populates process.* attributes.", "$ref": "#/$defs/ExperimentalProcessResourceDetector" }, "service": { + "description": "Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.", "$ref": "#/$defs/ExperimentalServiceResourceDetector" } } @@ -2469,6 +2576,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the tracer is enabled or not.", "type": [ "boolean" ] @@ -2515,9 +2623,11 @@ Usages: "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers.", "$ref": "#/$defs/ExperimentalTracerConfig" }, "tracers": { + "description": "Configure tracers.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig" @@ -2534,7 +2644,7 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
@@ -2565,11 +2675,13 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "Configure tracer names to match, evaluated as follows:\n \n * If the tracer name exactly matches.\n * If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", "type": [ "string" ] }, "config": { + "description": "The tracer config.", "$ref": "#/$defs/ExperimentalTracerConfig" } } @@ -2580,8 +2692,8 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -2612,12 +2724,14 @@ Usages: "additionalProperties": false, "properties": { "boundaries": { + "description": "Configure bucket boundaries.\n If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.", "type": "array", "items": { "type": "number" } }, "record_min_max": { + "description": "Configure record min and max.\n If omitted or null, true is used.", "type": [ "boolean", "null" @@ -2720,10 +2834,10 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -2757,24 +2871,28 @@ Usages: "additionalProperties": false, "properties": { "certificate_file": { + "description": "Configure certificate used to verify a server's TLS credentials.\n Absolute path to certificate file in PEM format.\n If omitted or null, system default certificate verification is used for secure connections.", "type": [ "string", "null" ] }, "client_key_file": { + "description": "Configure mTLS private client key.\n Absolute path to client key file in PEM format. If set, .client_certificate must also be set.\n If omitted or null, mTLS is not used.", "type": [ "string", "null" ] }, "client_certificate_file": { + "description": "Configure mTLS client certificate.\n Absolute path to client certificate file in PEM format. If set, .client_key must also be set.\n If omitted or null, mTLS is not used.", "type": [ "string", "null" ] }, "insecure": { + "description": "Configure client transport security for the exporter's connection.\n Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.\n If omitted or null, false is used.", "type": [ "boolean", "null" @@ -2788,9 +2906,9 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -2823,18 +2941,21 @@ Usages: "additionalProperties": false, "properties": { "certificate_file": { + "description": "Configure certificate used to verify a server's TLS credentials.\n Absolute path to certificate file in PEM format.\n If omitted or null, system default certificate verification is used for secure connections.", "type": [ "string", "null" ] }, "client_key_file": { + "description": "Configure mTLS private client key.\n Absolute path to client key file in PEM format. If set, .client_certificate must also be set.\n If omitted or null, mTLS is not used.", "type": [ "string", "null" ] }, "client_certificate_file": { + "description": "Configure mTLS client certificate.\n Absolute path to client certificate file in PEM format. If set, .client_key must also be set.\n If omitted or null, mTLS is not used.", "type": [ "string", "null" @@ -2848,8 +2969,8 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -2879,12 +3000,14 @@ Usages: "additionalProperties": false, "properties": { "included": { + "description": "Configure list of value patterns to include.\n Values are evaluated to match as follows:\n * If the value exactly matches.\n * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n If omitted, all values are included.", "type": "array", "items": { "type": "string" } }, "excluded": { + "description": "Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).\n Values are evaluated to match as follows:\n * If the value exactly matches.\n * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n If omitted, .included attributes are included.", "type": "array", "items": { "type": "string" @@ -3005,7 +3128,7 @@ Usages: |---|---|---|---|---| | `processors` | `array` of [`LogRecordProcessor`](#logrecordprocessor) | `true` | * `minItems`: `1`
| Configure log record processors. | | `limits` | [`LogRecordLimits`](#logrecordlimits) | `false` | No constraints. | Configure log record limits. See also attribute_limits. | -| `logger_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | `false` | No constraints. | Configure loggers.
| +| `logger_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | `false` | No constraints. | Configure loggers. |
Language support status @@ -3037,6 +3160,7 @@ Usages: "additionalProperties": false, "properties": { "processors": { + "description": "Configure log record processors.", "type": "array", "minItems": 1, "items": { @@ -3044,9 +3168,11 @@ Usages: } }, "limits": { + "description": "Configure log record limits. See also attribute_limits.", "$ref": "#/$defs/LogRecordLimits" }, "logger_configurator/development": { + "description": "Configure loggers.", "$ref": "#/$defs/ExperimentalLoggerConfigurator" } }, @@ -3059,6 +3185,7 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -3071,6 +3198,7 @@ Usages: "additionalProperties": false, "properties": { "schedule_delay": { + "description": "Configure delay interval (in milliseconds) between two consecutive exports. \n Value must be non-negative.\n If omitted or null, 1000 is used.", "type": [ "integer", "null" @@ -3078,6 +3206,7 @@ Usages: "minimum": 0 }, "export_timeout": { + "description": "Configure maximum allowed time (in milliseconds) to export data. \n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", "type": [ "integer", "null" @@ -3085,6 +3214,7 @@ Usages: "minimum": 0 }, "max_queue_size": { + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -3092,6 +3222,7 @@ Usages: "exclusiveMinimum": 0 }, "max_export_batch_size": { + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -3099,6 +3230,7 @@ Usages: "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -3118,15 +3250,19 @@ Usages: "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "common.json#/$defs/OtlpHttpExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "common.json#/$defs/OtlpGrpcExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "common.json#/$defs/ConsoleExporter" } } @@ -3136,6 +3272,7 @@ Usages: "additionalProperties": false, "properties": { "attribute_value_length_limit": { + "description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.\n Value must be non-negative.\n If omitted or null, there is no limit.", "type": [ "integer", "null" @@ -3143,6 +3280,7 @@ Usages: "minimum": 0 }, "attribute_count_limit": { + "description": "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.\n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -3163,9 +3301,11 @@ Usages: "maxProperties": 1, "properties": { "batch": { + "description": "Configure a batch log record processor.", "$ref": "#/$defs/BatchLogRecordProcessor" }, "simple": { + "description": "Configure a simple log record processor.", "$ref": "#/$defs/SimpleLogRecordProcessor" } } @@ -3177,9 +3317,11 @@ Usages: "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers.", "$ref": "#/$defs/ExperimentalLoggerConfig" }, "loggers": { + "description": "Configure loggers.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig" @@ -3194,11 +3336,13 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "Configure logger names to match, evaluated as follows:\n * If the logger name exactly matches.\n * If the logger name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", "type": [ "string" ] }, "config": { + "description": "The logger config.", "$ref": "#/$defs/ExperimentalLoggerConfig" } } @@ -3210,6 +3354,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the logger is enabled or not.", "type": [ "boolean" ] @@ -3228,7 +3373,7 @@ Usages: |---|---|---|---|---| | `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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport.
| +| `otlp_file/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport. | | `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. |
@@ -3269,15 +3414,19 @@ Usages: "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "common.json#/$defs/OtlpHttpExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "common.json#/$defs/OtlpGrpcExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "common.json#/$defs/ConsoleExporter" } } @@ -3288,8 +3437,8 @@ Usages: | Property | Type | Required? | 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` | * `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. |
Language support status @@ -3317,6 +3466,7 @@ Usages: "additionalProperties": false, "properties": { "attribute_value_length_limit": { + "description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.\n Value must be non-negative.\n If omitted or null, there is no limit.", "type": [ "integer", "null" @@ -3324,6 +3474,7 @@ Usages: "minimum": 0 }, "attribute_count_limit": { + "description": "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.\n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -3378,9 +3529,11 @@ Usages: "maxProperties": 1, "properties": { "batch": { + "description": "Configure a batch log record processor.", "$ref": "#/$defs/BatchLogRecordProcessor" }, "simple": { + "description": "Configure a simple log record processor.", "$ref": "#/$defs/SimpleLogRecordProcessor" } } @@ -3392,9 +3545,9 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| | `readers` | `array` of [`MetricReader`](#metricreader) | `true` | * `minItems`: `1`
| 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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | `false` | No constraints. | Configure meters.
| +| `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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | `false` | No constraints. | Configure meters. |
Language support status @@ -3427,6 +3580,7 @@ Usages: "additionalProperties": false, "properties": { "readers": { + "description": "Configure metric readers.", "type": "array", "minItems": 1, "items": { @@ -3434,15 +3588,18 @@ Usages: } }, "views": { + "description": "Configure views.\n Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).", "type": "array", "items": { "$ref": "#/$defs/View" } }, "exemplar_filter": { + "description": "Configure the exemplar filter.\n 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.\n If omitted or null, trace_based is used.", "$ref": "#/$defs/ExemplarFilter" }, "meter_configurator/development": { + "description": "Configure meters.", "$ref": "#/$defs/ExperimentalMeterConfigurator" } }, @@ -3466,6 +3623,7 @@ Usages: "additionalProperties": false, "properties": { "interval": { + "description": "Configure delay interval (in milliseconds) between start of two consecutive exports.\n Value must be non-negative.\n If omitted or null, 60000 is used.", "type": [ "integer", "null" @@ -3473,6 +3631,7 @@ Usages: "minimum": 0 }, "timeout": { + "description": "Configure maximum allowed time (in milliseconds) to export data.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", "type": [ "integer", "null" @@ -3480,15 +3639,18 @@ Usages: "minimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/PushMetricExporter" }, "producers": { + "description": "Configure metric producers.", "type": "array", "items": { "$ref": "#/$defs/MetricProducer" } }, "cardinality_limits": { + "description": "Configure cardinality limits.", "$ref": "#/$defs/CardinalityLimits" } }, @@ -3501,15 +3663,18 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/PullMetricExporter" }, "producers": { + "description": "Configure metric producers.", "type": "array", "items": { "$ref": "#/$defs/MetricProducer" } }, "cardinality_limits": { + "description": "Configure cardinality limits.", "$ref": "#/$defs/CardinalityLimits" } }, @@ -3522,6 +3687,7 @@ Usages: "additionalProperties": false, "properties": { "default": { + "description": "Configure default cardinality limit for all instrument types.\n Instrument-specific cardinality limits take priority.\n If omitted or null, 2000 is used.", "type": [ "integer", "null" @@ -3529,6 +3695,7 @@ Usages: "exclusiveMinimum": 0 }, "counter": { + "description": "Configure default cardinality limit for counter instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -3536,6 +3703,7 @@ Usages: "exclusiveMinimum": 0 }, "gauge": { + "description": "Configure default cardinality limit for gauge instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -3543,6 +3711,7 @@ Usages: "exclusiveMinimum": 0 }, "histogram": { + "description": "Configure default cardinality limit for histogram instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -3550,6 +3719,7 @@ Usages: "exclusiveMinimum": 0 }, "observable_counter": { + "description": "Configure default cardinality limit for observable_counter instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -3557,6 +3727,7 @@ Usages: "exclusiveMinimum": 0 }, "observable_gauge": { + "description": "Configure default cardinality limit for observable_gauge instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -3564,6 +3735,7 @@ Usages: "exclusiveMinimum": 0 }, "observable_up_down_counter": { + "description": "Configure default cardinality limit for observable_up_down_counter instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -3571,6 +3743,7 @@ Usages: "exclusiveMinimum": 0 }, "up_down_counter": { + "description": "Configure default cardinality limit for up_down_counter instruments.\n If omitted or null, the value from .default is used.", "type": [ "integer", "null" @@ -3591,15 +3764,19 @@ Usages: "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "#/$defs/OtlpHttpMetricExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "#/$defs/OtlpGrpcMetricExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "#/$defs/ExperimentalOtlpFileMetricExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "#/$defs/ConsoleMetricExporter" } } @@ -3616,6 +3793,7 @@ Usages: "maxProperties": 1, "properties": { "prometheus/development": { + "description": "Configure exporter to be prometheus.", "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" } } @@ -3632,6 +3810,7 @@ Usages: "maxProperties": 1, "properties": { "opencensus": { + "description": "Configure metric producer to be opencensus.", "$ref": "#/$defs/OpenCensusMetricProducer" } } @@ -3651,27 +3830,32 @@ Usages: "additionalProperties": false, "properties": { "host": { + "description": "Configure host.\n If omitted or null, localhost is used.", "type": [ "string", "null" ] }, "port": { + "description": "Configure port.\n If omitted or null, 9464 is used.", "type": [ "integer", "null" ] }, "without_scope_info": { + "description": "Configure Prometheus Exporter to produce metrics without a scope info metric.\n If omitted or null, false is used.", "type": [ "boolean", "null" ] }, "with_resource_constant_labels": { + "description": "Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns.", "$ref": "common.json#/$defs/IncludeExclude" }, "translation_strategy": { + "description": "Configure how Prometheus metrics are exposed. Values include:\n \n * UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes.\n * UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached.\n * NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached.\n * NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered.\n \n If omitted or null, UnderscoreEscapingWithSuffixes is used.", "type": [ "string", "null" @@ -3692,9 +3876,11 @@ Usages: "maxProperties": 1, "properties": { "periodic": { + "description": "Configure a periodic metric reader.", "$ref": "#/$defs/PeriodicMetricReader" }, "pull": { + "description": "Configure a pull based metric reader.", "$ref": "#/$defs/PullMetricReader" } } @@ -3728,33 +3914,39 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "Configure endpoint, including the signal specific path.\n If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.", "type": [ "string", "null" ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "common.json#/$defs/HttpTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "common.json#/$defs/NameStringValuePair" } }, "headers_list": { + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", "type": [ "string", "null" ] }, "compression": { + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", "type": [ "string", "null" ] }, "timeout": { + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", "type": [ "integer", "null" @@ -3762,12 +3954,15 @@ Usages: "minimum": 0 }, "encoding": { + "description": "Configure the encoding used for messages. \n Values include: protobuf, json. Implementations may not support json.\n If omitted or null, protobuf is used.", "$ref": "common.json#/$defs/OtlpHttpEncoding" }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -3780,33 +3975,39 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "Configure endpoint.\n If omitted or null, http://localhost:4317 is used.", "type": [ "string", "null" ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "common.json#/$defs/GrpcTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "common.json#/$defs/NameStringValuePair" } }, "headers_list": { + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", "type": [ "string", "null" ] }, "compression": { + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", "type": [ "string", "null" ] }, "timeout": { + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", "type": [ "integer", "null" @@ -3814,9 +4015,11 @@ Usages: "minimum": 0 }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -3829,15 +4032,18 @@ Usages: "additionalProperties": false, "properties": { "output_stream": { + "description": "Configure output stream.\n Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n If omitted or null, stdout is used.", "type": [ "string", "null" ] }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -3850,9 +4056,11 @@ Usages: "additionalProperties": false, "properties": { "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -3862,9 +4070,11 @@ Usages: "additionalProperties": false, "properties": { "selector": { + "description": "Configure view selector.\n Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.", "$ref": "#/$defs/ViewSelector" }, "stream": { + "description": "Configure view stream.", "$ref": "#/$defs/ViewStream" } }, @@ -3878,33 +4088,39 @@ Usages: "additionalProperties": false, "properties": { "instrument_name": { + "description": "Configure instrument name selection criteria.\n If omitted or null, all instrument names match.", "type": [ "string", "null" ] }, "instrument_type": { + "description": "Configure instrument type selection criteria.\n Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.\n If omitted or null, all instrument types match.", "$ref": "#/$defs/InstrumentType" }, "unit": { + "description": "Configure the instrument unit selection criteria.\n If omitted or null, all instrument units match.", "type": [ "string", "null" ] }, "meter_name": { + "description": "Configure meter name selection criteria.\n If omitted or null, all meter names match.", "type": [ "string", "null" ] }, "meter_version": { + "description": "Configure meter version selection criteria.\n If omitted or null, all meter versions match.", "type": [ "string", "null" ] }, "meter_schema_url": { + "description": "Configure meter schema url selection criteria.\n If omitted or null, all meter schema URLs match.", "type": [ "string", "null" @@ -3932,21 +4148,25 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "Configure metric name of the resulting stream(s).\n If omitted or null, the instrument's original name is used.", "type": [ "string", "null" ] }, "description": { + "description": "Configure metric description of the resulting stream(s).\n If omitted or null, the instrument's origin description is used.", "type": [ "string", "null" ] }, "aggregation": { + "description": "Configure aggregation of the resulting stream(s).\n 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.\n If omitted, default is used.", "$ref": "#/$defs/Aggregation" }, "aggregation_cardinality_limit": { + "description": "Configure the aggregation cardinality limit.\n If omitted or null, the metric reader's default cardinality limit is used.", "type": [ "integer", "null" @@ -3954,6 +4174,7 @@ Usages: "exclusiveMinimum": 0 }, "attribute_keys": { + "description": "Configure attribute keys retained in the resulting stream(s).", "$ref": "common.json#/$defs/IncludeExclude" } } @@ -3965,21 +4186,27 @@ Usages: "maxProperties": 1, "properties": { "default": { + "description": "TODO", "$ref": "#/$defs/DefaultAggregation" }, "drop": { + "description": "TODO", "$ref": "#/$defs/DropAggregation" }, "explicit_bucket_histogram": { + "description": "Configure aggregation to be explicit_bucket_histogram.", "$ref": "#/$defs/ExplicitBucketHistogramAggregation" }, "base2_exponential_bucket_histogram": { + "description": "TODO", "$ref": "#/$defs/Base2ExponentialBucketHistogramAggregation" }, "last_value": { + "description": "TODO", "$ref": "#/$defs/LastValueAggregation" }, "sum": { + "description": "TODO", "$ref": "#/$defs/SumAggregation" } } @@ -4006,12 +4233,14 @@ Usages: "additionalProperties": false, "properties": { "boundaries": { + "description": "Configure bucket boundaries.\n If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.", "type": "array", "items": { "type": "number" } }, "record_min_max": { + "description": "Configure record min and max.\n If omitted or null, true is used.", "type": [ "boolean", "null" @@ -4027,18 +4256,21 @@ Usages: "additionalProperties": false, "properties": { "max_scale": { + "description": "TODO", "type": [ "integer", "null" ] }, "max_size": { + "description": "TODO", "type": [ "integer", "null" ] }, "record_min_max": { + "description": "TODO", "type": [ "boolean", "null" @@ -4067,9 +4299,11 @@ Usages: "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default meter config used there is no matching entry in .meter_configurator/development.meters.", "$ref": "#/$defs/ExperimentalMeterConfig" }, "meters": { + "description": "Configure meters.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig" @@ -4084,11 +4318,13 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "Configure meter names to match, evaluated as follows:\n \n * If the meter name exactly matches.\n * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", "type": [ "string" ] }, "config": { + "description": "The meter config.", "$ref": "#/$defs/ExperimentalMeterConfig" } } @@ -4100,6 +4336,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the meter is enabled or not.", "type": [ "boolean" ] @@ -4153,6 +4390,7 @@ Usages: "maxProperties": 1, "properties": { "opencensus": { + "description": "Configure metric producer to be opencensus.", "$ref": "#/$defs/OpenCensusMetricProducer" } } @@ -4196,9 +4434,11 @@ Usages: "maxProperties": 1, "properties": { "periodic": { + "description": "Configure a periodic metric reader.", "$ref": "#/$defs/PeriodicMetricReader" }, "pull": { + "description": "Configure a pull based metric reader.", "$ref": "#/$defs/PullMetricReader" } } @@ -4242,9 +4482,11 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "The name of the pair.", "type": "string" }, "value": { + "description": "The value of the pair.", "type": [ "string", "null" @@ -4287,16 +4529,16 @@ Usages: | Property | Type | Required? | 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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalInstrumentation`](#experimentalinstrumentation) | `false` | No constraints. | Configure instrumentation.
| +| `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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalInstrumentation`](#experimentalinstrumentation) | `false` | No constraints. | Configure instrumentation. |
Language support status @@ -4334,39 +4576,49 @@ No usages. "additionalProperties": true, "properties": { "file_format": { + "description": "The file format version.\n The yaml format is documented at\n https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema", "type": "string" }, "disabled": { + "description": "Configure if the SDK is disabled or not.\n If omitted or null, false is used.", "type": [ "boolean", "null" ] }, "log_level": { + "description": "Configure the log level of the internal logger used by the SDK.\n If omitted, info is used.", "type": [ "string", "null" ] }, "attribute_limits": { + "description": "Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.", "$ref": "#/$defs/AttributeLimits" }, "logger_provider": { + "description": "Configure logger provider.\n If omitted, a noop logger provider is used.", "$ref": "#/$defs/LoggerProvider" }, "meter_provider": { + "description": "Configure meter provider.\n If omitted, a noop meter provider is used.", "$ref": "#/$defs/MeterProvider" }, "propagator": { + "description": "Configure text map context propagators.\n If omitted, a noop propagator is used.", "$ref": "#/$defs/Propagator" }, "tracer_provider": { + "description": "Configure tracer provider.\n If omitted, a noop tracer provider is used.", "$ref": "#/$defs/TracerProvider" }, "resource": { + "description": "Configure resource for all signals.\n If omitted, the default resource is used.", "$ref": "#/$defs/Resource" }, "instrumentation/development": { + "description": "Configure instrumentation.", "$ref": "#/$defs/ExperimentalInstrumentation" } }, @@ -4379,6 +4631,7 @@ No usages. "additionalProperties": false, "properties": { "attribute_value_length_limit": { + "description": "Configure max attribute value size.\n Value must be non-negative.\n If omitted or null, there is no limit.", "type": [ "integer", "null" @@ -4386,6 +4639,7 @@ No usages. "minimum": 0 }, "attribute_count_limit": { + "description": "Configure max attribute count.\n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -4445,11 +4699,11 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
@@ -4486,33 +4740,39 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "Configure endpoint.\n If omitted or null, http://localhost:4317 is used.", "type": [ "string", "null" ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "#/$defs/GrpcTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "#/$defs/NameStringValuePair" } }, "headers_list": { + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", "type": [ "string", "null" ] }, "compression": { + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", "type": [ "string", "null" ] }, "timeout": { + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", "type": [ "integer", "null" @@ -4527,13 +4787,13 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
@@ -4571,33 +4831,39 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "Configure endpoint.\n If omitted or null, http://localhost:4317 is used.", "type": [ "string", "null" ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "common.json#/$defs/GrpcTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "common.json#/$defs/NameStringValuePair" } }, "headers_list": { + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", "type": [ "string", "null" ] }, "compression": { + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", "type": [ "string", "null" ] }, "timeout": { + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", "type": [ "integer", "null" @@ -4605,9 +4871,11 @@ Usages: "minimum": 0 }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -4659,12 +4927,12 @@ Usages: | Property | Type | Required? | 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.
| +| `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. |
@@ -4702,33 +4970,39 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "Configure endpoint, including the signal specific path.\n If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.", "type": [ "string", "null" ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "#/$defs/HttpTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "#/$defs/NameStringValuePair" } }, "headers_list": { + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", "type": [ "string", "null" ] }, "compression": { + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", "type": [ "string", "null" ] }, "timeout": { + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", "type": [ "integer", "null" @@ -4736,6 +5010,7 @@ Usages: "minimum": 0 }, "encoding": { + "description": "Configure the encoding used for messages. \n Values include: protobuf, json. Implementations may not support json.\n If omitted or null, protobuf is used.", "$ref": "#/$defs/OtlpHttpEncoding" } } @@ -4746,15 +5021,14 @@ Usages: | Property | Type | Required? | 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.
| +| `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. | +| `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. |
@@ -4763,7 +5037,6 @@ Usages: | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| | `endpoint` | supported | unknown | supported | unknown | -| `endpoint` | supported | unknown | supported | unknown | | `headers` | supported | unknown | supported | unknown | | `headers_list` | supported | unknown | supported | unknown | | `compression` | supported | unknown | supported | unknown | @@ -4794,33 +5067,39 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "Configure endpoint, including the signal specific path.\n If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.", "type": [ "string", "null" ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "common.json#/$defs/HttpTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "common.json#/$defs/NameStringValuePair" } }, "headers_list": { + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", "type": [ "string", "null" ] }, "compression": { + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", "type": [ "string", "null" ] }, "timeout": { + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", "type": [ "integer", "null" @@ -4828,12 +5107,15 @@ Usages: "minimum": 0 }, "encoding": { + "description": "Configure the encoding used for messages. \n Values include: protobuf, json. Implementations may not support json.\n If omitted or null, protobuf is used.", "$ref": "common.json#/$defs/OtlpHttpEncoding" }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -4844,11 +5126,11 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -4882,18 +5164,23 @@ Usages: "additionalProperties": false, "properties": { "root": { + "description": "Configure root sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "remote_parent_sampled": { + "description": "Configure remote_parent_sampled sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "remote_parent_not_sampled": { + "description": "Configure remote_parent_not_sampled sampler.\n If omitted or null, always_off is used.", "$ref": "#/$defs/Sampler" }, "local_parent_sampled": { + "description": "Configure local_parent_sampled sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "local_parent_not_sampled": { + "description": "Configure local_parent_not_sampled sampler.\n If omitted or null, always_off is used.", "$ref": "#/$defs/Sampler" } } @@ -4904,8 +5191,8 @@ Usages: | Property | Type | Required? | 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.
| +| `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. | @@ -4940,6 +5227,7 @@ Usages: "additionalProperties": false, "properties": { "interval": { + "description": "Configure delay interval (in milliseconds) between start of two consecutive exports.\n Value must be non-negative.\n If omitted or null, 60000 is used.", "type": [ "integer", "null" @@ -4947,6 +5235,7 @@ Usages: "minimum": 0 }, "timeout": { + "description": "Configure maximum allowed time (in milliseconds) to export data.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", "type": [ "integer", "null" @@ -4954,15 +5243,18 @@ Usages: "minimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/PushMetricExporter" }, "producers": { + "description": "Configure metric producers.", "type": "array", "items": { "$ref": "#/$defs/MetricProducer" } }, "cardinality_limits": { + "description": "Configure cardinality limits.", "$ref": "#/$defs/CardinalityLimits" } }, @@ -4976,8 +5268,8 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -5004,12 +5296,14 @@ Usages: "type": "object", "properties": { "composite": { + "description": "Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out.\n Built-in propagator keys include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party keys include: xray.\n If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used.", "type": "array", "items": { "$ref": "#/$defs/TextMapPropagator" } }, "composite_list": { + "description": "Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out.\n 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.\n Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray.\n If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used.", "type": [ "string", "null" @@ -5029,21 +5323,27 @@ Usages: "maxProperties": 1, "properties": { "tracecontext": { + "description": "Include the w3c trace context propagator.", "$ref": "#/$defs/TraceContextPropagator" }, "baggage": { + "description": "Include the w3c baggage propagator.", "$ref": "#/$defs/BaggagePropagator" }, "b3": { + "description": "Include the zipkin b3 propagator.", "$ref": "#/$defs/B3Propagator" }, "b3multi": { + "description": "Include the zipkin b3 multi propagator.", "$ref": "#/$defs/B3MultiPropagator" }, "jaeger": { + "description": "Include the jaeger propagator.", "$ref": "#/$defs/JaegerPropagator" }, "ottrace": { + "description": "Include the opentracing propagator.", "$ref": "#/$defs/OpenTracingPropagator" } } @@ -5100,7 +5400,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `prometheus/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | `false` | No constraints. | Configure exporter to be prometheus.
| +| `prometheus/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | `false` | No constraints. | Configure exporter to be prometheus. |
Language support status @@ -5136,6 +5436,7 @@ Usages: "maxProperties": 1, "properties": { "prometheus/development": { + "description": "Configure exporter to be prometheus.", "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" } } @@ -5178,15 +5479,18 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/PullMetricExporter" }, "producers": { + "description": "Configure metric producers.", "type": "array", "items": { "$ref": "#/$defs/MetricProducer" } }, "cardinality_limits": { + "description": "Configure cardinality limits.", "$ref": "#/$defs/CardinalityLimits" } }, @@ -5202,10 +5506,10 @@ Usages: | Property | Type | Required? | 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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport.
| -| `console` | [`ConsoleMetricExporter`](#consolemetricexporter) | `false` | No constraints. | Configure exporter to be console.
| +| `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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport. | +| `console` | [`ConsoleMetricExporter`](#consolemetricexporter) | `false` | No constraints. | Configure exporter to be console. |
Language support status @@ -5244,15 +5548,19 @@ Usages: "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "#/$defs/OtlpHttpMetricExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "#/$defs/OtlpGrpcMetricExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "#/$defs/ExperimentalOtlpFileMetricExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "#/$defs/ConsoleMetricExporter" } } @@ -5263,10 +5571,10 @@ Usages: | Property | Type | Required? | 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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalResourceDetection`](#experimentalresourcedetection) | `false` | No constraints. | Configure resource detection.
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` | No constraints. | Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. | +| `detection/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalResourceDetection`](#experimentalresourcedetection) | `false` | No constraints. | Configure resource detection.
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. |
Language support status @@ -5298,21 +5606,25 @@ Usages: "additionalProperties": false, "properties": { "attributes": { + "description": "Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.", "type": "array", "items": { "$ref": "#/$defs/AttributeNameValue" } }, "detection/development": { + "description": "Configure resource detection.\n If omitted or null, resource detection is disabled.", "$ref": "#/$defs/ExperimentalResourceDetection" }, "schema_url": { + "description": "Configure resource schema URL.\n If omitted or null, no schema URL is used.", "type": [ "string", "null" ] }, "attributes_list": { + "description": "Configure resource attributes. Entries have lower priority than entries from .resource.attributes.\n 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.\n If omitted or null, no resource attributes are added.", "type": [ "string", "null" @@ -5325,9 +5637,11 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "The attribute name.", "type": "string" }, "value": { + "description": "The attribute value.\n The type of value must match .type.", "oneOf": [ { "type": "string" @@ -5362,6 +5676,7 @@ Usages: ] }, "type": { + "description": "The attribute type.\n Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.\n If omitted or null, string is used.", "$ref": "#/$defs/AttributeType" } }, @@ -5391,9 +5706,11 @@ Usages: "additionalProperties": false, "properties": { "attributes": { + "description": "Configure attributes provided by resource detectors.", "$ref": "common.json#/$defs/IncludeExclude" }, "detectors": { + "description": "Configure resource detectors.\n Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.\n If omitted or null, no resource detectors are enabled.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalResourceDetector" @@ -5413,15 +5730,19 @@ Usages: "maxProperties": 1, "properties": { "container": { + "description": "Enable the container resource detector, which populates container.* attributes.", "$ref": "#/$defs/ExperimentalContainerResourceDetector" }, "host": { + "description": "Enable the host resource detector, which populates host.* and os.* attributes.", "$ref": "#/$defs/ExperimentalHostResourceDetector" }, "process": { + "description": "Enable the process resource detector, which populates process.* attributes.", "$ref": "#/$defs/ExperimentalProcessResourceDetector" }, "service": { + "description": "Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.", "$ref": "#/$defs/ExperimentalServiceResourceDetector" } } @@ -5518,24 +5839,31 @@ Usages: "maxProperties": 1, "properties": { "always_off": { + "description": "Configure sampler to be always_off.", "$ref": "#/$defs/AlwaysOffSampler" }, "always_on": { + "description": "Configure sampler to be always_on.", "$ref": "#/$defs/AlwaysOnSampler" }, "composite/development": { + "description": "Configure sampler to be composite.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "jaeger_remote/development": { + "description": "TODO", "$ref": "#/$defs/ExperimentalJaegerRemoteSampler" }, "parent_based": { + "description": "Configure sampler to be parent_based.", "$ref": "#/$defs/ParentBasedSampler" }, "probability/development": { + "description": "Configure sampler to be probability.", "$ref": "#/$defs/ExperimentalProbabilitySampler" }, "trace_id_ratio_based": { + "description": "Configure sampler to be trace_id_ratio_based.", "$ref": "#/$defs/TraceIdRatioBasedSampler" } } @@ -5574,6 +5902,7 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -5615,6 +5944,7 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -5632,7 +5962,7 @@ Usages: |---|---|---|---|---| | `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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport.
| +| `otlp_file/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | No constraints. | Configure exporter to be OTLP with file transport. | | `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. | | `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | `false` | No constraints. | Configure exporter to be zipkin. | @@ -5675,18 +6005,23 @@ Usages: "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "common.json#/$defs/OtlpHttpExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "common.json#/$defs/OtlpGrpcExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "common.json#/$defs/ConsoleExporter" }, "zipkin": { + "description": "Configure exporter to be zipkin.", "$ref": "#/$defs/ZipkinSpanExporter" } } @@ -5697,12 +6032,12 @@ Usages: | Property | Type | Required? | 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` | * `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. |
Language support status @@ -5734,6 +6069,7 @@ Usages: "additionalProperties": false, "properties": { "attribute_value_length_limit": { + "description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \n Value must be non-negative.\n If omitted or null, there is no limit.", "type": [ "integer", "null" @@ -5741,6 +6077,7 @@ Usages: "minimum": 0 }, "attribute_count_limit": { + "description": "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -5748,6 +6085,7 @@ Usages: "minimum": 0 }, "event_count_limit": { + "description": "Configure max span event count. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -5755,6 +6093,7 @@ Usages: "minimum": 0 }, "link_count_limit": { + "description": "Configure max span link count. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -5762,6 +6101,7 @@ Usages: "minimum": 0 }, "event_attribute_count_limit": { + "description": "Configure max attributes per span event. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -5769,6 +6109,7 @@ Usages: "minimum": 0 }, "link_attribute_count_limit": { + "description": "Configure max attributes per span link. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -5823,9 +6164,11 @@ Usages: "maxProperties": 1, "properties": { "batch": { + "description": "Configure a batch span processor.", "$ref": "#/$defs/BatchSpanProcessor" }, "simple": { + "description": "Configure a simple span processor.", "$ref": "#/$defs/SimpleSpanProcessor" } } @@ -5909,21 +6252,27 @@ Usages: "maxProperties": 1, "properties": { "tracecontext": { + "description": "Include the w3c trace context propagator.", "$ref": "#/$defs/TraceContextPropagator" }, "baggage": { + "description": "Include the w3c baggage propagator.", "$ref": "#/$defs/BaggagePropagator" }, "b3": { + "description": "Include the zipkin b3 propagator.", "$ref": "#/$defs/B3Propagator" }, "b3multi": { + "description": "Include the zipkin b3 multi propagator.", "$ref": "#/$defs/B3MultiPropagator" }, "jaeger": { + "description": "Include the jaeger propagator.", "$ref": "#/$defs/JaegerPropagator" }, "ottrace": { + "description": "Include the opentracing propagator.", "$ref": "#/$defs/OpenTracingPropagator" } } @@ -5959,7 +6308,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| Configure trace_id_ratio.
If omitted or null, 1.0 is used.
| +| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| Configure trace_id_ratio.
If omitted or null, 1.0 is used. |
Language support status @@ -5989,6 +6338,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure trace_id_ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -6004,10 +6354,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | `true` | * `minItems`: `1`
| Configure span processors. | +| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | `true` | * `minItems`: `1`
| 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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | `false` | No constraints. | Configure tracers.
| +| `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`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | `false` | No constraints. | Configure tracers. |
Language support status @@ -6040,6 +6390,7 @@ Usages: "additionalProperties": false, "properties": { "processors": { + "description": "Configure span processors. ", "type": "array", "minItems": 1, "items": { @@ -6047,12 +6398,15 @@ Usages: } }, "limits": { + "description": "Configure span limits. See also attribute_limits.", "$ref": "#/$defs/SpanLimits" }, "sampler": { + "description": "Configure the sampler. \n If omitted, parent based sampler with a root of always_on is used.", "$ref": "#/$defs/Sampler" }, "tracer_configurator/development": { + "description": "Configure tracers.", "$ref": "#/$defs/ExperimentalTracerConfigurator" } }, @@ -6065,6 +6419,7 @@ Usages: "additionalProperties": false, "properties": { "schedule_delay": { + "description": "Configure delay interval (in milliseconds) between two consecutive exports.\n Value must be non-negative.\n If omitted or null, 5000 is used.", "type": [ "integer", "null" @@ -6072,6 +6427,7 @@ Usages: "minimum": 0 }, "export_timeout": { + "description": "Configure maximum allowed time (in milliseconds) to export data.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", "type": [ "integer", "null" @@ -6079,6 +6435,7 @@ Usages: "minimum": 0 }, "max_queue_size": { + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -6086,6 +6443,7 @@ Usages: "exclusiveMinimum": 0 }, "max_export_batch_size": { + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -6093,6 +6451,7 @@ Usages: "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -6112,24 +6471,31 @@ Usages: "maxProperties": 1, "properties": { "always_off": { + "description": "Configure sampler to be always_off.", "$ref": "#/$defs/AlwaysOffSampler" }, "always_on": { + "description": "Configure sampler to be always_on.", "$ref": "#/$defs/AlwaysOnSampler" }, "composite/development": { + "description": "Configure sampler to be composite.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "jaeger_remote/development": { + "description": "TODO", "$ref": "#/$defs/ExperimentalJaegerRemoteSampler" }, "parent_based": { + "description": "Configure sampler to be parent_based.", "$ref": "#/$defs/ParentBasedSampler" }, "probability/development": { + "description": "Configure sampler to be probability.", "$ref": "#/$defs/ExperimentalProbabilitySampler" }, "trace_id_ratio_based": { + "description": "Configure sampler to be trace_id_ratio_based.", "$ref": "#/$defs/TraceIdRatioBasedSampler" } } @@ -6156,12 +6522,14 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "TODO", "type": [ "string", "null" ] }, "interval": { + "description": "TODO", "type": [ "integer", "null" @@ -6169,6 +6537,7 @@ Usages: "minimum": 0 }, "initial_sampler": { + "description": "TODO", "$ref": "#/$defs/Sampler" } } @@ -6181,18 +6550,23 @@ Usages: "additionalProperties": false, "properties": { "root": { + "description": "Configure root sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "remote_parent_sampled": { + "description": "Configure remote_parent_sampled sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "remote_parent_not_sampled": { + "description": "Configure remote_parent_not_sampled sampler.\n If omitted or null, always_off is used.", "$ref": "#/$defs/Sampler" }, "local_parent_sampled": { + "description": "Configure local_parent_sampled sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "local_parent_not_sampled": { + "description": "Configure local_parent_not_sampled sampler.\n If omitted or null, always_off is used.", "$ref": "#/$defs/Sampler" } } @@ -6205,6 +6579,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -6222,6 +6597,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure trace_id_ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -6253,18 +6629,23 @@ Usages: "additionalProperties": false, "properties": { "root": { + "description": "Configures the sampler for spans with no parent.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "remote_parent_sampled": { + "description": "Configures the sampler for spans with a remote parent that is sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "remote_parent_not_sampled": { + "description": "Configures the sampler for spans with a remote parent that is not sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "local_parent_sampled": { + "description": "Configures the sampler for spans with a local parent that is sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "local_parent_not_sampled": { + "description": "Configures the sampler for spans with a local parent that is not sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" } } @@ -6277,6 +6658,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -6298,15 +6680,19 @@ Usages: "maxProperties": 1, "properties": { "always_off": { + "description": "Configure sampler to be always_off.", "$ref": "#/$defs/ExperimentalComposableAlwaysOffSampler" }, "always_on": { + "description": "Configure sampler to be always_on.", "$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler" }, "parent_based": { + "description": "Configure sampler to be parent_based.", "$ref": "#/$defs/ExperimentalComposableParentBasedSampler" }, "probability": { + "description": "Configure sampler to be probability.", "$ref": "#/$defs/ExperimentalComposableProbabilitySampler" } } @@ -6316,6 +6702,7 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -6335,18 +6722,23 @@ Usages: "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "common.json#/$defs/OtlpHttpExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "common.json#/$defs/OtlpGrpcExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "common.json#/$defs/ConsoleExporter" }, "zipkin": { + "description": "Configure exporter to be zipkin.", "$ref": "#/$defs/ZipkinSpanExporter" } } @@ -6356,6 +6748,7 @@ Usages: "additionalProperties": false, "properties": { "attribute_value_length_limit": { + "description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \n Value must be non-negative.\n If omitted or null, there is no limit.", "type": [ "integer", "null" @@ -6363,6 +6756,7 @@ Usages: "minimum": 0 }, "attribute_count_limit": { + "description": "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -6370,6 +6764,7 @@ Usages: "minimum": 0 }, "event_count_limit": { + "description": "Configure max span event count. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -6377,6 +6772,7 @@ Usages: "minimum": 0 }, "link_count_limit": { + "description": "Configure max span link count. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -6384,6 +6780,7 @@ Usages: "minimum": 0 }, "event_attribute_count_limit": { + "description": "Configure max attributes per span event. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -6391,6 +6788,7 @@ Usages: "minimum": 0 }, "link_attribute_count_limit": { + "description": "Configure max attributes per span link. \n Value must be non-negative.\n If omitted or null, 128 is used.", "type": [ "integer", "null" @@ -6411,9 +6809,11 @@ Usages: "maxProperties": 1, "properties": { "batch": { + "description": "Configure a batch span processor.", "$ref": "#/$defs/BatchSpanProcessor" }, "simple": { + "description": "Configure a simple span processor.", "$ref": "#/$defs/SimpleSpanProcessor" } } @@ -6426,12 +6826,14 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "Configure endpoint.\n If omitted or null, http://localhost:9411/api/v2/spans is used.", "type": [ "string", "null" ] }, "timeout": { + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates indefinite.\n If omitted or null, 10000 is used.", "type": [ "integer", "null" @@ -6447,9 +6849,11 @@ Usages: "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers.", "$ref": "#/$defs/ExperimentalTracerConfig" }, "tracers": { + "description": "Configure tracers.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig" @@ -6464,11 +6868,13 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "Configure tracer names to match, evaluated as follows:\n \n * If the tracer name exactly matches.\n * If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", "type": [ "string" ] }, "config": { + "description": "The tracer config.", "$ref": "#/$defs/ExperimentalTracerConfig" } } @@ -6480,6 +6886,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the tracer is enabled or not.", "type": [ "boolean" ] @@ -6494,7 +6901,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `selector` | [`ViewSelector`](#viewselector) | `true` | 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.
| +| `selector` | [`ViewSelector`](#viewselector) | `true` | 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) | `true` | No constraints. | Configure view stream. |
@@ -6524,9 +6931,11 @@ Usages: "additionalProperties": false, "properties": { "selector": { + "description": "Configure view selector.\n Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.", "$ref": "#/$defs/ViewSelector" }, "stream": { + "description": "Configure view stream.", "$ref": "#/$defs/ViewStream" } }, @@ -6541,12 +6950,12 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -6578,33 +6987,39 @@ Usages: "additionalProperties": false, "properties": { "instrument_name": { + "description": "Configure instrument name selection criteria.\n If omitted or null, all instrument names match.", "type": [ "string", "null" ] }, "instrument_type": { + "description": "Configure instrument type selection criteria.\n Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.\n If omitted or null, all instrument types match.", "$ref": "#/$defs/InstrumentType" }, "unit": { + "description": "Configure the instrument unit selection criteria.\n If omitted or null, all instrument units match.", "type": [ "string", "null" ] }, "meter_name": { + "description": "Configure meter name selection criteria.\n If omitted or null, all meter names match.", "type": [ "string", "null" ] }, "meter_version": { + "description": "Configure meter version selection criteria.\n If omitted or null, all meter versions match.", "type": [ "string", "null" ] }, "meter_schema_url": { + "description": "Configure meter schema url selection criteria.\n If omitted or null, all meter schema URLs match.", "type": [ "string", "null" @@ -6618,11 +7033,11 @@ Usages: | Property | Type | Required? | 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` | 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). |
Language support status @@ -6653,21 +7068,25 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "Configure metric name of the resulting stream(s).\n If omitted or null, the instrument's original name is used.", "type": [ "string", "null" ] }, "description": { + "description": "Configure metric description of the resulting stream(s).\n If omitted or null, the instrument's origin description is used.", "type": [ "string", "null" ] }, "aggregation": { + "description": "Configure aggregation of the resulting stream(s).\n 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.\n If omitted, default is used.", "$ref": "#/$defs/Aggregation" }, "aggregation_cardinality_limit": { + "description": "Configure the aggregation cardinality limit.\n If omitted or null, the metric reader's default cardinality limit is used.", "type": [ "integer", "null" @@ -6675,6 +7094,7 @@ Usages: "exclusiveMinimum": 0 }, "attribute_keys": { + "description": "Configure attribute keys retained in the resulting stream(s).", "$ref": "common.json#/$defs/IncludeExclude" } } @@ -6685,8 +7105,8 @@ Usages: | Property | Type | Required? | 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` | 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. |
Language support status @@ -6717,12 +7137,14 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "Configure endpoint.\n If omitted or null, http://localhost:9411/api/v2/spans is used.", "type": [ "string", "null" ] }, "timeout": { + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates indefinite.\n If omitted or null, 10000 is used.", "type": [ "integer", "null" @@ -6816,7 +7238,7 @@ Latest supported file format: `1.0.0-rc.2` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | supported | | * `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `compression`: supported
* `timeout`: supported
* `temporality_preference`: supported
* `default_histogram_aggregation`: supported
* `tls`: supported
| | [`OtlpHttpEncoding`](#otlphttpencoding) | supported | | * `json`: supported
* `protobuf`: supported
| | [`OtlpHttpExporter`](#otlphttpexporter) | supported | | * `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `compression`: supported
* `timeout`: supported
* `encoding`: supported
* `tls`: supported
| -| [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | supported | | * `endpoint`: supported
* `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `compression`: supported
* `timeout`: supported
* `encoding`: supported
* `temporality_preference`: supported
* `default_histogram_aggregation`: supported
* `tls`: supported
| +| [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | supported | | * `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `compression`: supported
* `timeout`: supported
* `encoding`: supported
* `temporality_preference`: supported
* `default_histogram_aggregation`: supported
* `tls`: supported
| | [`ParentBasedSampler`](#parentbasedsampler) | supported | | * `root`: supported
* `remote_parent_sampled`: supported
* `remote_parent_not_sampled`: supported
* `local_parent_sampled`: supported
* `local_parent_not_sampled`: supported
| | [`PeriodicMetricReader`](#periodicmetricreader) | supported | | * `interval`: supported
* `timeout`: supported
* `exporter`: supported
* `producers`: supported
* `cardinality_limits`: supported
| | [`Propagator`](#propagator) | supported | | * `composite`: supported
* `composite_list`: supported
| @@ -6922,7 +7344,7 @@ Latest supported file format: `0.3.0` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | unknown | | * `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `compression`: unknown
* `timeout`: unknown
* `temporality_preference`: unknown
* `default_histogram_aggregation`: unknown
* `tls`: unknown
| | [`OtlpHttpEncoding`](#otlphttpencoding) | unknown | | * `json`: unknown
* `protobuf`: unknown
| | [`OtlpHttpExporter`](#otlphttpexporter) | unknown | | * `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `compression`: unknown
* `timeout`: unknown
* `encoding`: unknown
* `tls`: unknown
| -| [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | unknown | | * `endpoint`: unknown
* `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `compression`: unknown
* `timeout`: unknown
* `encoding`: unknown
* `temporality_preference`: unknown
* `default_histogram_aggregation`: unknown
* `tls`: unknown
| +| [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | unknown | | * `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `compression`: unknown
* `timeout`: unknown
* `encoding`: unknown
* `temporality_preference`: unknown
* `default_histogram_aggregation`: unknown
* `tls`: unknown
| | [`ParentBasedSampler`](#parentbasedsampler) | unknown | | * `root`: unknown
* `remote_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `local_parent_not_sampled`: unknown
| | [`PeriodicMetricReader`](#periodicmetricreader) | unknown | | * `interval`: unknown
* `timeout`: unknown
* `exporter`: unknown
* `producers`: unknown
* `cardinality_limits`: unknown
| | [`Propagator`](#propagator) | unknown | | * `composite`: unknown
* `composite_list`: unknown
| @@ -7028,7 +7450,7 @@ Latest supported file format: `1.0.0-rc.1` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | supported | | * `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `compression`: supported
* `timeout`: supported
* `temporality_preference`: supported
* `default_histogram_aggregation`: supported
* `tls`: ignored
| | [`OtlpHttpEncoding`](#otlphttpencoding) | not_implemented | | * `json`: not_implemented
* `protobuf`: not_implemented
| | [`OtlpHttpExporter`](#otlphttpexporter) | supported | | * `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `compression`: supported
* `timeout`: supported
* `encoding`: not_implemented
* `tls`: ignored
| -| [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | supported | | * `endpoint`: supported
* `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `compression`: supported
* `timeout`: supported
* `encoding`: not_implemented
* `temporality_preference`: supported
* `default_histogram_aggregation`: supported
* `tls`: ignored
| +| [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | supported | | * `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `compression`: supported
* `timeout`: supported
* `encoding`: not_implemented
* `temporality_preference`: supported
* `default_histogram_aggregation`: supported
* `tls`: ignored
| | [`ParentBasedSampler`](#parentbasedsampler) | supported | | * `root`: supported
* `remote_parent_sampled`: supported
* `remote_parent_not_sampled`: supported
* `local_parent_sampled`: supported
* `local_parent_not_sampled`: supported
| | [`PeriodicMetricReader`](#periodicmetricreader) | supported | | * `interval`: supported
* `timeout`: supported
* `exporter`: supported
* `producers`: not_implemented
* `cardinality_limits`: supported
| | [`Propagator`](#propagator) | supported | | * `composite`: supported
* `composite_list`: supported
| @@ -7134,7 +7556,7 @@ Latest supported file format: `1.0.0-rc.2` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | unknown | | * `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `compression`: unknown
* `timeout`: unknown
* `temporality_preference`: unknown
* `default_histogram_aggregation`: unknown
* `tls`: unknown
| | [`OtlpHttpEncoding`](#otlphttpencoding) | unknown | | * `json`: unknown
* `protobuf`: unknown
| | [`OtlpHttpExporter`](#otlphttpexporter) | unknown | | * `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `compression`: unknown
* `timeout`: unknown
* `encoding`: unknown
* `tls`: unknown
| -| [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | unknown | | * `endpoint`: unknown
* `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `compression`: unknown
* `timeout`: unknown
* `encoding`: unknown
* `temporality_preference`: unknown
* `default_histogram_aggregation`: unknown
* `tls`: unknown
| +| [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | unknown | | * `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `compression`: unknown
* `timeout`: unknown
* `encoding`: unknown
* `temporality_preference`: unknown
* `default_histogram_aggregation`: unknown
* `tls`: unknown
| | [`ParentBasedSampler`](#parentbasedsampler) | unknown | | * `root`: unknown
* `remote_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `local_parent_not_sampled`: unknown
| | [`PeriodicMetricReader`](#periodicmetricreader) | unknown | | * `interval`: unknown
* `timeout`: unknown
* `exporter`: unknown
* `producers`: unknown
* `cardinality_limits`: unknown
| | [`Propagator`](#propagator) | unknown | | * `composite`: unknown
* `composite_list`: unknown
| diff --git a/schema/common.json b/schema/common.json index 2e7b918a..3bf7f173 100644 --- a/schema/common.json +++ b/schema/common.json @@ -7,12 +7,14 @@ "additionalProperties": false, "properties": { "included": { + "description": "Configure list of value patterns to include.\n Values are evaluated to match as follows:\n * If the value exactly matches.\n * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n If omitted, all values are included.", "type": "array", "items": { "type": "string" } }, "excluded": { + "description": "Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).\n Values are evaluated to match as follows:\n * If the value exactly matches.\n * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n If omitted, .included attributes are included.", "type": "array", "items": { "type": "string" @@ -25,125 +27,221 @@ "additionalProperties": false, "properties": { "name": { + "description": "The name of the pair.", "type": "string" }, "value": { - "type": ["string", "null"] + "description": "The value of the pair.", + "type": [ + "string", + "null" + ] } }, "required": [ - "name", "value" + "name", + "value" ] }, "OtlpHttpExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "endpoint": { - "type": ["string", "null"] + "description": "Configure endpoint, including the signal specific path.\n If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.", + "type": [ + "string", + "null" + ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "#/$defs/HttpTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "#/$defs/NameStringValuePair" } }, "headers_list": { - "type": ["string", "null"] + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", + "type": [ + "string", + "null" + ] }, "compression": { - "type": ["string", "null"] + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", + "type": [ + "string", + "null" + ] }, "timeout": { - "type": ["integer", "null"], + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "encoding": { + "description": "Configure the encoding used for messages. \n Values include: protobuf, json. Implementations may not support json.\n If omitted or null, protobuf is used.", "$ref": "#/$defs/OtlpHttpEncoding" } } }, "OtlpHttpEncoding": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "protobuf", "json" ] }, "OtlpGrpcExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "endpoint": { - "type": ["string", "null"] + "description": "Configure endpoint.\n If omitted or null, http://localhost:4317 is used.", + "type": [ + "string", + "null" + ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "#/$defs/GrpcTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "#/$defs/NameStringValuePair" } }, "headers_list": { - "type": ["string", "null"] + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", + "type": [ + "string", + "null" + ] }, "compression": { - "type": ["string", "null"] + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", + "type": [ + "string", + "null" + ] }, "timeout": { - "type": ["integer", "null"], + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 } } }, "ExperimentalOtlpFileExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "output_stream": { - "type": ["string", "null"] + "description": "Configure output stream.\n Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n If omitted or null, stdout is used.", + "type": [ + "string", + "null" + ] } } }, "ConsoleExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "HttpTls": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "certificate_file": { - "type": ["string", "null"] + "description": "Configure certificate used to verify a server's TLS credentials.\n Absolute path to certificate file in PEM format.\n If omitted or null, system default certificate verification is used for secure connections.", + "type": [ + "string", + "null" + ] }, "client_key_file": { - "type": ["string", "null"] + "description": "Configure mTLS private client key.\n Absolute path to client key file in PEM format. If set, .client_certificate must also be set.\n If omitted or null, mTLS is not used.", + "type": [ + "string", + "null" + ] }, "client_certificate_file": { - "type": ["string", "null"] + "description": "Configure mTLS client certificate.\n Absolute path to client certificate file in PEM format. If set, .client_key must also be set.\n If omitted or null, mTLS is not used.", + "type": [ + "string", + "null" + ] } } }, "GrpcTls": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "certificate_file": { - "type": ["string", "null"] + "description": "Configure certificate used to verify a server's TLS credentials.\n Absolute path to certificate file in PEM format.\n If omitted or null, system default certificate verification is used for secure connections.", + "type": [ + "string", + "null" + ] }, "client_key_file": { - "type": ["string", "null"] + "description": "Configure mTLS private client key.\n Absolute path to client key file in PEM format. If set, .client_certificate must also be set.\n If omitted or null, mTLS is not used.", + "type": [ + "string", + "null" + ] }, "client_certificate_file": { - "type": ["string", "null"] + "description": "Configure mTLS client certificate.\n Absolute path to client certificate file in PEM format. If set, .client_key must also be set.\n If omitted or null, mTLS is not used.", + "type": [ + "string", + "null" + ] }, "insecure": { - "type": ["boolean", "null"] + "description": "Configure client transport security for the exporter's connection.\n Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.\n If omitted or null, false is used.", + "type": [ + "boolean", + "null" + ] } } } diff --git a/schema/common.json5 b/schema/common.json5 new file mode 100644 index 00000000..2ad3688e --- /dev/null +++ b/schema/common.json5 @@ -0,0 +1,291 @@ +{ + "$id": "https://opentelemetry.io/otelconfig/common.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$defs": { + "IncludeExclude": { + "type": "object", + "additionalProperties": false, + properties: { + "included": { + description: "Configure list of value patterns to include.\n \ +Values are evaluated to match as follows:\n \ + * If the value exactly matches.\n \ + * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n \ +If omitted, all values are included.", + "type": "array", + "items": { + "type": "string" + } + }, + "excluded": { + description: "Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).\n \ +Values are evaluated to match as follows:\n \ +* If the value exactly matches.\n \ +* If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n \ +If omitted, .included attributes are included.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "NameStringValuePair": { + "type": "object", + "additionalProperties": false, + properties: { + "name": { + description: "The name of the pair.", + "type": "string" + }, + "value": { + description: "The value of the pair.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "name", + "value" + ] + }, + "OtlpHttpExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "endpoint": { + description: "Configure endpoint, including the signal specific path.\n \ +If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.", + "type": [ + "string", + "null" + ] + }, + "tls": { + description: "Configure TLS settings for the exporter.", + "$ref": "#/$defs/HttpTls" + }, + "headers": { + description: "Configure headers. Entries have higher priority than entries from .headers_list.\n \ +If an entry's .value is null, the entry is ignored.", + "type": "array", + "items": { + "$ref": "#/$defs/NameStringValuePair" + } + }, + "headers_list": { + description: "Configure headers. Entries have lower priority than entries from .headers.\n \ +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.\n \ +If omitted or null, no headers are added.", + "type": [ + "string", + "null" + ] + }, + "compression": { + description: "Configure compression.\n \ +Values include: gzip, none. Implementations may support other compression algorithms.\n \ +If omitted or null, none is used.", + "type": [ + "string", + "null" + ] + }, + "timeout": { + description: "Configure max time (in milliseconds) to wait for each export.\n \ +Value must be non-negative. A value of 0 indicates no limit (infinity).\n \ +If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "encoding": { + description: "Configure the encoding used for messages. \n \ +Values include: protobuf, json. Implementations may not support json.\n \ +If omitted or null, protobuf is used.", + "$ref": "#/$defs/OtlpHttpEncoding" + } + } + }, + "OtlpHttpEncoding": { + "type": [ + "string", + "null" + ], + "enum": [ + "protobuf", + "json" + ] + }, + "OtlpGrpcExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "endpoint": { + description: "Configure endpoint.\n \ +If omitted or null, http://localhost:4317 is used.", + "type": [ + "string", + "null" + ] + }, + "tls": { + description: "Configure TLS settings for the exporter.", + "$ref": "#/$defs/GrpcTls" + }, + "headers": { + description: "Configure headers. Entries have higher priority than entries from .headers_list.\n \ +If an entry's .value is null, the entry is ignored.", + "type": "array", + "items": { + "$ref": "#/$defs/NameStringValuePair" + } + }, + "headers_list": { + description: "Configure headers. Entries have lower priority than entries from .headers.\n \ +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.\n \ +If omitted or null, no headers are added.", + "type": [ + "string", + "null" + ] + }, + "compression": { + description: "Configure compression.\n \ +Values include: gzip, none. Implementations may support other compression algorithms.\n \ +If omitted or null, none is used.", + "type": [ + "string", + "null" + ] + }, + "timeout": { + description: "Configure max time (in milliseconds) to wait for each export.\n \ +Value must be non-negative. A value of 0 indicates no limit (infinity).\n \ +If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + } + } + }, + "ExperimentalOtlpFileExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "output_stream": { + description: "Configure output stream.\n \ +Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n \ +If omitted or null, stdout is used.", + "type": [ + "string", + "null" + ] + } + } + }, + "ConsoleExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "HttpTls": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "certificate_file": { + description: "Configure certificate used to verify a server's TLS credentials.\n \ +Absolute path to certificate file in PEM format.\n \ +If omitted or null, system default certificate verification is used for secure connections.", + "type": [ + "string", + "null" + ] + }, + "client_key_file": { + description: "Configure mTLS private client key.\n \ +Absolute path to client key file in PEM format. If set, .client_certificate must also be set.\n \ +If omitted or null, mTLS is not used.", + "type": [ + "string", + "null" + ] + }, + "client_certificate_file": { + description: "Configure mTLS client certificate.\n \ +Absolute path to client certificate file in PEM format. If set, .client_key must also be set.\n \ +If omitted or null, mTLS is not used.", + "type": [ + "string", + "null" + ] + } + } + }, + "GrpcTls": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "certificate_file": { + description: "Configure certificate used to verify a server's TLS credentials.\n \ +Absolute path to certificate file in PEM format.\n \ +If omitted or null, system default certificate verification is used for secure connections.", + "type": [ + "string", + "null" + ] + }, + "client_key_file": { + description: "Configure mTLS private client key.\n \ +Absolute path to client key file in PEM format. If set, .client_certificate must also be set.\n \ +If omitted or null, mTLS is not used.", + "type": [ + "string", + "null" + ] + }, + "client_certificate_file": { + description: "Configure mTLS client certificate.\n \ +Absolute path to client certificate file in PEM format. If set, .client_key must also be set.\n \ +If omitted or null, mTLS is not used.", + "type": [ + "string", + "null" + ] + }, + "insecure": { + description: "Configure client transport security for the exporter's connection.\n \ +Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.\n \ +If omitted or null, false is used.", + "type": [ + "boolean", + "null" + ] + } + } + } + } +} \ No newline at end of file diff --git a/schema/instrumentation.json b/schema/instrumentation.json index 39fec324..fa7b77fb 100644 --- a/schema/instrumentation.json +++ b/schema/instrumentation.json @@ -5,39 +5,51 @@ "additionalProperties": false, "properties": { "general": { + "description": "Configure general SemConv options that may apply to multiple languages and instrumentations.\n Instrumenation may merge general config options with the language specific configuration at .instrumentation..", "$ref": "#/$defs/ExperimentalGeneralInstrumentation" }, "cpp": { + "description": "Configure C++ language-specific instrumentation libraries.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "dotnet": { + "description": "Configure .NET language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "erlang": { + "description": "Configure Erlang language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "go": { + "description": "Configure Go language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "java": { + "description": "Configure Java language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "js": { + "description": "Configure JavaScript language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "php": { + "description": "Configure PHP language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "python": { + "description": "Configure Python language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "ruby": { + "description": "Configure Ruby language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "rust": { + "description": "Configure Rust language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" }, "swift": { + "description": "Configure Swift language-specific instrumentation libraries.\n Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" } }, @@ -47,9 +59,11 @@ "additionalProperties": false, "properties": { "peer": { + "description": "Configure instrumentations following the peer semantic conventions.\n See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/", "$ref": "#/$defs/ExperimentalPeerInstrumentation" }, "http": { + "description": "Configure instrumentations following the http semantic conventions.\n See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/", "$ref": "#/$defs/ExperimentalHttpInstrumentation" } } @@ -59,6 +73,7 @@ "additionalProperties": false, "properties": { "service_mapping": { + "description": "Configure the service mapping for instrumentations following peer.service semantic conventions.\n See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes", "type": "array", "items": { "$ref": "#/$defs/ExperimentalPeerServiceMapping" @@ -71,9 +86,11 @@ "additionalProperties": false, "properties": { "peer": { + "description": "The IP address to map.", "type": "string" }, "service": { + "description": "The logical name corresponding to the IP address of .peer.", "type": "string" } }, @@ -87,12 +104,14 @@ "additionalProperties": false, "properties": { "request_captured_headers": { + "description": "Configure headers to capture for outbound http requests.", "type": "array", "items": { "type": "string" } }, "response_captured_headers": { + "description": "Configure headers to capture for inbound http responses.", "type": "array", "items": { "type": "string" @@ -105,12 +124,14 @@ "additionalProperties": false, "properties": { "request_captured_headers": { + "description": "Configure headers to capture for inbound http requests.", "type": "array", "items": { "type": "string" } }, "response_captured_headers": { + "description": "Configure headers to capture for outbound http responses.", "type": "array", "items": { "type": "string" @@ -123,9 +144,11 @@ "additionalProperties": false, "properties": { "client": { + "description": "Configure instrumentations following the http client semantic conventions.", "$ref": "#/$defs/ExperimentalHttpClientInstrumentation" }, "server": { + "description": "Configure instrumentations following the http server semantic conventions.", "$ref": "#/$defs/ExperimentalHttpServerInstrumentation" } } diff --git a/schema/instrumentation.json5 b/schema/instrumentation.json5 new file mode 100644 index 00000000..06cac44b --- /dev/null +++ b/schema/instrumentation.json5 @@ -0,0 +1,177 @@ +{ + "$id": "https://opentelemetry.io/otelconfig/instrumentation.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "additionalProperties": false, + "properties": { + "general": { + description: "Configure general SemConv options that may apply to multiple languages and instrumentations.\n \ +Instrumenation may merge general config options with the language specific configuration at .instrumentation..", + "$ref": "#/$defs/ExperimentalGeneralInstrumentation" + }, + "cpp": { + description: "Configure C++ language-specific instrumentation libraries.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "dotnet": { + description: "Configure .NET language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "erlang": { + description: "Configure Erlang language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "go": { + description: "Configure Go language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "java": { + description: "Configure Java language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "js": { + description: "Configure JavaScript language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "php": { + description: "Configure PHP language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "python": { + description: "Configure Python language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "ruby": { + description: "Configure Ruby language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "rust": { + description: "Configure Rust language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + }, + "swift": { + description: "Configure Swift language-specific instrumentation libraries.\n \ +Each entry's key identifies a particular instrumentation library. The corresponding value configures it.", + "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation" + } + }, + "$defs": { + "ExperimentalGeneralInstrumentation": { + "type": "object", + "additionalProperties": false, + "properties": { + "peer": { + description: "Configure instrumentations following the peer semantic conventions.\n \ +See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/", + "$ref": "#/$defs/ExperimentalPeerInstrumentation" + }, + "http": { + description: "Configure instrumentations following the http semantic conventions.\n \ +See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/", + "$ref": "#/$defs/ExperimentalHttpInstrumentation" + } + } + }, + "ExperimentalPeerInstrumentation": { + "type": "object", + "additionalProperties": false, + "properties": { + "service_mapping": { + description: "Configure the service mapping for instrumentations following peer.service semantic conventions.\n \ +See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes", + "type": "array", + "items": { + "$ref": "#/$defs/ExperimentalPeerServiceMapping" + } + } + } + }, + "ExperimentalPeerServiceMapping": { + "type": "object", + "additionalProperties": false, + "properties": { + "peer": { + description: "The IP address to map.", + "type": "string" + }, + "service": { + description: "The logical name corresponding to the IP address of .peer.", + "type": "string" + } + }, + "required": [ + "peer", + "service" + ] + }, + "ExperimentalHttpClientInstrumentation": { + "type": "object", + "additionalProperties": false, + "properties": { + "request_captured_headers": { + description: "Configure headers to capture for outbound http requests.", + "type": "array", + "items": { + "type": "string" + } + }, + "response_captured_headers": { + description: "Configure headers to capture for inbound http responses.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ExperimentalHttpServerInstrumentation": { + "type": "object", + "additionalProperties": false, + "properties": { + "request_captured_headers": { + description: "Configure headers to capture for inbound http requests.", + "type": "array", + "items": { + "type": "string" + } + }, + "response_captured_headers": { + description: "Configure headers to capture for outbound http responses.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ExperimentalHttpInstrumentation": { + "type": "object", + "additionalProperties": false, + "properties": { + "client": { + description: "Configure instrumentations following the http client semantic conventions.", + "$ref": "#/$defs/ExperimentalHttpClientInstrumentation" + }, + "server": { + description: "Configure instrumentations following the http server semantic conventions.", + "$ref": "#/$defs/ExperimentalHttpServerInstrumentation" + } + } + }, + "ExperimentalLanguageSpecificInstrumentation": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } +} \ No newline at end of file diff --git a/schema/logger_provider.json b/schema/logger_provider.json index d9063c79..1cbb08f7 100644 --- a/schema/logger_provider.json +++ b/schema/logger_provider.json @@ -5,6 +5,7 @@ "additionalProperties": false, "properties": { "processors": { + "description": "Configure log record processors.", "type": "array", "minItems": 1, "items": { @@ -12,9 +13,11 @@ } }, "limits": { + "description": "Configure log record limits. See also attribute_limits.", "$ref": "#/$defs/LogRecordLimits" }, "logger_configurator/development": { + "description": "Configure loggers.", "$ref": "#/$defs/ExperimentalLoggerConfigurator" } }, @@ -27,6 +30,7 @@ "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -39,22 +43,39 @@ "additionalProperties": false, "properties": { "schedule_delay": { - "type": ["integer", "null"], + "description": "Configure delay interval (in milliseconds) between two consecutive exports. \n Value must be non-negative.\n If omitted or null, 1000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "export_timeout": { - "type": ["integer", "null"], + "description": "Configure maximum allowed time (in milliseconds) to export data. \n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "max_queue_size": { - "type": ["integer", "null"], + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "max_export_batch_size": { - "type": ["integer", "null"], + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -65,21 +86,28 @@ "LogRecordExporter": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "common.json#/$defs/OtlpHttpExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "common.json#/$defs/OtlpGrpcExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "common.json#/$defs/ConsoleExporter" } } @@ -89,11 +117,19 @@ "additionalProperties": false, "properties": { "attribute_value_length_limit": { - "type": ["integer", "null"], + "description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.\n Value must be non-negative.\n If omitted or null, there is no limit.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "attribute_count_limit": { - "type": ["integer", "null"], + "description": "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.\n Value must be non-negative.\n If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 } } @@ -101,27 +137,36 @@ "LogRecordProcessor": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "batch": { + "description": "Configure a batch log record processor.", "$ref": "#/$defs/BatchLogRecordProcessor" }, "simple": { + "description": "Configure a simple log record processor.", "$ref": "#/$defs/SimpleLogRecordProcessor" } } }, "ExperimentalLoggerConfigurator": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers.", "$ref": "#/$defs/ExperimentalLoggerConfig" }, "loggers": { + "description": "Configure loggers.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig" @@ -130,25 +175,36 @@ } }, "ExperimentalLoggerMatcherAndConfig": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "name": { - "type": ["string"] + "description": "Configure logger names to match, evaluated as follows:\n * If the logger name exactly matches.\n * If the logger name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", + "type": [ + "string" + ] }, "config": { + "description": "The logger config.", "$ref": "#/$defs/ExperimentalLoggerConfig" } } }, "ExperimentalLoggerConfig": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "disabled": { - "type": ["boolean"] + "description": "Configure if the logger is enabled or not.", + "type": [ + "boolean" + ] } } } } -} +} \ No newline at end of file diff --git a/schema/logger_provider.json5 b/schema/logger_provider.json5 new file mode 100644 index 00000000..7788e6fb --- /dev/null +++ b/schema/logger_provider.json5 @@ -0,0 +1,189 @@ +{ + "$id": "https://opentelemetry.io/otelconfig/logger_provider.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "additionalProperties": false, + properties: { + "processors": { + description: "Configure log record processors.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/LogRecordProcessor" + } + }, + "limits": { + description: "Configure log record limits. See also attribute_limits.", + "$ref": "#/$defs/LogRecordLimits" + }, + "logger_configurator/development": { + description: "Configure loggers.", + "$ref": "#/$defs/ExperimentalLoggerConfigurator" + } + }, + "required": [ + "processors" + ], + "$defs": { + "SimpleLogRecordProcessor": { + "type": "object", + "additionalProperties": false, + properties: { + "exporter": { + description: "Configure exporter.", + "$ref": "#/$defs/LogRecordExporter" + } + }, + "required": [ + "exporter" + ] + }, + "BatchLogRecordProcessor": { + "type": "object", + "additionalProperties": false, + properties: { + "schedule_delay": { + description: "Configure delay interval (in milliseconds) between two consecutive exports. \n \ +Value must be non-negative.\n \ +If omitted or null, 1000 is used.", + "type": ["integer", "null"], + "minimum": 0 + }, + "export_timeout": { + description: "Configure maximum allowed time (in milliseconds) to export data. \n \ +Value must be non-negative. A value of 0 indicates no limit (infinity).\n \ +If omitted or null, 30000 is used.", + "type": ["integer", "null"], + "minimum": 0 + }, + "max_queue_size": { + description: "Configure maximum queue size. Value must be positive.\n \ +If omitted or null, 2048 is used.", + "type": ["integer", "null"], + "exclusiveMinimum": 0 + }, + "max_export_batch_size": { + description: "Configure maximum batch size. Value must be positive.\n \ +If omitted or null, 512 is used.", + "type": ["integer", "null"], + "exclusiveMinimum": 0 + }, + "exporter": { + description: "Configure exporter.", + "$ref": "#/$defs/LogRecordExporter" + } + }, + "required": [ + "exporter" + ] + }, + "LogRecordExporter": { + "type": "object", + "additionalProperties": { + "type": ["object", "null"] + }, + "minProperties": 1, + "maxProperties": 1, + properties: { + "otlp_http": { + description: "Configure exporter to be OTLP with HTTP transport.", + "$ref": "common.json#/$defs/OtlpHttpExporter" + }, + "otlp_grpc": { + description: "Configure exporter to be OTLP with gRPC transport.", + "$ref": "common.json#/$defs/OtlpGrpcExporter" + }, + "otlp_file/development": { + description: "Configure exporter to be OTLP with file transport.", + "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter" + }, + "console": { + description: "Configure exporter to be console.", + "$ref": "common.json#/$defs/ConsoleExporter" + } + } + }, + "LogRecordLimits": { + "type": "object", + "additionalProperties": false, + properties: { + "attribute_value_length_limit": { + description: "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.\n \ +Value must be non-negative.\n \ +If omitted or null, there is no limit.", + "type": ["integer", "null"], + "minimum": 0 + }, + "attribute_count_limit": { + description: "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.\n \ +Value must be non-negative.\n \ +If omitted or null, 128 is used.", + "type": ["integer", "null"], + "minimum": 0 + } + } + }, + "LogRecordProcessor": { + "type": "object", + "additionalProperties": { + "type": ["object", "null"] + }, + "minProperties": 1, + "maxProperties": 1, + properties: { + "batch": { + description: "Configure a batch log record processor.", + "$ref": "#/$defs/BatchLogRecordProcessor" + }, + "simple": { + description: "Configure a simple log record processor.", + "$ref": "#/$defs/SimpleLogRecordProcessor" + } + } + }, + "ExperimentalLoggerConfigurator": { + "type": ["object"], + "additionalProperties": false, + properties: { + "default_config": { + description: "Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers.", + "$ref": "#/$defs/ExperimentalLoggerConfig" + }, + "loggers": { + description: "Configure loggers.", + "type": "array", + "items": { + "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig" + } + } + } + }, + "ExperimentalLoggerMatcherAndConfig": { + "type": ["object"], + "additionalProperties": false, + properties: { + "name": { + description: "Configure logger names to match, evaluated as follows:\n \ +\ +* If the logger name exactly matches.\n \ +* If the logger name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", + "type": ["string"] + }, + "config": { + description: "The logger config.", + "$ref": "#/$defs/ExperimentalLoggerConfig" + } + } + }, + "ExperimentalLoggerConfig": { + "type": ["object"], + "additionalProperties": false, + properties: { + "disabled": { + description: "Configure if the logger is enabled or not.", + "type": ["boolean"] + } + } + } + } +} diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index abd05523..1eafc38c 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -1,17 +1,11 @@ - type: Aggregation properties: - property: default - description: TODO - property: drop - description: TODO - property: explicit_bucket_histogram - description: Configure aggregation to be explicit_bucket_histogram. - property: base2_exponential_bucket_histogram - description: TODO - property: last_value - description: TODO - property: sum - description: TODO isSdkExtensionPlugin: false - type: AlwaysOffSampler properties: [] @@ -22,30 +16,13 @@ - type: AttributeLimits 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: attribute_count_limit - description: | - Configure max attribute count. - Value must be non-negative. - If omitted or null, 128 is used. isSdkExtensionPlugin: false - type: AttributeNameValue properties: - property: name - description: | - The attribute name. - property: value - description: | - The attribute value. - The type of value must match .type. - property: type - 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. isSdkExtensionPlugin: false - type: AttributeType enumValues: @@ -78,93 +55,35 @@ - type: Base2ExponentialBucketHistogramAggregation properties: - property: max_scale - description: TODO - property: max_size - description: TODO - property: record_min_max - description: TODO isSdkExtensionPlugin: false - type: BatchLogRecordProcessor properties: - property: schedule_delay - description: | - Configure delay interval (in milliseconds) between two consecutive exports. - Value must be non-negative. - If omitted or null, 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. - property: max_queue_size - description: | - Configure maximum queue size. Value must be positive. - If omitted or null, 2048 is used. - property: max_export_batch_size - description: | - Configure maximum batch size. Value must be positive. - If omitted or null, 512 is used. - property: exporter - description: Configure exporter. isSdkExtensionPlugin: false - type: BatchSpanProcessor properties: - property: schedule_delay - description: | - Configure delay interval (in milliseconds) between two consecutive exports. - Value must be non-negative. - If omitted or null, 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. - property: max_queue_size - description: | - Configure maximum queue size. Value must be positive. - If omitted or null, 2048 is used. - property: max_export_batch_size - description: | - Configure maximum batch size. Value must be positive. - If omitted or null, 512 is used. - property: exporter - description: Configure exporter. isSdkExtensionPlugin: false - type: CardinalityLimits properties: - property: default - description: | - Configure default cardinality limit for all instrument types. - Instrument-specific cardinality limits take priority. - If omitted or null, 2000 is used. - property: counter - description: | - Configure default cardinality limit for counter instruments. - If omitted or null, 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. - property: histogram - description: | - Configure default cardinality limit for histogram instruments. - If omitted or null, 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. - property: observable_gauge - description: | - Configure default cardinality limit for observable_gauge instruments. - If omitted or null, 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. - property: up_down_counter - description: | - Configure default cardinality limit for up_down_counter instruments. - If omitted or null, the value from .default is used. isSdkExtensionPlugin: false - type: ConsoleExporter properties: [] @@ -190,13 +109,7 @@ - type: ExperimentalGeneralInstrumentation properties: - property: peer - description: | - Configure instrumentations following the peer semantic conventions. - See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/ - property: http - description: | - Configure instrumentations following the http semantic conventions. - See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ isSdkExtensionPlugin: false - type: ExperimentalHostResourceDetector properties: [] @@ -204,76 +117,32 @@ - type: ExperimentalHttpClientInstrumentation properties: - property: request_captured_headers - description: | - Configure headers to capture for outbound http requests. - property: response_captured_headers - description: | - Configure headers to capture for inbound http responses. isSdkExtensionPlugin: false - type: ExperimentalHttpInstrumentation properties: - property: client - description: Configure instrumentations following the http client semantic conventions. - property: server - description: Configure instrumentations following the http server semantic conventions. isSdkExtensionPlugin: false - type: ExperimentalHttpServerInstrumentation properties: - property: request_captured_headers - description: | - Configure headers to capture for inbound http requests. - property: response_captured_headers - description: | - Configure headers to capture for outbound http responses. isSdkExtensionPlugin: false - type: ExperimentalInstrumentation properties: - property: general - 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.. - property: cpp - description: Configure C++ language-specific instrumentation libraries. - property: dotnet - description: | - Configure .NET language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: erlang - description: | - Configure Erlang language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: go - description: | - Configure Go language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: java - description: | - Configure Java language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: js - description: | - Configure JavaScript language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: php - description: | - Configure PHP language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: python - description: | - Configure Python language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: ruby - description: | - Configure Ruby language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: rust - description: | - Configure Rust language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. - property: swift - description: | - Configure Swift language-specific instrumentation libraries. - Each entry's key identifies a particular instrumentation library. The corresponding value configures it. isSdkExtensionPlugin: false - type: ExperimentalLanguageSpecificInstrumentation properties: [] @@ -281,97 +150,53 @@ - type: ExperimentalLoggerConfig properties: - property: disabled - description: Configure if the logger is enabled or not. 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. - property: loggers - description: Configure loggers. isSdkExtensionPlugin: false - type: ExperimentalLoggerMatcherAndConfig properties: - property: name - description: | - 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. - property: config - description: The logger config. isSdkExtensionPlugin: false - type: ExperimentalMeterConfig properties: - property: disabled - description: Configure if the meter is enabled or not. 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. - property: meters - description: Configure meters. isSdkExtensionPlugin: false - type: ExperimentalMeterMatcherAndConfig properties: - property: name - description: | - 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. - property: config - description: The meter config. isSdkExtensionPlugin: false - type: ExperimentalOtlpFileExporter properties: - property: output_stream - description: | - Configure output stream. - Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - If omitted or null, stdout is used. isSdkExtensionPlugin: false - type: ExperimentalOtlpFileMetricExporter properties: - property: output_stream - description: | - Configure output stream. - Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - If omitted or null, 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. - 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. isSdkExtensionPlugin: false - type: ExperimentalPeerInstrumentation properties: - property: service_mapping - 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 isSdkExtensionPlugin: false - type: ExperimentalPeerServiceMapping properties: - property: peer - description: | - The IP address to map. - property: service - description: | - The logical name corresponding to the IP address of .peer. isSdkExtensionPlugin: false - type: ExperimentalProbabilitySampler properties: - property: ratio - description: | - Configure ratio. - If omitted or null, 1.0 is used. isSdkExtensionPlugin: false - type: ExperimentalProcessResourceDetector properties: [] @@ -379,54 +204,22 @@ - type: ExperimentalPrometheusMetricExporter properties: - property: host - description: | - Configure host. - If omitted or null, localhost is used. - property: port - description: | - Configure port. - If omitted or null, 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. - property: with_resource_constant_labels - description: Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. - property: translation_strategy - description: | - 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. isSdkExtensionPlugin: false - type: ExperimentalResourceDetection properties: - property: attributes - description: Configure attributes provided by resource detectors. - 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. isSdkExtensionPlugin: false - type: ExperimentalResourceDetector properties: - property: container - description: | - Enable the container resource detector, which populates container.* attributes. - property: host - description: | - Enable the host resource detector, which populates host.* and os.* attributes. - property: process - description: | - Enable the process resource detector, which populates process.* attributes. - property: service - description: | - Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id. isSdkExtensionPlugin: true - type: ExperimentalServiceResourceDetector properties: [] @@ -434,36 +227,21 @@ - type: ExperimentalTracerConfig properties: - property: disabled - description: Configure if the tracer is enabled or not. 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. - property: tracers - description: Configure tracers. isSdkExtensionPlugin: false - type: ExperimentalTracerMatcherAndConfig properties: - property: name - description: | - 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. - property: config - description: The tracer config. isSdkExtensionPlugin: false - type: ExplicitBucketHistogramAggregation properties: - 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. - property: record_min_max - description: | - Configure record min and max. - If omitted or null, true is used. isSdkExtensionPlugin: false - type: ExporterDefaultHistogramAggregation enumValues: @@ -484,60 +262,20 @@ - type: GrpcTls properties: - property: certificate_file - 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. - 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. - 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. - 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. isSdkExtensionPlugin: false - type: HttpTls properties: - property: certificate_file - 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. - 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. - 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. isSdkExtensionPlugin: false - type: IncludeExclude properties: - property: included - description: | - 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. - 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. isSdkExtensionPlugin: false - type: InstrumentType enumValues: @@ -565,80 +303,46 @@ - type: LoggerProvider properties: - property: processors - description: Configure log record processors. - property: limits - description: Configure log record limits. See also attribute_limits. - property: logger_configurator/development - description: | - Configure loggers. isSdkExtensionPlugin: false - type: LogRecordExporter properties: - property: otlp_http - description: Configure exporter to be OTLP with HTTP transport. - property: otlp_grpc - description: Configure exporter to be OTLP with gRPC transport. - property: otlp_file/development - description: | - Configure exporter to be OTLP with file transport. - property: console - description: Configure exporter to be console. isSdkExtensionPlugin: true - type: LogRecordLimits properties: - property: attribute_value_length_limit - 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. - 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. isSdkExtensionPlugin: false - type: LogRecordProcessor properties: - property: batch - description: Configure a batch log record processor. - property: simple - description: Configure a simple log record processor. isSdkExtensionPlugin: true - type: MeterProvider properties: - property: readers - description: Configure metric readers. - property: views - description: | - Configure views. - Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). - 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. - property: meter_configurator/development - description: | - Configure meters. isSdkExtensionPlugin: false - type: MetricProducer properties: - property: opencensus - description: Configure metric producer to be opencensus. isSdkExtensionPlugin: true - type: MetricReader properties: - property: periodic - description: Configure a periodic metric reader. - property: pull - description: Configure a pull based metric reader. isSdkExtensionPlugin: false - type: NameStringValuePair properties: - property: name - description: The name of the pair. - property: value - description: The value of the pair. isSdkExtensionPlugin: false - type: OpenCensusMetricProducer properties: [] @@ -646,44 +350,15 @@ - type: OpenTelemetryConfiguration properties: - property: file_format - description: | - The file format version. - The yaml format is documented at - https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema - property: disabled - description: | - Configure if the SDK is disabled or not. - If omitted or null, false is used. - property: log_level - description: | - Configure the log level of the internal logger used by the SDK. - If omitted, info is used. - property: attribute_limits - description: | - Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. - property: logger_provider - description: | - Configure logger provider. - If omitted, a noop logger provider is used. - property: meter_provider - description: | - Configure meter provider. - If omitted, a noop meter provider is used. - property: propagator - description: | - Configure text map context propagators. - If omitted, a noop propagator is used. - property: tracer_provider - description: | - Configure tracer provider. - If omitted, a noop tracer provider is used. - property: resource - description: | - Configure resource for all signals. - If omitted, the default resource is used. - property: instrumentation/development - description: | - Configure instrumentation. isSdkExtensionPlugin: false - type: OpenTracingPropagator properties: [] @@ -691,68 +366,22 @@ - type: OtlpGrpcExporter properties: - property: endpoint - description: | - Configure endpoint. - If omitted or null, 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. - 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. - property: compression - description: | - Configure compression. - Values include: gzip, none. Implementations may support other compression algorithms. - If omitted or null, 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. - property: tls - description: Configure TLS settings for the exporter. isSdkExtensionPlugin: false - type: OtlpGrpcMetricExporter properties: - property: endpoint - description: | - Configure endpoint. - If omitted or null, 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. - 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. - property: compression - description: | - Configure compression. - Values include: gzip, none. Implementations may support other compression algorithms. - If omitted or null, 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. - 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. - 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. - property: tls - description: Configure TLS settings for the exporter. isSdkExtensionPlugin: false - type: OtlpHttpEncoding enumValues: @@ -764,268 +393,109 @@ - type: OtlpHttpExporter 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. - 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. - 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. - property: compression - description: | - Configure compression. - Values include: gzip, none. Implementations may support other compression algorithms. - If omitted or null, 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. - 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. - property: tls - description: Configure TLS settings for the exporter. 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. - - property: endpoint - description: | - Configure endpoint. - If omitted or null, 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. - 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. - property: compression - description: | - Configure compression. - Values include: gzip, none. Implementations may support other compression algorithms. - If omitted or null, 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. - 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. - 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. - 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. - property: tls - description: Configure TLS settings for the exporter. isSdkExtensionPlugin: false - type: ParentBasedSampler properties: - property: root - description: | - Configure root sampler. - If omitted or null, always_on is used. - property: remote_parent_sampled - description: | - Configure remote_parent_sampled sampler. - If omitted or null, always_on is used. - property: remote_parent_not_sampled - description: | - Configure remote_parent_not_sampled sampler. - If omitted or null, always_off is used. - property: local_parent_sampled - description: | - Configure local_parent_sampled sampler. - If omitted or null, always_on is used. - property: local_parent_not_sampled - description: | - Configure local_parent_not_sampled sampler. - If omitted or null, always_off is used. isSdkExtensionPlugin: false - type: PeriodicMetricReader properties: - property: interval - description: | - Configure delay interval (in milliseconds) between start of two consecutive exports. - Value must be non-negative. - If omitted or null, 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. - property: exporter - description: Configure exporter. - property: producers - description: Configure metric producers. - property: cardinality_limits - description: Configure cardinality limits. isSdkExtensionPlugin: false - type: Propagator properties: - property: composite - 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. - 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. isSdkExtensionPlugin: false - type: PullMetricExporter properties: - property: prometheus/development - description: | - Configure exporter to be prometheus. isSdkExtensionPlugin: true - type: PullMetricReader properties: - property: exporter - description: Configure exporter. - property: producers - description: Configure metric producers. - property: cardinality_limits - description: Configure cardinality limits. isSdkExtensionPlugin: false - type: PushMetricExporter properties: - property: otlp_http - description: | - Configure exporter to be OTLP with HTTP transport. - property: otlp_grpc - description: | - Configure exporter to be OTLP with gRPC transport. - property: otlp_file/development - description: | - Configure exporter to be OTLP with file transport. - property: console - description: | - Configure exporter to be console. isSdkExtensionPlugin: true - type: Resource properties: - property: attributes - description: | - Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. - property: detection/development - description: | - Configure resource detection. - If omitted or null, resource detection is disabled. - property: schema_url - description: | - Configure resource schema URL. - If omitted or null, 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. isSdkExtensionPlugin: false - type: Sampler properties: - property: always_off - description: Configure sampler to be always_off. - property: always_on - description: Configure sampler to be always_on. - property: parent_based - description: Configure sampler to be parent_based. - property: trace_id_ratio_based - description: Configure sampler to be trace_id_ratio_based. - property: probability/development - description: Configure sampler to be probability. - property: jaeger_remote/development - description: TODO - property: composite/development - description: Configure sampler to be composite. isSdkExtensionPlugin: true - type: SimpleLogRecordProcessor properties: - property: exporter - description: Configure exporter. isSdkExtensionPlugin: false - type: SimpleSpanProcessor properties: - property: exporter - description: Configure exporter. isSdkExtensionPlugin: false - type: SpanExporter properties: - property: otlp_http - description: Configure exporter to be OTLP with HTTP transport. - property: otlp_grpc - description: Configure exporter to be OTLP with gRPC transport. - property: otlp_file/development - description: | - Configure exporter to be OTLP with file transport. - property: console - description: Configure exporter to be console. - property: zipkin - description: Configure exporter to be zipkin. isSdkExtensionPlugin: true - type: SpanLimits properties: - property: attribute_value_length_limit - 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. - 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. - property: event_count_limit - description: | - Configure max span event count. - Value must be non-negative. - If omitted or null, 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. - property: event_attribute_count_limit - description: | - Configure max attributes per span event. - Value must be non-negative. - If omitted or null, 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. isSdkExtensionPlugin: false - type: SpanProcessor properties: - property: batch - description: Configure a batch span processor. - property: simple - description: Configure a simple span processor. isSdkExtensionPlugin: true - type: SumAggregation properties: [] @@ -1033,17 +503,11 @@ - type: TextMapPropagator properties: - property: tracecontext - description: Include the w3c trace context propagator. - property: baggage - description: Include the w3c baggage propagator. - property: b3 - description: Include the zipkin b3 propagator. - property: b3multi - description: Include the zipkin b3 multi propagator. - property: jaeger - description: Include the jaeger propagator. - property: ottrace - description: Include the opentracing propagator. isSdkExtensionPlugin: true - type: TraceContextPropagator properties: [] @@ -1051,141 +515,66 @@ - type: TraceIdRatioBasedSampler properties: - property: ratio - description: | - Configure trace_id_ratio. - If omitted or null, 1.0 is used. isSdkExtensionPlugin: false - type: TracerProvider properties: - property: processors - description: Configure span processors. - property: limits - description: Configure span limits. See also attribute_limits. - property: sampler - description: | - Configure the sampler. - If omitted, parent based sampler with a root of always_on is used. - property: tracer_configurator/development - description: | - Configure tracers. isSdkExtensionPlugin: false - type: View properties: - property: selector - 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. - - property: stream - description: Configure view stream. + - property: stream isSdkExtensionPlugin: false - type: ViewSelector properties: - property: instrument_name - description: | - Configure instrument name selection criteria. - If omitted or null, 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. - property: unit - description: | - Configure the instrument unit selection criteria. - If omitted or null, all instrument units match. - property: meter_name - description: | - Configure meter name selection criteria. - If omitted or null, all meter names match. - property: meter_version - description: | - Configure meter version selection criteria. - If omitted or null, all meter versions match. - property: meter_schema_url - description: | - Configure meter schema url selection criteria. - If omitted or null, 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. - property: description - description: | - Configure metric description of the resulting stream(s). - If omitted or null, 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. - property: aggregation_cardinality_limit - description: | - Configure the aggregation cardinality limit. - If omitted or null, the metric reader's default cardinality limit is used. - property: attribute_keys - description: | - Configure attribute keys retained in the resulting stream(s). isSdkExtensionPlugin: false - type: ZipkinSpanExporter properties: - property: endpoint - description: | - Configure endpoint. - If omitted or null, 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. isSdkExtensionPlugin: false - type: ConsoleMetricExporter properties: - 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. - 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. isSdkExtensionPlugin: false - type: ExperimentalJaegerRemoteSampler properties: - property: endpoint - description: TODO - property: interval - description: TODO - property: initial_sampler - description: TODO isSdkExtensionPlugin: false - type: ExperimentalComposableSampler properties: - property: always_off - description: Configure sampler to be always_off. - property: always_on - description: Configure sampler to be always_on. - property: probability - description: Configure sampler to be probability. - property: parent_based - description: Configure sampler to be parent_based. isSdkExtensionPlugin: false - type: ExperimentalComposableParentBasedSampler properties: - property: root - description: Configures the sampler for spans with no parent. - property: remote_parent_sampled - description: Configures the sampler for spans with a remote parent that is sampled. - property: remote_parent_not_sampled - description: Configures the sampler for spans with a remote parent that is not sampled. - property: local_parent_sampled - description: Configures the sampler for spans with a local parent that is sampled. - property: local_parent_not_sampled - description: Configures the sampler for spans with a local parent that is not sampled. isSdkExtensionPlugin: false - type: ExperimentalComposableAlwaysOffSampler properties: [] @@ -1196,7 +585,4 @@ - type: ExperimentalComposableProbabilitySampler properties: - property: ratio - description: | - Configure ratio. - If omitted or null, 1.0 is used. isSdkExtensionPlugin: false diff --git a/schema/meter_provider.json b/schema/meter_provider.json index 19c675f5..26a771b4 100644 --- a/schema/meter_provider.json +++ b/schema/meter_provider.json @@ -5,6 +5,7 @@ "additionalProperties": false, "properties": { "readers": { + "description": "Configure metric readers.", "type": "array", "minItems": 1, "items": { @@ -12,15 +13,18 @@ } }, "views": { + "description": "Configure views.\n Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).", "type": "array", "items": { "$ref": "#/$defs/View" } }, "exemplar_filter": { + "description": "Configure the exemplar filter.\n 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.\n If omitted or null, trace_based is used.", "$ref": "#/$defs/ExemplarFilter" }, "meter_configurator/development": { + "description": "Configure meters.", "$ref": "#/$defs/ExperimentalMeterConfigurator" } }, @@ -29,7 +33,10 @@ ], "$defs": { "ExemplarFilter": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "always_on", "always_off", @@ -41,23 +48,34 @@ "additionalProperties": false, "properties": { "interval": { - "type": ["integer", "null"], + "description": "Configure delay interval (in milliseconds) between start of two consecutive exports.\n Value must be non-negative.\n If omitted or null, 60000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "timeout": { - "type": ["integer", "null"], + "description": "Configure maximum allowed time (in milliseconds) to export data.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/PushMetricExporter" }, "producers": { + "description": "Configure metric producers.", "type": "array", "items": { "$ref": "#/$defs/MetricProducer" } }, "cardinality_limits": { + "description": "Configure cardinality limits.", "$ref": "#/$defs/CardinalityLimits" } }, @@ -70,15 +88,18 @@ "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/PullMetricExporter" }, "producers": { + "description": "Configure metric producers.", "type": "array", "items": { "$ref": "#/$defs/MetricProducer" } }, "cardinality_limits": { + "description": "Configure cardinality limits.", "$ref": "#/$defs/CardinalityLimits" } }, @@ -91,35 +112,67 @@ "additionalProperties": false, "properties": { "default": { - "type": ["integer", "null"], + "description": "Configure default cardinality limit for all instrument types.\n Instrument-specific cardinality limits take priority.\n If omitted or null, 2000 is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "counter": { - "type": ["integer", "null"], + "description": "Configure default cardinality limit for counter instruments.\n If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "gauge": { - "type": ["integer", "null"], + "description": "Configure default cardinality limit for gauge instruments.\n If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "histogram": { - "type": ["integer", "null"], + "description": "Configure default cardinality limit for histogram instruments.\n If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "observable_counter": { - "type": ["integer", "null"], + "description": "Configure default cardinality limit for observable_counter instruments.\n If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "observable_gauge": { - "type": ["integer", "null"], + "description": "Configure default cardinality limit for observable_gauge instruments.\n If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "observable_up_down_counter": { - "type": ["integer", "null"], + "description": "Configure default cardinality limit for observable_up_down_counter instruments.\n If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "up_down_counter": { - "type": ["integer", "null"], + "description": "Configure default cardinality limit for up_down_counter instruments.\n If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 } } @@ -127,21 +180,28 @@ "PushMetricExporter": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "#/$defs/OtlpHttpMetricExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "#/$defs/OtlpGrpcMetricExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "#/$defs/ExperimentalOtlpFileMetricExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "#/$defs/ConsoleMetricExporter" } } @@ -149,12 +209,16 @@ "PullMetricExporter": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "prometheus/development": { + "description": "Configure exporter to be prometheus.", "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" } } @@ -162,38 +226,65 @@ "MetricProducer": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "opencensus": { + "description": "Configure metric producer to be opencensus.", "$ref": "#/$defs/OpenCensusMetricProducer" } } }, "OpenCensusMetricProducer": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalPrometheusMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "host": { - "type": ["string", "null"] + "description": "Configure host.\n If omitted or null, localhost is used.", + "type": [ + "string", + "null" + ] }, "port": { - "type": ["integer", "null"] + "description": "Configure port.\n If omitted or null, 9464 is used.", + "type": [ + "integer", + "null" + ] }, "without_scope_info": { - "type": ["boolean", "null"] + "description": "Configure Prometheus Exporter to produce metrics without a scope info metric.\n If omitted or null, false is used.", + "type": [ + "boolean", + "null" + ] }, "with_resource_constant_labels": { + "description": "Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns.", "$ref": "common.json#/$defs/IncludeExclude" }, "translation_strategy": { - "type": ["string", "null"], + "description": "Configure how Prometheus metrics are exposed. Values include:\n \n * UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes.\n * UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached.\n * NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached.\n * NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered.\n \n If omitted or null, UnderscoreEscapingWithSuffixes is used.", + "type": [ + "string", + "null" + ], "enum": [ "UnderscoreEscapingWithSuffixes", "UnderscoreEscapingWithoutSuffixes", @@ -210,15 +301,20 @@ "maxProperties": 1, "properties": { "periodic": { + "description": "Configure a periodic metric reader.", "$ref": "#/$defs/PeriodicMetricReader" }, "pull": { + "description": "Configure a pull based metric reader.", "$ref": "#/$defs/PullMetricReader" } } }, "ExporterTemporalityPreference": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "cumulative", "delta", @@ -226,106 +322,170 @@ ] }, "ExporterDefaultHistogramAggregation": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "explicit_bucket_histogram", "base2_exponential_bucket_histogram" ] }, "OtlpHttpMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "endpoint": { - "type": ["string", "null"] + "description": "Configure endpoint, including the signal specific path.\n If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.", + "type": [ + "string", + "null" + ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "common.json#/$defs/HttpTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "common.json#/$defs/NameStringValuePair" } }, "headers_list": { - "type": ["string", "null"] + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", + "type": [ + "string", + "null" + ] }, "compression": { - "type": ["string", "null"] + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", + "type": [ + "string", + "null" + ] }, "timeout": { - "type": ["integer", "null"], + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "encoding": { + "description": "Configure the encoding used for messages. \n Values include: protobuf, json. Implementations may not support json.\n If omitted or null, protobuf is used.", "$ref": "common.json#/$defs/OtlpHttpEncoding" }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } }, "OtlpGrpcMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "endpoint": { - "type": ["string", "null"] + "description": "Configure endpoint.\n If omitted or null, http://localhost:4317 is used.", + "type": [ + "string", + "null" + ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "common.json#/$defs/GrpcTls" }, "headers": { + "description": "Configure headers. Entries have higher priority than entries from .headers_list.\n If an entry's .value is null, the entry is ignored.", "type": "array", "items": { "$ref": "common.json#/$defs/NameStringValuePair" } }, "headers_list": { - "type": ["string", "null"] + "description": "Configure headers. Entries have lower priority than entries from .headers.\n 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.\n If omitted or null, no headers are added.", + "type": [ + "string", + "null" + ] }, "compression": { - "type": ["string", "null"] + "description": "Configure compression.\n Values include: gzip, none. Implementations may support other compression algorithms.\n If omitted or null, none is used.", + "type": [ + "string", + "null" + ] }, "timeout": { - "type": ["integer", "null"], + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } }, "ExperimentalOtlpFileMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "output_stream": { - "type": ["string", "null"] + "description": "Configure output stream.\n Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n If omitted or null, stdout is used.", + "type": [ + "string", + "null" + ] }, "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } }, "ConsoleMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "temporality_preference": { + "description": "Configure temporality preference.\n 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.\n If omitted or null, cumulative is used.", "$ref": "#/$defs/ExporterTemporalityPreference" }, "default_histogram_aggregation": { + "description": "Configure default histogram aggregation.\n 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.\n If omitted or null, explicit_bucket_histogram is used.", "$ref": "#/$defs/ExporterDefaultHistogramAggregation" } } @@ -335,40 +495,69 @@ "additionalProperties": false, "properties": { "selector": { + "description": "Configure view selector.\n Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.", "$ref": "#/$defs/ViewSelector" }, "stream": { + "description": "Configure view stream.", "$ref": "#/$defs/ViewStream" } }, - "required": ["selector", "stream"] + "required": [ + "selector", + "stream" + ] }, "ViewSelector": { "type": "object", "additionalProperties": false, "properties": { "instrument_name": { - "type": ["string", "null"] + "description": "Configure instrument name selection criteria.\n If omitted or null, all instrument names match.", + "type": [ + "string", + "null" + ] }, "instrument_type": { + "description": "Configure instrument type selection criteria.\n Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.\n If omitted or null, all instrument types match.", "$ref": "#/$defs/InstrumentType" }, "unit": { - "type": ["string", "null"] + "description": "Configure the instrument unit selection criteria.\n If omitted or null, all instrument units match.", + "type": [ + "string", + "null" + ] }, "meter_name": { - "type": ["string", "null"] + "description": "Configure meter name selection criteria.\n If omitted or null, all meter names match.", + "type": [ + "string", + "null" + ] }, "meter_version": { - "type": ["string", "null"] + "description": "Configure meter version selection criteria.\n If omitted or null, all meter versions match.", + "type": [ + "string", + "null" + ] }, "meter_schema_url": { - "type": ["string", "null"] + "description": "Configure meter schema url selection criteria.\n If omitted or null, all meter schema URLs match.", + "type": [ + "string", + "null" + ] } } }, "InstrumentType": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "counter", "gauge", @@ -384,19 +573,33 @@ "additionalProperties": false, "properties": { "name": { - "type": ["string", "null"] + "description": "Configure metric name of the resulting stream(s).\n If omitted or null, the instrument's original name is used.", + "type": [ + "string", + "null" + ] }, "description": { - "type": ["string", "null"] + "description": "Configure metric description of the resulting stream(s).\n If omitted or null, the instrument's origin description is used.", + "type": [ + "string", + "null" + ] }, "aggregation": { + "description": "Configure aggregation of the resulting stream(s).\n 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.\n If omitted, default is used.", "$ref": "#/$defs/Aggregation" }, "aggregation_cardinality_limit": { - "type": ["integer", "null"], + "description": "Configure the aggregation cardinality limit.\n If omitted or null, the metric reader's default cardinality limit is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "attribute_keys": { + "description": "Configure attribute keys retained in the resulting stream(s).", "$ref": "common.json#/$defs/IncludeExclude" } } @@ -408,79 +611,124 @@ "maxProperties": 1, "properties": { "default": { + "description": "TODO", "$ref": "#/$defs/DefaultAggregation" }, "drop": { + "description": "TODO", "$ref": "#/$defs/DropAggregation" }, "explicit_bucket_histogram": { + "description": "Configure aggregation to be explicit_bucket_histogram.", "$ref": "#/$defs/ExplicitBucketHistogramAggregation" }, "base2_exponential_bucket_histogram": { + "description": "TODO", "$ref": "#/$defs/Base2ExponentialBucketHistogramAggregation" }, "last_value": { + "description": "TODO", "$ref": "#/$defs/LastValueAggregation" }, "sum": { + "description": "TODO", "$ref": "#/$defs/SumAggregation" } } }, "DefaultAggregation": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "DropAggregation": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExplicitBucketHistogramAggregation": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "boundaries": { + "description": "Configure bucket boundaries.\n If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.", "type": "array", "items": { "type": "number" } }, "record_min_max": { - "type": ["boolean", "null"] + "description": "Configure record min and max.\n If omitted or null, true is used.", + "type": [ + "boolean", + "null" + ] } } }, "Base2ExponentialBucketHistogramAggregation": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "max_scale": { - "type": ["integer", "null"] + "description": "TODO", + "type": [ + "integer", + "null" + ] }, "max_size": { - "type": ["integer", "null"] + "description": "TODO", + "type": [ + "integer", + "null" + ] }, "record_min_max": { - "type": ["boolean", "null"] + "description": "TODO", + "type": [ + "boolean", + "null" + ] } } }, "LastValueAggregation": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "SumAggregation": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalMeterConfigurator": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default meter config used there is no matching entry in .meter_configurator/development.meters.", "$ref": "#/$defs/ExperimentalMeterConfig" }, "meters": { + "description": "Configure meters.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig" @@ -489,25 +737,36 @@ } }, "ExperimentalMeterMatcherAndConfig": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "name": { - "type": ["string"] + "description": "Configure meter names to match, evaluated as follows:\n \n * If the meter name exactly matches.\n * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", + "type": [ + "string" + ] }, "config": { + "description": "The meter config.", "$ref": "#/$defs/ExperimentalMeterConfig" } } }, "ExperimentalMeterConfig": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "disabled": { - "type": ["boolean"] + "description": "Configure if the meter is enabled or not.", + "type": [ + "boolean" + ] } } } } -} +} \ No newline at end of file diff --git a/schema/meter_provider.json5 b/schema/meter_provider.json5 new file mode 100644 index 00000000..43eaef80 --- /dev/null +++ b/schema/meter_provider.json5 @@ -0,0 +1,852 @@ +{ + "$id": "https://opentelemetry.io/otelconfig/meter_provider.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "additionalProperties": false, + "properties": { + "readers": { + description: "Configure metric readers.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/MetricReader" + } + }, + "views": { + description: "Configure views.\n \ +Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).", + "type": "array", + "items": { + "$ref": "#/$defs/View" + } + }, + "exemplar_filter": { + description: "Configure the exemplar filter.\n \ +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.\n \ +If omitted or null, trace_based is used.", + "$ref": "#/$defs/ExemplarFilter" + }, + "meter_configurator/development": { + description: "Configure meters.", + "$ref": "#/$defs/ExperimentalMeterConfigurator" + } + }, + "required": [ + "readers" + ], + "$defs": { + "ExemplarFilter": { + "type": [ + "string", + "null" + ], + "enum": [ + "always_on", + "always_off", + "trace_based" + ] + }, + "PeriodicMetricReader": { + "type": "object", + "additionalProperties": false, + "properties": { + "interval": { + description: "Configure delay interval (in milliseconds) between start of two consecutive exports.\n \ +Value must be non-negative.\n \ +If omitted or null, 60000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "timeout": { + description: "Configure maximum allowed time (in milliseconds) to export data.\n \ +Value must be non-negative. A value of 0 indicates no limit (infinity).\n \ +If omitted or null, 30000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "exporter": { + description: "Configure exporter.", + "$ref": "#/$defs/PushMetricExporter" + }, + "producers": { + description: "Configure metric producers.", + "type": "array", + "items": { + "$ref": "#/$defs/MetricProducer" + } + }, + "cardinality_limits": { + description: "Configure cardinality limits.", + "$ref": "#/$defs/CardinalityLimits" + } + }, + "required": [ + "exporter" + ] + }, + "PullMetricReader": { + "type": "object", + "additionalProperties": false, + "properties": { + "exporter": { + description: "Configure exporter.", + "$ref": "#/$defs/PullMetricExporter" + }, + "producers": { + description: "Configure metric producers.", + "type": "array", + "items": { + "$ref": "#/$defs/MetricProducer" + } + }, + "cardinality_limits": { + description: "Configure cardinality limits.", + "$ref": "#/$defs/CardinalityLimits" + } + }, + "required": [ + "exporter" + ] + }, + "CardinalityLimits": { + "type": "object", + "additionalProperties": false, + "properties": { + "default": { + description: "Configure default cardinality limit for all instrument types.\n \ +Instrument-specific cardinality limits take priority.\n \ +If omitted or null, 2000 is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "counter": { + description: "Configure default cardinality limit for counter instruments.\n \ +If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "gauge": { + description: "Configure default cardinality limit for gauge instruments.\n \ +If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "histogram": { + description: "Configure default cardinality limit for histogram instruments.\n \ +If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "observable_counter": { + description: "Configure default cardinality limit for observable_counter instruments.\n \ +If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "observable_gauge": { + description: "Configure default cardinality limit for observable_gauge instruments.\n \ +If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "observable_up_down_counter": { + description: "Configure default cardinality limit for observable_up_down_counter instruments.\n \ +If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "up_down_counter": { + description: "Configure default cardinality limit for up_down_counter instruments.\n \ +If omitted or null, the value from .default is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + } + } + }, + "PushMetricExporter": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "otlp_http": { + description: "Configure exporter to be OTLP with HTTP transport.", + "$ref": "#/$defs/OtlpHttpMetricExporter" + }, + "otlp_grpc": { + description: "Configure exporter to be OTLP with gRPC transport.", + "$ref": "#/$defs/OtlpGrpcMetricExporter" + }, + "otlp_file/development": { + description: "Configure exporter to be OTLP with file transport.", + "$ref": "#/$defs/ExperimentalOtlpFileMetricExporter" + }, + "console": { + description: "Configure exporter to be console.", + "$ref": "#/$defs/ConsoleMetricExporter" + } + } + }, + "PullMetricExporter": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "prometheus/development": { + description: "Configure exporter to be prometheus.", + "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" + } + } + }, + "MetricProducer": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "opencensus": { + description: "Configure metric producer to be opencensus.", + "$ref": "#/$defs/OpenCensusMetricProducer" + } + } + }, + "OpenCensusMetricProducer": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalPrometheusMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "host": { + description: "Configure host.\n \ +If omitted or null, localhost is used.", + "type": [ + "string", + "null" + ] + }, + "port": { + description: "Configure port.\n \ +If omitted or null, 9464 is used.", + "type": [ + "integer", + "null" + ] + }, + "without_scope_info": { + description: "Configure Prometheus Exporter to produce metrics without a scope info metric.\n \ +If omitted or null, false is used.", + "type": [ + "boolean", + "null" + ] + }, + "with_resource_constant_labels": { + description: "Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns.", + "$ref": "common.json#/$defs/IncludeExclude" + }, + "translation_strategy": { + description: "Configure how Prometheus metrics are exposed. Values include:\n \ +\n \ + * UnderscoreEscapingWithSuffixes, the default. This fully escapes metric names for classic Prometheus metric name compatibility, and includes appending type and unit suffixes.\n \ + * UnderscoreEscapingWithoutSuffixes, metric names will continue to escape special characters to _, but suffixes won't be attached.\n \ + * NoUTF8EscapingWithSuffixes will disable changing special characters to _. Special suffixes like units and _total for counters will be attached.\n \ + * NoTranslation. This strategy bypasses all metric and label name translation, passing them through unaltered.\n \ +\n \ + If omitted or null, UnderscoreEscapingWithSuffixes is used.", + "type": [ + "string", + "null" + ], + "enum": [ + "UnderscoreEscapingWithSuffixes", + "UnderscoreEscapingWithoutSuffixes", + "NoUTF8EscapingWithSuffixes", + "NoTranslation" + ] + } + } + }, + "MetricReader": { + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "periodic": { + description: "Configure a periodic metric reader.", + "$ref": "#/$defs/PeriodicMetricReader" + }, + "pull": { + description: "Configure a pull based metric reader.", + "$ref": "#/$defs/PullMetricReader" + } + } + }, + "ExporterTemporalityPreference": { + "type": [ + "string", + "null" + ], + "enum": [ + "cumulative", + "delta", + "low_memory" + ] + }, + "ExporterDefaultHistogramAggregation": { + "type": [ + "string", + "null" + ], + "enum": [ + "explicit_bucket_histogram", + "base2_exponential_bucket_histogram" + ] + }, + "OtlpHttpMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "endpoint": { + description: "Configure endpoint, including the signal specific path.\n \ +If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.", + "type": [ + "string", + "null" + ] + }, + "tls": { + description: "Configure TLS settings for the exporter.", + "$ref": "common.json#/$defs/HttpTls" + }, + "headers": { + description: "Configure headers. Entries have higher priority than entries from .headers_list.\n \ +If an entry's .value is null, the entry is ignored.", + "type": "array", + "items": { + "$ref": "common.json#/$defs/NameStringValuePair" + } + }, + "headers_list": { + description: "Configure headers. Entries have lower priority than entries from .headers.\n \ +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.\n \ +If omitted or null, no headers are added.", + "type": [ + "string", + "null" + ] + }, + "compression": { + description: "Configure compression.\n \ +Values include: gzip, none. Implementations may support other compression algorithms.\n \ +If omitted or null, none is used.", + "type": [ + "string", + "null" + ] + }, + "timeout": { + description: "Configure max time (in milliseconds) to wait for each export.\n \ +Value must be non-negative. A value of 0 indicates no limit (infinity).\n \ +If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "encoding": { + description: "Configure the encoding used for messages. \n \ +Values include: protobuf, json. Implementations may not support json.\n \ +If omitted or null, protobuf is used.", + "$ref": "common.json#/$defs/OtlpHttpEncoding" + }, + "temporality_preference": { + description: "Configure temporality preference.\n \ +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.\n \ +If omitted or null, cumulative is used.", + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + description: "Configure default histogram aggregation.\n \ +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.\n \ +If omitted or null, explicit_bucket_histogram is used.", + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, + "OtlpGrpcMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "endpoint": { + description: "Configure endpoint.\n \ +If omitted or null, http://localhost:4317 is used.", + "type": [ + "string", + "null" + ] + }, + "tls": { + description: "Configure TLS settings for the exporter.", + "$ref": "common.json#/$defs/GrpcTls" + }, + "headers": { + description: "Configure headers. Entries have higher priority than entries from .headers_list.\n \ +If an entry's .value is null, the entry is ignored.", + "type": "array", + "items": { + "$ref": "common.json#/$defs/NameStringValuePair" + } + }, + "headers_list": { + description: "Configure headers. Entries have lower priority than entries from .headers.\n \ +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.\n \ +If omitted or null, no headers are added.", + "type": [ + "string", + "null" + ] + }, + "compression": { + description: "Configure compression.\n \ +Values include: gzip, none. Implementations may support other compression algorithms.\n \ +If omitted or null, none is used.", + "type": [ + "string", + "null" + ] + }, + "timeout": { + description: "Configure max time (in milliseconds) to wait for each export.\n \ +Value must be non-negative. A value of 0 indicates no limit (infinity).\n \ +If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "temporality_preference": { + description: "Configure temporality preference.\n \ +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.\n \ +If omitted or null, cumulative is used.", + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + description: "Configure default histogram aggregation.\n \ +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.\n \ +If omitted or null, explicit_bucket_histogram is used.", + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, + "ExperimentalOtlpFileMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "output_stream": { + description: "Configure output stream.\n \ +Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n \ +If omitted or null, stdout is used.", + "type": [ + "string", + "null" + ] + }, + "temporality_preference": { + description: "Configure temporality preference.\n \ +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.\n \ +If omitted or null, cumulative is used.", + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + description: "Configure default histogram aggregation.\n \ +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.\n \ +If omitted or null, explicit_bucket_histogram is used.", + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, + "ConsoleMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "temporality_preference": { + description: "Configure temporality preference.\n \ +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.\n \ +If omitted or null, cumulative is used.", + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + description: "Configure default histogram aggregation.\n \ +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.\n \ +If omitted or null, explicit_bucket_histogram is used.", + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, + "View": { + "type": "object", + "additionalProperties": false, + "properties": { + "selector": { + description: "Configure view selector.\n \ +Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.", + "$ref": "#/$defs/ViewSelector" + }, + "stream": { + description: "Configure view stream.", + "$ref": "#/$defs/ViewStream" + } + }, + "required": [ + "selector", + "stream" + ] + }, + "ViewSelector": { + "type": "object", + "additionalProperties": false, + "properties": { + "instrument_name": { + description: "Configure instrument name selection criteria.\n \ +If omitted or null, all instrument names match.", + "type": [ + "string", + "null" + ] + }, + "instrument_type": { + description: "Configure instrument type selection criteria.\n \ +Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.\n \ +If omitted or null, all instrument types match.", + "$ref": "#/$defs/InstrumentType" + }, + "unit": { + description: "Configure the instrument unit selection criteria.\n \ +If omitted or null, all instrument units match.", + "type": [ + "string", + "null" + ] + }, + "meter_name": { + description: "Configure meter name selection criteria.\n \ +If omitted or null, all meter names match.", + "type": [ + "string", + "null" + ] + }, + "meter_version": { + description: "Configure meter version selection criteria.\n \ +If omitted or null, all meter versions match.", + "type": [ + "string", + "null" + ] + }, + "meter_schema_url": { + description: "Configure meter schema url selection criteria.\n \ +If omitted or null, all meter schema URLs match.", + "type": [ + "string", + "null" + ] + } + } + }, + "InstrumentType": { + "type": [ + "string", + "null" + ], + "enum": [ + "counter", + "gauge", + "histogram", + "observable_counter", + "observable_gauge", + "observable_up_down_counter", + "up_down_counter" + ] + }, + "ViewStream": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + description: "Configure metric name of the resulting stream(s).\n \ +If omitted or null, the instrument's original name is used.", + "type": [ + "string", + "null" + ] + }, + "description": { + description: "Configure metric description of the resulting stream(s).\n \ +If omitted or null, the instrument's origin description is used.", + "type": [ + "string", + "null" + ] + }, + "aggregation": { + description: "Configure aggregation of the resulting stream(s).\n \ +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.\n \ +If omitted, default is used.", + "$ref": "#/$defs/Aggregation" + }, + "aggregation_cardinality_limit": { + description: "Configure the aggregation cardinality limit.\n \ +If omitted or null, the metric reader's default cardinality limit is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "attribute_keys": { + description: "Configure attribute keys retained in the resulting stream(s).", + "$ref": "common.json#/$defs/IncludeExclude" + } + } + }, + "Aggregation": { + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "default": { + description: "TODO", + "$ref": "#/$defs/DefaultAggregation" + }, + "drop": { + description: "TODO", + "$ref": "#/$defs/DropAggregation" + }, + "explicit_bucket_histogram": { + description: "Configure aggregation to be explicit_bucket_histogram.", + "$ref": "#/$defs/ExplicitBucketHistogramAggregation" + }, + "base2_exponential_bucket_histogram": { + description: "TODO", + "$ref": "#/$defs/Base2ExponentialBucketHistogramAggregation" + }, + "last_value": { + description: "TODO", + "$ref": "#/$defs/LastValueAggregation" + }, + "sum": { + description: "TODO", + "$ref": "#/$defs/SumAggregation" + } + } + }, + "DefaultAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "DropAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExplicitBucketHistogramAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "boundaries": { + description: "Configure bucket boundaries.\n \ +If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.", + "type": "array", + "items": { + "type": "number" + } + }, + "record_min_max": { + description: "Configure record min and max.\n \ +If omitted or null, true is used.", + "type": [ + "boolean", + "null" + ] + } + } + }, + "Base2ExponentialBucketHistogramAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "max_scale": { + description: "TODO", + "type": [ + "integer", + "null" + ] + }, + "max_size": { + description: "TODO", + "type": [ + "integer", + "null" + ] + }, + "record_min_max": { + description: "TODO", + "type": [ + "boolean", + "null" + ] + } + } + }, + "LastValueAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "SumAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalMeterConfigurator": { + "type": [ + "object" + ], + "additionalProperties": false, + "properties": { + "default_config": { + description: "Configure the default meter config used there is no matching entry in .meter_configurator/development.meters.", + "$ref": "#/$defs/ExperimentalMeterConfig" + }, + "meters": { + description: "Configure meters.", + "type": "array", + "items": { + "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig" + } + } + } + }, + "ExperimentalMeterMatcherAndConfig": { + "type": [ + "object" + ], + "additionalProperties": false, + "properties": { + "name": { + description: "Configure meter names to match, evaluated as follows:\n \ +\n \ + * If the meter name exactly matches.\n \ + * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", + "type": [ + "string" + ] + }, + "config": { + description: "The meter config.", + "$ref": "#/$defs/ExperimentalMeterConfig" + } + } + }, + "ExperimentalMeterConfig": { + "type": [ + "object" + ], + "additionalProperties": false, + "properties": { + "disabled": { + description: "Configure if the meter is enabled or not.", + "type": [ + "boolean" + ] + } + } + } + } +} \ No newline at end of file diff --git a/schema/opentelemetry_configuration.json b/schema/opentelemetry_configuration.json index c860f540..fffd3bb6 100644 --- a/schema/opentelemetry_configuration.json +++ b/schema/opentelemetry_configuration.json @@ -6,33 +6,49 @@ "additionalProperties": true, "properties": { "file_format": { + "description": "The file format version.\n The yaml format is documented at\n https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema", "type": "string" }, "disabled": { - "type": ["boolean", "null"] + "description": "Configure if the SDK is disabled or not.\n If omitted or null, false is used.", + "type": [ + "boolean", + "null" + ] }, "log_level": { - "type": ["string", "null"] + "description": "Configure the log level of the internal logger used by the SDK.\n If omitted, info is used.", + "type": [ + "string", + "null" + ] }, "attribute_limits": { + "description": "Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.", "$ref": "#/$defs/AttributeLimits" }, "logger_provider": { + "description": "Configure logger provider.\n If omitted, a noop logger provider is used.", "$ref": "#/$defs/LoggerProvider" }, "meter_provider": { + "description": "Configure meter provider.\n If omitted, a noop meter provider is used.", "$ref": "#/$defs/MeterProvider" }, "propagator": { + "description": "Configure text map context propagators.\n If omitted, a noop propagator is used.", "$ref": "#/$defs/Propagator" }, "tracer_provider": { + "description": "Configure tracer provider.\n If omitted, a noop tracer provider is used.", "$ref": "#/$defs/TracerProvider" }, "resource": { + "description": "Configure resource for all signals.\n If omitted, the default resource is used.", "$ref": "#/$defs/Resource" }, "instrumentation/development": { + "description": "Configure instrumentation.", "$ref": "#/$defs/ExperimentalInstrumentation" } }, @@ -45,11 +61,19 @@ "additionalProperties": false, "properties": { "attribute_value_length_limit": { - "type": ["integer", "null"], + "description": "Configure max attribute value size.\n Value must be non-negative.\n If omitted or null, there is no limit.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "attribute_count_limit": { - "type": ["integer", "null"], + "description": "Configure max attribute count.\n Value must be non-negative.\n If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 } } @@ -73,4 +97,4 @@ "$ref": "instrumentation.json" } } -} +} \ No newline at end of file diff --git a/schema/opentelemetry_configuration.json5 b/schema/opentelemetry_configuration.json5 new file mode 100644 index 00000000..901a33d7 --- /dev/null +++ b/schema/opentelemetry_configuration.json5 @@ -0,0 +1,113 @@ +{ + $id: "https://opentelemetry.io/otelconfig/opentelemetry_configuration.json", + $schema: "https://json-schema.org/draft/2020-12/schema", + title: "OpenTelemetryConfiguration", + type: "object", + additionalProperties: true, + properties: { + file_format: { + description: "The file format version.\n \ +The yaml format is documented at\n \ +https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema", + type: "string" + }, + disabled: { + description: "Configure if the SDK is disabled or not.\n \ +If omitted or null, false is used.", + "type": [ + "boolean", + "null" + ] + }, + log_level: { + description: "Configure the log level of the internal logger used by the SDK.\n \ +If omitted, info is used.", + "type": [ + "string", + "null" + ] + }, + attribute_limits: { + description: "Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.", + $ref: "#/$defs/AttributeLimits" + }, + "logger_provider": { + description: "Configure logger provider.\n \ +If omitted, a noop logger provider is used.", + $ref: "#/$defs/LoggerProvider" + }, + "meter_provider": { + description: "Configure meter provider.\n \ +If omitted, a noop meter provider is used.", + $ref: "#/$defs/MeterProvider" + }, + "propagator": { + description: "Configure text map context propagators.\n \ +If omitted, a noop propagator is used.", + $ref: "#/$defs/Propagator" + }, + "tracer_provider": { + description: "Configure tracer provider.\n \ +If omitted, a noop tracer provider is used.", + $ref: "#/$defs/TracerProvider" + }, + "resource": { + description: "Configure resource for all signals.\n \ +If omitted, the default resource is used.", + $ref: "#/$defs/Resource" + }, + "instrumentation/development": { + description: "Configure instrumentation.", + $ref: "#/$defs/ExperimentalInstrumentation" + } + }, + "required": [ + "file_format" + ], + "$defs": { + "AttributeLimits": { + "type": "object", + "additionalProperties": false, + properties: { + "attribute_value_length_limit": { + description: "Configure max attribute value size.\n \ +Value must be non-negative.\n \ +If omitted or null, there is no limit.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "attribute_count_limit": { + description: "Configure max attribute count.\n \ +Value must be non-negative.\n \ +If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + } + } + }, + "LoggerProvider": { + $ref: "logger_provider.json" + }, + "MeterProvider": { + $ref: "meter_provider.json" + }, + "TracerProvider": { + $ref: "tracer_provider.json" + }, + "Propagator": { + $ref: "propagator.json" + }, + "Resource": { + $ref: "resource.json" + }, + "ExperimentalInstrumentation": { + $ref: "instrumentation.json" + } + } +} \ No newline at end of file diff --git a/schema/propagator.json b/schema/propagator.json index 7283170f..3520dff0 100644 --- a/schema/propagator.json +++ b/schema/propagator.json @@ -4,67 +4,99 @@ "type": "object", "properties": { "composite": { + "description": "Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out.\n Built-in propagator keys include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party keys include: xray.\n If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used.", "type": "array", "items": { "$ref": "#/$defs/TextMapPropagator" } }, "composite_list": { - "type": ["string", "null"] + "description": "Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out.\n 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.\n Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray.\n If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used.", + "type": [ + "string", + "null" + ] } }, "$defs": { "TextMapPropagator": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "tracecontext": { + "description": "Include the w3c trace context propagator.", "$ref": "#/$defs/TraceContextPropagator" }, "baggage": { + "description": "Include the w3c baggage propagator.", "$ref": "#/$defs/BaggagePropagator" }, "b3": { + "description": "Include the zipkin b3 propagator.", "$ref": "#/$defs/B3Propagator" }, "b3multi": { + "description": "Include the zipkin b3 multi propagator.", "$ref": "#/$defs/B3MultiPropagator" }, "jaeger": { + "description": "Include the jaeger propagator.", "$ref": "#/$defs/JaegerPropagator" }, "ottrace": { + "description": "Include the opentracing propagator.", "$ref": "#/$defs/OpenTracingPropagator" } } }, "TraceContextPropagator": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "BaggagePropagator": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "B3Propagator": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "B3MultiPropagator": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "JaegerPropagator": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "OpenTracingPropagator": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false } } -} +} \ No newline at end of file diff --git a/schema/propagator.json5 b/schema/propagator.json5 new file mode 100644 index 00000000..49663e07 --- /dev/null +++ b/schema/propagator.json5 @@ -0,0 +1,107 @@ +{ + "$id": "https://opentelemetry.io/otelconfig/propagator.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "composite": { + description: "Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out.\n \ +Built-in propagator keys include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party keys include: xray.\n \ +If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used.", + "type": "array", + "items": { + "$ref": "#/$defs/TextMapPropagator" + } + }, + "composite_list": { + description: "Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out.\n \ +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.\n \ +Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray.\n \ +If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used.", + "type": [ + "string", + "null" + ] + } + }, + "$defs": { + "TextMapPropagator": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "tracecontext": { + description: "Include the w3c trace context propagator.", + "$ref": "#/$defs/TraceContextPropagator" + }, + "baggage": { + description: "Include the w3c baggage propagator.", + "$ref": "#/$defs/BaggagePropagator" + }, + "b3": { + description: "Include the zipkin b3 propagator.", + "$ref": "#/$defs/B3Propagator" + }, + "b3multi": { + description: "Include the zipkin b3 multi propagator.", + "$ref": "#/$defs/B3MultiPropagator" + }, + "jaeger": { + description: "Include the jaeger propagator.", + "$ref": "#/$defs/JaegerPropagator" + }, + "ottrace": { + description: "Include the opentracing propagator.", + "$ref": "#/$defs/OpenTracingPropagator" + } + } + }, + "TraceContextPropagator": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "BaggagePropagator": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "B3Propagator": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "B3MultiPropagator": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "JaegerPropagator": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "OpenTracingPropagator": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/schema/resource.json b/schema/resource.json index 859ddf27..5a5b9da5 100644 --- a/schema/resource.json +++ b/schema/resource.json @@ -5,19 +5,29 @@ "additionalProperties": false, "properties": { "attributes": { + "description": "Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.", "type": "array", "items": { "$ref": "#/$defs/AttributeNameValue" } }, "detection/development": { + "description": "Configure resource detection.\n If omitted or null, resource detection is disabled.", "$ref": "#/$defs/ExperimentalResourceDetection" }, "schema_url": { - "type": ["string", "null"] + "description": "Configure resource schema URL.\n If omitted or null, no schema URL is used.", + "type": [ + "string", + "null" + ] }, "attributes_list": { - "type": ["string", "null"] + "description": "Configure resource attributes. Entries have lower priority than entries from .resource.attributes.\n 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.\n If omitted or null, no resource attributes are added.", + "type": [ + "string", + "null" + ] } }, "$defs": { @@ -26,29 +36,59 @@ "additionalProperties": false, "properties": { "name": { + "description": "The attribute name.", "type": "string" }, "value": { + "description": "The attribute value.\n The type of value must match .type.", "oneOf": [ - {"type": "string"}, - {"type": "number"}, - {"type": "boolean"}, - {"type": "null"}, - {"type": "array", "items": {"type": "string"}}, - {"type": "array", "items": {"type": "boolean"}}, - {"type": "array", "items": {"type": "number"}} + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + } ] }, "type": { + "description": "The attribute type.\n Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.\n If omitted or null, string is used.", "$ref": "#/$defs/AttributeType" } }, "required": [ - "name", "value" + "name", + "value" ] }, "AttributeType": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "string", "bool", @@ -65,9 +105,11 @@ "additionalProperties": false, "properties": { "attributes": { + "description": "Configure attributes provided by resource detectors.", "$ref": "common.json#/$defs/IncludeExclude" }, "detectors": { + "description": "Configure resource detectors.\n Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.\n If omitted or null, no resource detectors are enabled.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalResourceDetector" @@ -78,40 +120,59 @@ "ExperimentalResourceDetector": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "container": { + "description": "Enable the container resource detector, which populates container.* attributes.", "$ref": "#/$defs/ExperimentalContainerResourceDetector" }, "host": { + "description": "Enable the host resource detector, which populates host.* and os.* attributes.", "$ref": "#/$defs/ExperimentalHostResourceDetector" }, "process": { + "description": "Enable the process resource detector, which populates process.* attributes.", "$ref": "#/$defs/ExperimentalProcessResourceDetector" }, "service": { + "description": "Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.", "$ref": "#/$defs/ExperimentalServiceResourceDetector" } } }, "ExperimentalContainerResourceDetector": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalHostResourceDetector": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalProcessResourceDetector": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalServiceResourceDetector": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false } } -} +} \ No newline at end of file diff --git a/schema/resource.json5 b/schema/resource.json5 new file mode 100644 index 00000000..09ecca6a --- /dev/null +++ b/schema/resource.json5 @@ -0,0 +1,187 @@ +{ + "$id": "https://opentelemetry.io/otelconfig/resource.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "additionalProperties": false, + properties: { + "attributes": { + description: "Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.", + "type": "array", + "items": { + "$ref": "#/$defs/AttributeNameValue" + } + }, + "detection/development": { + description: "Configure resource detection.\n \ +If omitted or null, resource detection is disabled.", + "$ref": "#/$defs/ExperimentalResourceDetection" + }, + "schema_url": { + description: "Configure resource schema URL.\n \ +If omitted or null, no schema URL is used.", + "type": [ + "string", + "null" + ] + }, + "attributes_list": { + description: "Configure resource attributes. Entries have lower priority than entries from .resource.attributes.\n \ +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.\n \ +If omitted or null, no resource attributes are added.", + "type": [ + "string", + "null" + ] + } + }, + "$defs": { + "AttributeNameValue": { + "type": "object", + "additionalProperties": false, + properties: { + "name": { + description: "The attribute name.", + "type": "string" + }, + "value": { + description: "The attribute value.\n \ +The type of value must match .type.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "boolean" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + } + ] + }, + "type": { + description: "The attribute type.\n \ +Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.\n \ +If omitted or null, string is used.", + "$ref": "#/$defs/AttributeType" + } + }, + "required": [ + "name", + "value" + ] + }, + "AttributeType": { + "type": [ + "string", + "null" + ], + "enum": [ + "string", + "bool", + "int", + "double", + "string_array", + "bool_array", + "int_array", + "double_array" + ] + }, + "ExperimentalResourceDetection": { + "type": "object", + "additionalProperties": false, + properties: { + "attributes": { + description: "Configure attributes provided by resource detectors.", + "$ref": "common.json#/$defs/IncludeExclude" + }, + "detectors": { + description: "Configure resource detectors.\n \ +Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.\n \ +If omitted or null, no resource detectors are enabled.", + "type": "array", + "items": { + "$ref": "#/$defs/ExperimentalResourceDetector" + } + } + } + }, + "ExperimentalResourceDetector": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + properties: { + "container": { + description: "Enable the container resource detector, which populates container.* attributes.", + "$ref": "#/$defs/ExperimentalContainerResourceDetector" + }, + "host": { + description: "Enable the host resource detector, which populates host.* and os.* attributes.", + "$ref": "#/$defs/ExperimentalHostResourceDetector" + }, + "process": { + description: "Enable the process resource detector, which populates process.* attributes.", + "$ref": "#/$defs/ExperimentalProcessResourceDetector" + }, + "service": { + description: "Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.", + "$ref": "#/$defs/ExperimentalServiceResourceDetector" + } + } + }, + "ExperimentalContainerResourceDetector": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalHostResourceDetector": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalProcessResourceDetector": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalServiceResourceDetector": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/schema/tracer_provider.json b/schema/tracer_provider.json index f350f0a9..a24dcf30 100644 --- a/schema/tracer_provider.json +++ b/schema/tracer_provider.json @@ -5,6 +5,7 @@ "additionalProperties": false, "properties": { "processors": { + "description": "Configure span processors. ", "type": "array", "minItems": 1, "items": { @@ -12,12 +13,15 @@ } }, "limits": { + "description": "Configure span limits. See also attribute_limits.", "$ref": "#/$defs/SpanLimits" }, "sampler": { + "description": "Configure the sampler. \n If omitted, parent based sampler with a root of always_on is used.", "$ref": "#/$defs/Sampler" }, "tracer_configurator/development": { + "description": "Configure tracers.", "$ref": "#/$defs/ExperimentalTracerConfigurator" } }, @@ -30,22 +34,39 @@ "additionalProperties": false, "properties": { "schedule_delay": { - "type": ["integer", "null"], + "description": "Configure delay interval (in milliseconds) between two consecutive exports.\n Value must be non-negative.\n If omitted or null, 5000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "export_timeout": { - "type": ["integer", "null"], + "description": "Configure maximum allowed time (in milliseconds) to export data.\n Value must be non-negative. A value of 0 indicates no limit (infinity).\n If omitted or null, 30000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "max_queue_size": { - "type": ["integer", "null"], + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "max_export_batch_size": { - "type": ["integer", "null"], + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -56,136 +77,207 @@ "Sampler": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "always_off": { + "description": "Configure sampler to be always_off.", "$ref": "#/$defs/AlwaysOffSampler" }, "always_on": { + "description": "Configure sampler to be always_on.", "$ref": "#/$defs/AlwaysOnSampler" }, "composite/development": { + "description": "Configure sampler to be composite.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "jaeger_remote/development": { + "description": "TODO", "$ref": "#/$defs/ExperimentalJaegerRemoteSampler" }, "parent_based": { + "description": "Configure sampler to be parent_based.", "$ref": "#/$defs/ParentBasedSampler" }, "probability/development": { + "description": "Configure sampler to be probability.", "$ref": "#/$defs/ExperimentalProbabilitySampler" }, "trace_id_ratio_based": { + "description": "Configure sampler to be trace_id_ratio_based.", "$ref": "#/$defs/TraceIdRatioBasedSampler" } } }, "AlwaysOffSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "AlwaysOnSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalJaegerRemoteSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "endpoint": { - "type": ["string", "null"] + "description": "TODO", + "type": [ + "string", + "null" + ] }, "interval": { - "type": ["integer", "null"], + "description": "TODO", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "initial_sampler": { + "description": "TODO", "$ref": "#/$defs/Sampler" } } }, "ParentBasedSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "root": { + "description": "Configure root sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "remote_parent_sampled": { + "description": "Configure remote_parent_sampled sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "remote_parent_not_sampled": { + "description": "Configure remote_parent_not_sampled sampler.\n If omitted or null, always_off is used.", "$ref": "#/$defs/Sampler" }, "local_parent_sampled": { + "description": "Configure local_parent_sampled sampler.\n If omitted or null, always_on is used.", "$ref": "#/$defs/Sampler" }, "local_parent_not_sampled": { + "description": "Configure local_parent_not_sampled sampler.\n If omitted or null, always_off is used.", "$ref": "#/$defs/Sampler" } } }, "ExperimentalProbabilitySampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "ratio": { - "type": ["number", "null"], + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 } } }, "TraceIdRatioBasedSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "ratio": { - "type": ["number", "null"], + "description": "Configure trace_id_ratio.\n If omitted or null, 1.0 is used.", + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 } } }, "ExperimentalComposableAlwaysOffSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalComposableAlwaysOnSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalComposableParentBasedSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "root": { + "description": "Configures the sampler for spans with no parent.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "remote_parent_sampled": { + "description": "Configures the sampler for spans with a remote parent that is sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "remote_parent_not_sampled": { + "description": "Configures the sampler for spans with a remote parent that is not sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "local_parent_sampled": { + "description": "Configures the sampler for spans with a local parent that is sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" }, "local_parent_not_sampled": { + "description": "Configures the sampler for spans with a local parent that is not sampled.", "$ref": "#/$defs/ExperimentalComposableSampler" } } }, "ExperimentalComposableProbabilitySampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "ratio": { - "type": ["number", "null"], + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 } @@ -194,21 +286,28 @@ "ExperimentalComposableSampler": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "always_off": { + "description": "Configure sampler to be always_off.", "$ref": "#/$defs/ExperimentalComposableAlwaysOffSampler" }, "always_on": { + "description": "Configure sampler to be always_on.", "$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler" }, "parent_based": { + "description": "Configure sampler to be parent_based.", "$ref": "#/$defs/ExperimentalComposableParentBasedSampler" }, "probability": { + "description": "Configure sampler to be probability.", "$ref": "#/$defs/ExperimentalComposableProbabilitySampler" } } @@ -218,6 +317,7 @@ "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -228,24 +328,32 @@ "SpanExporter": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "otlp_http": { + "description": "Configure exporter to be OTLP with HTTP transport.", "$ref": "common.json#/$defs/OtlpHttpExporter" }, "otlp_grpc": { + "description": "Configure exporter to be OTLP with gRPC transport.", "$ref": "common.json#/$defs/OtlpGrpcExporter" }, "otlp_file/development": { + "description": "Configure exporter to be OTLP with file transport.", "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter" }, "console": { + "description": "Configure exporter to be console.", "$ref": "common.json#/$defs/ConsoleExporter" }, "zipkin": { + "description": "Configure exporter to be zipkin.", "$ref": "#/$defs/ZipkinSpanExporter" } } @@ -255,27 +363,51 @@ "additionalProperties": false, "properties": { "attribute_value_length_limit": { - "type": ["integer", "null"], + "description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \n Value must be non-negative.\n If omitted or null, there is no limit.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "attribute_count_limit": { - "type": ["integer", "null"], + "description": "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. \n Value must be non-negative.\n If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "event_count_limit": { - "type": ["integer", "null"], + "description": "Configure max span event count. \n Value must be non-negative.\n If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "link_count_limit": { - "type": ["integer", "null"], + "description": "Configure max span link count. \n Value must be non-negative.\n If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "event_attribute_count_limit": { - "type": ["integer", "null"], + "description": "Configure max attributes per span event. \n Value must be non-negative.\n If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 }, "link_attribute_count_limit": { - "type": ["integer", "null"], + "description": "Configure max attributes per span link. \n Value must be non-negative.\n If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 } } @@ -283,40 +415,60 @@ "SpanProcessor": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, "properties": { "batch": { + "description": "Configure a batch span processor.", "$ref": "#/$defs/BatchSpanProcessor" }, "simple": { + "description": "Configure a simple span processor.", "$ref": "#/$defs/SimpleSpanProcessor" } } }, "ZipkinSpanExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "endpoint": { - "type": ["string", "null"] + "description": "Configure endpoint.\n If omitted or null, http://localhost:9411/api/v2/spans is used.", + "type": [ + "string", + "null" + ] }, "timeout": { - "type": ["integer", "null"], + "description": "Configure max time (in milliseconds) to wait for each export.\n Value must be non-negative. A value of 0 indicates indefinite.\n If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], "minimum": 0 } } }, "ExperimentalTracerConfigurator": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "default_config": { + "description": "Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers.", "$ref": "#/$defs/ExperimentalTracerConfig" }, "tracers": { + "description": "Configure tracers.", "type": "array", "items": { "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig" @@ -325,25 +477,36 @@ } }, "ExperimentalTracerMatcherAndConfig": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "name": { - "type": ["string"] + "description": "Configure tracer names to match, evaluated as follows:\n \n * If the tracer name exactly matches.\n * If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", + "type": [ + "string" + ] }, "config": { + "description": "The tracer config.", "$ref": "#/$defs/ExperimentalTracerConfig" } } }, "ExperimentalTracerConfig": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "disabled": { - "type": ["boolean"] + "description": "Configure if the tracer is enabled or not.", + "type": [ + "boolean" + ] } } } } -} +} \ No newline at end of file diff --git a/schema/tracer_provider.json5 b/schema/tracer_provider.json5 new file mode 100644 index 00000000..4126e794 --- /dev/null +++ b/schema/tracer_provider.json5 @@ -0,0 +1,545 @@ +{ + "$id": "https://opentelemetry.io/otelconfig/tracer_provider.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "additionalProperties": false, + properties: { + "processors": { + description: "Configure span processors. ", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/SpanProcessor" + } + }, + "limits": { + description: "Configure span limits. See also attribute_limits.", + "$ref": "#/$defs/SpanLimits" + }, + "sampler": { + description: "Configure the sampler. \n \ +If omitted, parent based sampler with a root of always_on is used.", + "$ref": "#/$defs/Sampler" + }, + "tracer_configurator/development": { + description: "Configure tracers.", + "$ref": "#/$defs/ExperimentalTracerConfigurator" + } + }, + "required": [ + "processors" + ], + "$defs": { + "BatchSpanProcessor": { + "type": "object", + "additionalProperties": false, + properties: { + "schedule_delay": { + description: "Configure delay interval (in milliseconds) between two consecutive exports.\n \ +Value must be non-negative.\n \ +If omitted or null, 5000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "export_timeout": { + description: "Configure maximum allowed time (in milliseconds) to export data.\n \ +Value must be non-negative. A value of 0 indicates no limit (infinity).\n \ +If omitted or null, 30000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "max_queue_size": { + description: "Configure maximum queue size. Value must be positive.\n \ +If omitted or null, 2048 is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "max_export_batch_size": { + description: "Configure maximum batch size. Value must be positive.\n \ +If omitted or null, 512 is used.", + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "exporter": { + description: "Configure exporter.", + "$ref": "#/$defs/SpanExporter" + } + }, + "required": [ + "exporter" + ] + }, + "Sampler": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + properties: { + "always_off": { + description: "Configure sampler to be always_off.", + "$ref": "#/$defs/AlwaysOffSampler" + }, + "always_on": { + description: "Configure sampler to be always_on.", + "$ref": "#/$defs/AlwaysOnSampler" + }, + "composite/development": { + description: "Configure sampler to be composite.", + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "jaeger_remote/development": { + description: "TODO", + "$ref": "#/$defs/ExperimentalJaegerRemoteSampler" + }, + "parent_based": { + description: "Configure sampler to be parent_based.", + "$ref": "#/$defs/ParentBasedSampler" + }, + "probability/development": { + description: "Configure sampler to be probability.", + "$ref": "#/$defs/ExperimentalProbabilitySampler" + }, + "trace_id_ratio_based": { + description: "Configure sampler to be trace_id_ratio_based.", + "$ref": "#/$defs/TraceIdRatioBasedSampler" + } + } + }, + "AlwaysOffSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "AlwaysOnSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalJaegerRemoteSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "endpoint": { + description: "TODO", + "type": [ + "string", + "null" + ] + }, + "interval": { + description: "TODO", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "initial_sampler": { + description: "TODO", + "$ref": "#/$defs/Sampler" + } + } + }, + "ParentBasedSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "root": { + description: "Configure root sampler.\n \ +If omitted or null, always_on is used.", + "$ref": "#/$defs/Sampler" + }, + "remote_parent_sampled": { + description: "Configure remote_parent_sampled sampler.\n \ +If omitted or null, always_on is used.", + "$ref": "#/$defs/Sampler" + }, + "remote_parent_not_sampled": { + description: "Configure remote_parent_not_sampled sampler.\n \ +If omitted or null, always_off is used.", + "$ref": "#/$defs/Sampler" + }, + "local_parent_sampled": { + description: "Configure local_parent_sampled sampler.\n \ +If omitted or null, always_on is used.", + "$ref": "#/$defs/Sampler" + }, + "local_parent_not_sampled": { + description: "Configure local_parent_not_sampled sampler.\n \ +If omitted or null, always_off is used.", + "$ref": "#/$defs/Sampler" + } + } + }, + "ExperimentalProbabilitySampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "ratio": { + description: "Configure ratio.\n \ +If omitted or null, 1.0 is used.", + "type": [ + "number", + "null" + ], + "minimum": 0, + "maximum": 1 + } + } + }, + "TraceIdRatioBasedSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "ratio": { + description: "Configure trace_id_ratio.\n \ +If omitted or null, 1.0 is used.", + "type": [ + "number", + "null" + ], + "minimum": 0, + "maximum": 1 + } + } + }, + "ExperimentalComposableAlwaysOffSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalComposableAlwaysOnSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalComposableParentBasedSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "root": { + description: "Configures the sampler for spans with no parent.", + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "remote_parent_sampled": { + description: "Configures the sampler for spans with a remote parent that is sampled.", + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "remote_parent_not_sampled": { + description: "Configures the sampler for spans with a remote parent that is not sampled.", + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "local_parent_sampled": { + description: "Configures the sampler for spans with a local parent that is sampled.", + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "local_parent_not_sampled": { + description: "Configures the sampler for spans with a local parent that is not sampled.", + "$ref": "#/$defs/ExperimentalComposableSampler" + } + } + }, + "ExperimentalComposableProbabilitySampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "ratio": { + description: "Configure ratio.\n \ +If omitted or null, 1.0 is used.", + "type": [ + "number", + "null" + ], + "minimum": 0, + "maximum": 1 + } + } + }, + "ExperimentalComposableSampler": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + properties: { + "always_off": { + description: "Configure sampler to be always_off.", + "$ref": "#/$defs/ExperimentalComposableAlwaysOffSampler" + }, + "always_on": { + description: "Configure sampler to be always_on.", + "$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler" + }, + "parent_based": { + description: "Configure sampler to be parent_based.", + "$ref": "#/$defs/ExperimentalComposableParentBasedSampler" + }, + "probability": { + description: "Configure sampler to be probability.", + "$ref": "#/$defs/ExperimentalComposableProbabilitySampler" + } + } + }, + "SimpleSpanProcessor": { + "type": "object", + "additionalProperties": false, + properties: { + "exporter": { + description: "Configure exporter.", + "$ref": "#/$defs/SpanExporter" + } + }, + "required": [ + "exporter" + ] + }, + "SpanExporter": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + properties: { + "otlp_http": { + description: "Configure exporter to be OTLP with HTTP transport.", + "$ref": "common.json#/$defs/OtlpHttpExporter" + }, + "otlp_grpc": { + description: "Configure exporter to be OTLP with gRPC transport.", + "$ref": "common.json#/$defs/OtlpGrpcExporter" + }, + "otlp_file/development": { + description: "Configure exporter to be OTLP with file transport.", + "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter" + }, + "console": { + description: "Configure exporter to be console.", + "$ref": "common.json#/$defs/ConsoleExporter" + }, + "zipkin": { + description: "Configure exporter to be zipkin.", + "$ref": "#/$defs/ZipkinSpanExporter" + } + } + }, + "SpanLimits": { + "type": "object", + "additionalProperties": false, + properties: { + "attribute_value_length_limit": { + description: "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \n \ +Value must be non-negative.\n \ +If omitted or null, there is no limit.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "attribute_count_limit": { + description: "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. \n \ +Value must be non-negative.\n \ +If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "event_count_limit": { + description: "Configure max span event count. \n \ +Value must be non-negative.\n \ +If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "link_count_limit": { + description: "Configure max span link count. \n \ +Value must be non-negative.\n \ +If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "event_attribute_count_limit": { + description: "Configure max attributes per span event. \n \ +Value must be non-negative.\n \ +If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "link_attribute_count_limit": { + description: "Configure max attributes per span link. \n \ +Value must be non-negative.\n \ +If omitted or null, 128 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + } + } + }, + "SpanProcessor": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + properties: { + "batch": { + description: "Configure a batch span processor.", + "$ref": "#/$defs/BatchSpanProcessor" + }, + "simple": { + description: "Configure a simple span processor.", + "$ref": "#/$defs/SimpleSpanProcessor" + } + } + }, + "ZipkinSpanExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "endpoint": { + description: "Configure endpoint.\n \ +If omitted or null, http://localhost:9411/api/v2/spans is used.", + "type": [ + "string", + "null" + ] + }, + "timeout": { + description: "Configure max time (in milliseconds) to wait for each export.\n \ +Value must be non-negative. A value of 0 indicates indefinite.\n \ +If omitted or null, 10000 is used.", + "type": [ + "integer", + "null" + ], + "minimum": 0 + } + } + }, + "ExperimentalTracerConfigurator": { + "type": [ + "object" + ], + "additionalProperties": false, + properties: { + "default_config": { + description: "Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers.", + "$ref": "#/$defs/ExperimentalTracerConfig" + }, + "tracers": { + description: "Configure tracers.", + "type": "array", + "items": { + "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig" + } + } + } + }, + "ExperimentalTracerMatcherAndConfig": { + "type": [ + "object" + ], + "additionalProperties": false, + properties: { + "name": { + description: "Configure tracer names to match, evaluated as follows:\n \ +\n \ +* If the tracer name exactly matches.\n \ +* If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.", + "type": [ + "string" + ] + }, + "config": { + description: "The tracer config.", + "$ref": "#/$defs/ExperimentalTracerConfig" + } + } + }, + "ExperimentalTracerConfig": { + "type": [ + "object" + ], + "additionalProperties": false, + properties: { + "disabled": { + description: "Configure if the tracer is enabled or not.", + "type": [ + "boolean" + ] + } + } + } + } +} \ No newline at end of file diff --git a/scripts/generate-descriptions.js b/scripts/generate-descriptions.js index 2faf123a..4d300218 100644 --- a/scripts/generate-descriptions.js +++ b/scripts/generate-descriptions.js @@ -35,6 +35,9 @@ const { messages, metaSchema } = readAndFixMetaSchema(); const metaSchemaTypesByType = {}; metaSchema.types.forEach(type => metaSchemaTypesByType[type.type] = type); if (messages.length > 0) { + if (options['debug'] == true) { + console.log(messages) + } throw new Error("Meta schema has problems. Please run fix-meta-schema and try again."); } const jsonSchemaTypesByType = {}; @@ -77,7 +80,7 @@ yaml.visit(fileDoc, { debug(`No meta schema property ${propertyKey} for type ${metaSchemaType.type}.`); return; } - let fullDescription = metaSchemaProperty.description; + let fullDescription = jsonSchemaType.schema.properties[propertyKey].description ? jsonSchemaType.schema.properties[propertyKey].description : "TODO"; if (isExperimentalProperty(metaSchemaProperty.property)) { if (!fullDescription.endsWith('\n')) { fullDescription += '\n'; @@ -88,8 +91,7 @@ yaml.visit(fileDoc, { // Set the description let formattedDescription = fullDescription - .replace(/\n$/, '') - .split('\n') + .split('\\') .map(line => ' ' + line) .join('\n'); // If we're on the first element, prefix the formatted description with the existing commentBefore to retain the comments at the top of the file diff --git a/scripts/generate-markdown.js b/scripts/generate-markdown.js index d5f88d71..80cea935 100644 --- a/scripts/generate-markdown.js +++ b/scripts/generate-markdown.js @@ -84,7 +84,8 @@ metaSchema.types.forEach(metaSchemaType => { if (formattedConstraints.length === 0) { formattedConstraints = 'No constraints.'; } - const formattedDescription = property.description.split("\n").join("
"); + let fullDescription = jsonSchemaProperty.schema.description ? jsonSchemaProperty.schema.description : "TODO"; + const formattedDescription = fullDescription.split("\n").join("
"); output.push(`| ${formattedProperty} | ${formattedPropertyType} | \`${isRequired}\` | ${formattedConstraints} | ${formattedDescription} |\n`); }); diff --git a/scripts/meta-schema.js b/scripts/meta-schema.js index 8bd8678e..45087527 100644 --- a/scripts/meta-schema.js +++ b/scripts/meta-schema.js @@ -151,11 +151,9 @@ export class MetaSchemaType { export class MetaSchemaProperty { property; - description; - constructor(property, description) { + constructor(property) { this.property = property; - this.description = description; } toJson() { @@ -164,8 +162,7 @@ export class MetaSchemaProperty { 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); + return new MetaSchemaProperty(property); } }