diff --git a/opentelemetry_configuration.json b/opentelemetry_configuration.json index f7c1bb8e..a7594cc4 100644 --- a/opentelemetry_configuration.json +++ b/opentelemetry_configuration.json @@ -18,7 +18,7 @@ }, "log_level": { "$ref": "#/$defs/SeverityNumber", - "description": "Configure the log level of the internal logger used by the SDK.\nIf omitted, INFO is used.\n" + "description": "Configure the log level of the internal logger used by the SDK.\nValues include:\n* DEBUG: DEBUG, severity number 5.\n* DEBUG2: DEBUG2, severity number 6.\n* DEBUG3: DEBUG3, severity number 7.\n* DEBUG4: DEBUG4, severity number 8.\n* ERROR: ERROR, severity number 17.\n* ERROR2: ERROR2, severity number 18.\n* ERROR3: ERROR3, severity number 19.\n* ERROR4: ERROR4, severity number 20.\n* FATAL: FATAL, severity number 21.\n* FATAL2: FATAL2, severity number 22.\n* FATAL3: FATAL3, severity number 23.\n* FATAL4: FATAL4, severity number 24.\n* INFO: INFO, severity number 9.\n* INFO2: INFO2, severity number 10.\n* INFO3: INFO3, severity number 11.\n* INFO4: INFO4, severity number 12.\n* TRACE: TRACE, severity number 1.\n* TRACE2: TRACE2, severity number 2.\n* TRACE3: TRACE3, severity number 3.\n* TRACE4: TRACE4, severity number 4.\n* WARN: WARN, severity number 13.\n* WARN2: WARN2, severity number 14.\n* WARN3: WARN3, severity number 15.\n* WARN4: WARN4, severity number 16.\nIf omitted, INFO is used.\n" }, "attribute_limits": { "$ref": "#/$defs/AttributeLimits", @@ -169,7 +169,7 @@ }, "type": { "$ref": "#/$defs/AttributeType", - "description": "The attribute type.\nValues include: string, bool, int, double, string_array, bool_array, int_array, double_array.\nIf omitted, string is used.\n" + "description": "The attribute type.\nValues include:\n* bool: Boolean attribute value.\n* bool_array: Boolean array attribute value.\n* double: Double attribute value.\n* double_array: Double array attribute value.\n* int: Integer attribute value.\n* int_array: Integer array attribute value.\n* string: String attribute value.\n* string_array: String array attribute value.\nIf omitted, string is used.\n" } }, "required": [ @@ -423,11 +423,11 @@ "properties": { "temporality_preference": { "$ref": "#/$defs/ExporterTemporalityPreference", - "description": "Configure temporality preference.\nValues 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.\nIf omitted, cumulative is used.\n" + "description": "Configure temporality preference.\nValues include:\n* cumulative: Use cumulative aggregation temporality for all instrument types.\n* delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n* low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\nIf omitted, cumulative is used.\n" }, "default_histogram_aggregation": { "$ref": "#/$defs/ExporterDefaultHistogramAggregation", - "description": "Configure default histogram aggregation.\nValues 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.\nIf omitted, explicit_bucket_histogram is used.\n" + "description": "Configure default histogram aggregation.\nValues include:\n* base2_exponential_bucket_histogram: TODO\n* explicit_bucket_histogram: TODO\nIf omitted, explicit_bucket_histogram is used.\n" } } }, @@ -738,7 +738,7 @@ }, "minimum_severity": { "$ref": "#/$defs/SeverityNumber", - "description": "Configure severity filtering.\nLog records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed.\nValues include: TRACE, TRACE2, TRACE3, TRACE4, DEBUG, DEBUG2, DEBUG3, DEBUG4, INFO, INFO2, INFO3, INFO4, WARN, WARN2, WARN3, WARN4, ERROR, ERROR2, ERROR3, ERROR4, FATAL, FATAL2, FATAL3, FATAL4.\nIf omitted, severity filtering is not applied.\n" + "description": "Configure severity filtering.\nLog records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed.\nValues include:\n* DEBUG: DEBUG, severity number 5.\n* DEBUG2: DEBUG2, severity number 6.\n* DEBUG3: DEBUG3, severity number 7.\n* DEBUG4: DEBUG4, severity number 8.\n* ERROR: ERROR, severity number 17.\n* ERROR2: ERROR2, severity number 18.\n* ERROR3: ERROR3, severity number 19.\n* ERROR4: ERROR4, severity number 20.\n* FATAL: FATAL, severity number 21.\n* FATAL2: FATAL2, severity number 22.\n* FATAL3: FATAL3, severity number 23.\n* FATAL4: FATAL4, severity number 24.\n* INFO: INFO, severity number 9.\n* INFO2: INFO2, severity number 10.\n* INFO3: INFO3, severity number 11.\n* INFO4: INFO4, severity number 12.\n* TRACE: TRACE, severity number 1.\n* TRACE2: TRACE2, severity number 2.\n* TRACE3: TRACE3, severity number 3.\n* TRACE4: TRACE4, severity number 4.\n* WARN: WARN, severity number 13.\n* WARN2: WARN2, severity number 14.\n* WARN3: WARN3, severity number 15.\n* WARN4: WARN4, severity number 16.\nIf omitted, severity filtering is not applied.\n" }, "trace_based": { "type": [ @@ -879,11 +879,11 @@ }, "temporality_preference": { "$ref": "#/$defs/ExporterTemporalityPreference", - "description": "Configure temporality preference.\nValues 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.\nIf omitted, cumulative is used.\n" + "description": "Configure temporality preference.\nValues include:\n* cumulative: Use cumulative aggregation temporality for all instrument types.\n* delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n* low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\nIf omitted, cumulative is used.\n" }, "default_histogram_aggregation": { "$ref": "#/$defs/ExporterDefaultHistogramAggregation", - "description": "Configure default histogram aggregation.\nValues 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.\nIf omitted, explicit_bucket_histogram is used.\n" + "description": "Configure default histogram aggregation.\nValues include:\n* base2_exponential_bucket_histogram: TODO\n* explicit_bucket_histogram: TODO\nIf omitted, explicit_bucket_histogram is used.\n" } } }, @@ -985,7 +985,7 @@ }, "translation_strategy": { "$ref": "#/$defs/ExperimentalPrometheusTranslationStrategy", - "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.\nIf omitted, UnderscoreEscapingWithSuffixes is used.\n" + "description": "Configure how Prometheus metrics are exposed.\nValues include:\n* NoTranslation: Special character escaping is disabled. Type and unit suffixes are disabled. Metric names are unaltered.\n* NoUTF8EscapingWithSuffixes: Special character escaping is disabled. Type and unit suffixes are enabled.\n* UnderscoreEscapingWithoutSuffixes: Special character escaping is enabled. Type and unit suffixes are disabled. This represents classic Prometheus metric name compatibility.\n* UnderscoreEscapingWithSuffixes: Special character escaping is enabled. Type and unit suffixes are enabled.\nIf omitted, UnderscoreEscapingWithSuffixes is used.\n" } } }, @@ -1393,7 +1393,7 @@ }, "exemplar_filter": { "$ref": "#/$defs/ExemplarFilter", - "description": "Configure the exemplar filter. \nValues 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.\nIf omitted, trace_based is used.\n" + "description": "Configure the exemplar filter. \nValues include:\n* always_off: ExemplarFilter which makes no measurements eligible for being an Exemplar.\n* always_on: ExemplarFilter which makes all measurements eligible for being an Exemplar.\n* trace_based: ExemplarFilter which makes measurements recorded in the context of a sampled parent span eligible for being an Exemplar.\nIf omitted, trace_based is used.\n" }, "meter_configurator/development": { "$ref": "#/$defs/ExperimentalMeterConfigurator", @@ -1510,7 +1510,7 @@ "string", "null" ], - "description": "Configure compression.\nValues include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n" + "description": "Configure compression.\nKnown values include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n" }, "timeout": { "type": [ @@ -1560,7 +1560,7 @@ "string", "null" ], - "description": "Configure compression.\nValues include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n" + "description": "Configure compression.\nKnown values include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n" }, "timeout": { "type": [ @@ -1572,11 +1572,11 @@ }, "temporality_preference": { "$ref": "#/$defs/ExporterTemporalityPreference", - "description": "Configure temporality preference.\nValues 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.\nIf omitted, cumulative is used.\n" + "description": "Configure temporality preference.\nValues include:\n* cumulative: Use cumulative aggregation temporality for all instrument types.\n* delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n* low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\nIf omitted, cumulative is used.\n" }, "default_histogram_aggregation": { "$ref": "#/$defs/ExporterDefaultHistogramAggregation", - "description": "Configure default histogram aggregation.\nValues 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.\nIf omitted, explicit_bucket_histogram is used.\n" + "description": "Configure default histogram aggregation.\nValues include:\n* base2_exponential_bucket_histogram: TODO\n* explicit_bucket_histogram: TODO\nIf omitted, explicit_bucket_histogram is used.\n" } } }, @@ -1628,7 +1628,7 @@ "string", "null" ], - "description": "Configure compression.\nValues include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n" + "description": "Configure compression.\nKnown values include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n" }, "timeout": { "type": [ @@ -1640,7 +1640,7 @@ }, "encoding": { "$ref": "#/$defs/OtlpHttpEncoding", - "description": "Configure the encoding used for messages. \nValues include: protobuf, json. Implementations may not support json.\nIf omitted, protobuf is used.\n" + "description": "Configure the encoding used for messages. \nImplementations may not support json.\nValues include:\n* json: Protobuf JSON encoding.\n* protobuf: Protobuf binary encoding.\nIf omitted, protobuf is used.\n" } } }, @@ -1682,7 +1682,7 @@ "string", "null" ], - "description": "Configure compression.\nValues include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n" + "description": "Configure compression.\nKnown values include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n" }, "timeout": { "type": [ @@ -1694,15 +1694,15 @@ }, "encoding": { "$ref": "#/$defs/OtlpHttpEncoding", - "description": "Configure the encoding used for messages. \nValues include: protobuf, json. Implementations may not support json.\nIf omitted, protobuf is used.\n" + "description": "Configure the encoding used for messages. \nImplementations may not support json.\nValues include:\n* json: Protobuf JSON encoding.\n* protobuf: Protobuf binary encoding.\nIf omitted, protobuf is used.\n" }, "temporality_preference": { "$ref": "#/$defs/ExporterTemporalityPreference", - "description": "Configure temporality preference.\nValues 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.\nIf omitted, cumulative is used.\n" + "description": "Configure temporality preference.\nValues include:\n* cumulative: Use cumulative aggregation temporality for all instrument types.\n* delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n* low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\nIf omitted, cumulative is used.\n" }, "default_histogram_aggregation": { "$ref": "#/$defs/ExporterDefaultHistogramAggregation", - "description": "Configure default histogram aggregation.\nValues 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.\nIf omitted, explicit_bucket_histogram is used.\n" + "description": "Configure default histogram aggregation.\nValues include:\n* base2_exponential_bucket_histogram: TODO\n* explicit_bucket_histogram: TODO\nIf omitted, explicit_bucket_histogram is used.\n" } } }, @@ -2236,7 +2236,7 @@ }, "instrument_type": { "$ref": "#/$defs/InstrumentType", - "description": "Configure instrument type selection criteria.\nValues include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.\nIf omitted, all instrument types match.\n" + "description": "Configure instrument type selection criteria.\nValues include:\n* counter: Synchronous counter instruments.\n* gauge: Synchronous gauge instruments.\n* histogram: Synchronous histogram instruments.\n* observable_counter: Asynchronous counter instruments.\n* observable_gauge: Asynchronous gauge instruments.\n* observable_up_down_counter: Asynchronous up down counter instruments.\n* up_down_counter: Synchronous up down counter instruments.\nIf omitted, all instrument types match.\n" }, "unit": { "type": [ @@ -2288,7 +2288,7 @@ }, "aggregation": { "$ref": "#/$defs/Aggregation", - "description": "Configure aggregation of the resulting stream(s). \nValues 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.\nIf omitted, default is used.\n" + "description": "Configure aggregation of the resulting stream(s). \nIf omitted, default is used.\n" }, "aggregation_cardinality_limit": { "type": [ diff --git a/schema-docs.md b/schema-docs.md index 2f56a425..2344270a 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -183,7 +183,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| | `name` | `string` | `true` | Property is required and must be non-null. | No constraints. | The attribute name.
| -| `type` | [`AttributeType`](#attributetype) | `false` | If omitted, string is used. | No constraints. | The attribute type.
Values include: string, bool, int, double, string_array, bool_array, int_array, double_array.
| +| `type` | [`AttributeType`](#attributetype) | `false` | If omitted, string is used. | No constraints. | The attribute type.
| | `value` | `oneOf` | `true` | Property is required and must be non-null. | No constraints. | The attribute value.
The type of value must match .type.
|
@@ -748,8 +748,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
|
Language support status @@ -1534,7 +1534,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| -| `exemplar_filter` | [`ExemplarFilter`](#exemplarfilter) | `false` | If omitted, trace_based is used. | No constraints. | Configure the exemplar filter.
Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration.
| +| `exemplar_filter` | [`ExemplarFilter`](#exemplarfilter) | `false` | If omitted, trace_based is used. | No constraints. | Configure the exemplar filter.
| | `readers` | `array` of [`MetricReader`](#metricreader) | `true` | Property is required and must be non-null. | * `minItems`: `1`
| Configure metric readers. | | `views` | `array` of [`View`](#view) | `false` | If omitted, no views are registered. | * `minItems`: `1`
| Configure views.
Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).
| | `meter_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | `false` | If omitted, all meters use default values as described in ExperimentalMeterConfig. | No constraints. | Configure meters.
| @@ -1886,7 +1886,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| -| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| +| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
| | `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| | `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | If omitted, no headers are added. | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| | `headers_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no headers are added. | No constraints. | Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| @@ -1969,12 +1969,12 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| -| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
| | `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint.
| | `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | If omitted, no headers are added. | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| | `headers_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no headers are added. | No constraints. | Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
| | `timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| | `tls` | [`GrpcTls`](#grpctls) | `false` | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. | @@ -2102,8 +2102,8 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| -| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| -| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
| +| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
| +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Implementations may not support json.
| | `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. | No constraints. | Configure endpoint, including the signal specific path.
| | `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | If omitted, no headers are added. | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| | `headers_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no headers are added. | No constraints. | Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| @@ -2190,13 +2190,13 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| -| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| -| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
| +| `compression` | one of:
* `string`
* `null`
| `false` | If omitted or null, none is used. | No constraints. | Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
| +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages.
Implementations may not support json.
| | `endpoint` | one of:
* `string`
* `null`
| `false` | If omitted or null, http://localhost:4318/v1/metrics is used. | No constraints. | Configure endpoint.
| | `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | If omitted, no headers are added. | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| | `headers_list` | one of:
* `string`
* `null`
| `false` | If omitted or null, no headers are added. | No constraints. | Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
| | `timeout` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 10000 is used. | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
| | `tls` | [`HttpTls`](#httptls) | `false` | If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. | @@ -3454,7 +3454,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| | `instrument_name` | one of:
* `string`
* `null`
| `false` | If omitted or null, all instrument names match. | No constraints. | Configure instrument name selection criteria.
| -| `instrument_type` | [`InstrumentType`](#instrumenttype) | `false` | If omitted, all instrument types match. | No constraints. | Configure instrument type selection criteria.
Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter.
| +| `instrument_type` | [`InstrumentType`](#instrumenttype) | `false` | If omitted, all instrument types match. | No constraints. | Configure instrument type selection criteria.
| | `meter_name` | one of:
* `string`
* `null`
| `false` | If omitted or null, all meter names match. | No constraints. | Configure meter name selection criteria.
| | `meter_schema_url` | one of:
* `string`
* `null`
| `false` | If omitted or null, all meter schema URLs match. | No constraints. | Configure meter schema url selection criteria.
| | `meter_version` | one of:
* `string`
* `null`
| `false` | If omitted or null, all meter versions match. | No constraints. | Configure meter version selection criteria.
| @@ -3530,7 +3530,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| -| `aggregation` | [`Aggregation`](#aggregation) | `false` | If omitted, default is used. | No constraints. | Configure aggregation of the resulting stream(s).
Values include: default, drop, explicit_bucket_histogram, base2_exponential_bucket_histogram, last_value, sum. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#aggregation.
| +| `aggregation` | [`Aggregation`](#aggregation) | `false` | If omitted, default is used. | No constraints. | Configure aggregation of the resulting stream(s).
| | `aggregation_cardinality_limit` | one of:
* `integer`
* `null`
| `false` | If omitted or null, the metric reader's default cardinality limit is used. | * `exclusiveMinimum`: `0`
| Configure the aggregation cardinality limit.
| | `attribute_keys` | [`IncludeExclude`](#includeexclude) | `false` | If omitted, all attribute keys are retained. | No constraints. | Configure attribute keys retained in the resulting stream(s).
| | `description` | one of:
* `string`
* `null`
| `false` | If omitted or null, the instrument's origin description is used. | No constraints. | Configure metric description of the resulting stream(s).
| @@ -4339,7 +4339,7 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| | `disabled` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, false is used. | No constraints. | Configure if the logger is enabled or not.
| -| `minimum_severity` | [`SeverityNumber`](#severitynumber) | `false` | If omitted, severity filtering is not applied. | No constraints. | Configure severity filtering.
Log records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed.
Values include: TRACE, TRACE2, TRACE3, TRACE4, DEBUG, DEBUG2, DEBUG3, DEBUG4, INFO, INFO2, INFO3, INFO4, WARN, WARN2, WARN3, WARN4, ERROR, ERROR2, ERROR3, ERROR4, FATAL, FATAL2, FATAL3, FATAL4.
| +| `minimum_severity` | [`SeverityNumber`](#severitynumber) | `false` | If omitted, severity filtering is not applied. | No constraints. | Configure severity filtering.
Log records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed.
| | `trace_based` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, trace based filtering is not applied. | No constraints. | Configure trace based filtering.
If true, log records associated with unsampled trace contexts traces are not processed. If false, or if a log record is not associated with a trace context, trace based filtering is not applied.
|
@@ -4699,9 +4699,9 @@ Usages: | Property | Type | Required? | Default and Null Behavior | Constraints | Description | |---|---|---|---|---|---| -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation.
| | `output_stream` | one of:
* `string`
* `null`
| `false` | If omitted or null, stdout is used. | No constraints. | Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
| +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | If omitted, cumulative is used. | No constraints. | Configure temporality preference.
|
Language support status @@ -4927,7 +4927,7 @@ Usages: |---|---|---|---|---|---| | `host` | one of:
* `string`
* `null`
| `false` | If omitted or null, localhost is used. | No constraints. | Configure host.
| | `port` | one of:
* `integer`
* `null`
| `false` | If omitted or null, 9464 is used. | No constraints. | Configure port.
| -| `translation_strategy` | [`ExperimentalPrometheusTranslationStrategy`](#experimentalprometheustranslationstrategy) | `false` | If omitted, UnderscoreEscapingWithSuffixes is used. | 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.
| +| `translation_strategy` | [`ExperimentalPrometheusTranslationStrategy`](#experimentalprometheustranslationstrategy) | `false` | If omitted, UnderscoreEscapingWithSuffixes is used. | No constraints. | Configure how Prometheus metrics are exposed. | | `with_resource_constant_labels` | [`IncludeExclude`](#includeexclude) | `false` | If omitted, no resource attributes are added. | No constraints. | Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. | | `without_scope_info` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, false is used. | No constraints. | Configure Prometheus Exporter to produce metrics without a scope info metric.
| | `without_target_info` | one of:
* `boolean`
* `null`
| `false` | If omitted or null, false is used. | No constraints. | Configure Prometheus Exporter to produce metrics without a target info metric for the resource.
| diff --git a/schema/common.yaml b/schema/common.yaml index b1446539..79f000b6 100644 --- a/schema/common.yaml +++ b/schema/common.yaml @@ -81,7 +81,7 @@ $defs: - "null" description: | Configure compression. - Values include: gzip, none. Implementations may support other compression algorithms. + Known values include: gzip, none. Implementations may support other compression algorithms. defaultBehavior: none is used timeout: type: @@ -96,7 +96,7 @@ $defs: $ref: "#/$defs/OtlpHttpEncoding" description: | Configure the encoding used for messages. - Values include: protobuf, json. Implementations may not support json. + Implementations may not support json. defaultBehavior: protobuf is used OtlpHttpEncoding: type: @@ -148,7 +148,7 @@ $defs: - "null" description: | Configure compression. - Values include: gzip, none. Implementations may support other compression algorithms. + Known values include: gzip, none. Implementations may support other compression algorithms. defaultBehavior: none is used timeout: type: diff --git a/schema/logger_provider.yaml b/schema/logger_provider.yaml index d3b20683..202a4f80 100644 --- a/schema/logger_provider.yaml +++ b/schema/logger_provider.yaml @@ -190,7 +190,6 @@ $defs: description: | Configure severity filtering. Log records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed. - Values include: TRACE, TRACE2, TRACE3, TRACE4, DEBUG, DEBUG2, DEBUG3, DEBUG4, INFO, INFO2, INFO3, INFO4, WARN, WARN2, WARN3, WARN4, ERROR, ERROR2, ERROR3, ERROR4, FATAL, FATAL2, FATAL3, FATAL4. defaultBehavior: severity filtering is not applied trace_based: type: diff --git a/schema/meter_provider.yaml b/schema/meter_provider.yaml index 432d6276..96e237a0 100644 --- a/schema/meter_provider.yaml +++ b/schema/meter_provider.yaml @@ -20,7 +20,6 @@ properties: $ref: "#/$defs/ExemplarFilter" 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. defaultBehavior: trace_based is used meter_configurator/development: $ref: "#/$defs/ExperimentalMeterConfigurator" @@ -273,14 +272,7 @@ $defs: defaultBehavior: no resource attributes are added translation_strategy: $ref: "#/$defs/ExperimentalPrometheusTranslationStrategy" - 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. - + description: Configure how Prometheus metrics are exposed. defaultBehavior: UnderscoreEscapingWithSuffixes is used ExperimentalPrometheusTranslationStrategy: type: @@ -372,7 +364,7 @@ $defs: - "null" description: | Configure compression. - Values include: gzip, none. Implementations may support other compression algorithms. + Known values include: gzip, none. Implementations may support other compression algorithms. defaultBehavior: none is used timeout: type: @@ -387,19 +379,17 @@ $defs: $ref: common.yaml#/$defs/OtlpHttpEncoding description: | Configure the encoding used for messages. - Values include: protobuf, json. Implementations may not support json. + Implementations may not support json. defaultBehavior: protobuf is used temporality_preference: $ref: "#/$defs/ExporterTemporalityPreference" 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. defaultBehavior: cumulative is used default_histogram_aggregation: $ref: "#/$defs/ExporterDefaultHistogramAggregation" 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. defaultBehavior: explicit_bucket_histogram is used OtlpGrpcMetricExporter: type: @@ -441,7 +431,7 @@ $defs: - "null" description: | Configure compression. - Values include: gzip, none. Implementations may support other compression algorithms. + Known values include: gzip, none. Implementations may support other compression algorithms. defaultBehavior: none is used timeout: type: @@ -456,13 +446,11 @@ $defs: $ref: "#/$defs/ExporterTemporalityPreference" 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. defaultBehavior: cumulative is used default_histogram_aggregation: $ref: "#/$defs/ExporterDefaultHistogramAggregation" 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. defaultBehavior: explicit_bucket_histogram is used ExperimentalOtlpFileMetricExporter: type: @@ -482,13 +470,11 @@ $defs: $ref: "#/$defs/ExporterTemporalityPreference" 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. defaultBehavior: cumulative is used default_histogram_aggregation: $ref: "#/$defs/ExporterDefaultHistogramAggregation" 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. defaultBehavior: explicit_bucket_histogram is used ConsoleMetricExporter: type: @@ -500,13 +486,11 @@ $defs: $ref: "#/$defs/ExporterTemporalityPreference" 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. defaultBehavior: cumulative is used default_histogram_aggregation: $ref: "#/$defs/ExporterDefaultHistogramAggregation" 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. defaultBehavior: explicit_bucket_histogram is used View: type: object @@ -538,7 +522,6 @@ $defs: $ref: "#/$defs/InstrumentType" description: | Configure instrument type selection criteria. - Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter. defaultBehavior: all instrument types match unit: type: @@ -610,7 +593,6 @@ $defs: $ref: "#/$defs/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. defaultBehavior: default is used aggregation_cardinality_limit: type: diff --git a/schema/resource.yaml b/schema/resource.yaml index e4796512..0b0c13e9 100644 --- a/schema/resource.yaml +++ b/schema/resource.yaml @@ -63,7 +63,6 @@ $defs: $ref: "#/$defs/AttributeType" description: | The attribute type. - Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. defaultBehavior: string is used required: - name diff --git a/scripts/compile-schema.js b/scripts/compile-schema.js index 8c3ffeea..3d03d584 100644 --- a/scripts/compile-schema.js +++ b/scripts/compile-schema.js @@ -27,14 +27,14 @@ sourceTypes.sort((a, b) => a.type.localeCompare(b.type)); const defs = {}; sourceTypes.filter(sourceSchemaType => sourceSchemaType.type !== rootTypeName) .forEach(sourceSchemaType => { - defs[sourceSchemaType.type] = prepareSchemaForOutput(sourceSchemaType); + defs[sourceSchemaType.type] = prepareSchemaForOutput(sourceSchemaType, sourceTypes); }); const rootType = sourceTypes.find(sourceSchemaType => sourceSchemaType.type === rootTypeName); if (!rootType) { throw new Error(`Root type ${rootTypeName} not found in source schema.`); } -const rootTypeSchema = prepareSchemaForOutput(rootType); +const rootTypeSchema = prepareSchemaForOutput(rootType, sourceTypes); const output = { "$id": "https://opentelemetry.io/otelconfig/opentelemetry_configuration.json", @@ -48,14 +48,14 @@ fs.writeFileSync(schemaPath, JSON.stringify(output, null, 2)); // Helper functions -function prepareSchemaForOutput(sourceSchemaType) { +function prepareSchemaForOutput(sourceSchemaType, sourceTypes) { const schema = JSON.parse(JSON.stringify(sourceSchemaType.schema)); delete schema['$defs']; stripMetadata(schema); replaceCrossFileRefs(schema); - enrichDescriptions(sourceSchemaType, schema); + enrichDescriptions(sourceSchemaType, schema, sourceTypes); return schema; } @@ -94,7 +94,7 @@ function replaceCrossFileRefs(schema) { }); } -function enrichDescriptions(sourceSchemaType, schema) { +function enrichDescriptions(sourceSchemaType, schema, sourceTypes) { const properties = schema.properties; if (!properties) { return; @@ -102,9 +102,20 @@ function enrichDescriptions(sourceSchemaType, schema) { Object.entries(properties).forEach(([propertyKey, propertySchema]) => { const sourceProperty = sourceSchemaType.properties.find(property => property.property === propertyKey); let description = propertySchema['description']; - if (!description.endsWith('\n')) { - description += '\n'; + + // Add enum value descriptions if property is an enum type + const enumSourceType = sourceProperty.types.map(type => sourceTypes.find(sourceType => sourceType.type === type)).find(sourceType => sourceType && sourceType.isEnumType()); + if (enumSourceType) { + description = maybeAddLineBreak(description); + description += 'Values include:\n'; + enumSourceType.sortedEnumValues().forEach(enumValue => { + const enumDescription = enumSourceType.schema['enumDescriptions'][enumValue]; + description += `* ${enumValue}: ${enumDescription}\n`; + }); } + + // Add default and null behavior + description = maybeAddLineBreak(description) description += sourceProperty.formatDefaultAndNullBehavior(); if (!description.endsWith('\n')) { description += '\n'; @@ -113,6 +124,13 @@ function enrichDescriptions(sourceSchemaType, schema) { }); } +function maybeAddLineBreak(str) { + if (!str.endsWith('\n')) { + return str + '\n'; + } + return str; +} + // Validation functions function allPropertiesShouldHaveDescriptions(sourceSchemaType, messages) {