From 4727d056c8d16087059cbbe7741a401e25bbf2a8 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 12:51:13 -0800 Subject: [PATCH 01/22] WIP: experiment with json5 This tries using json5 as the source of truth for the schema files. This allows us to use multi lines for descriptions, and a slightly less verbose json syntax. locally i'm using a json5 utility to generate the .json schema. Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- schema/meta_schema_types.yaml | 29 ------ schema/opentelemetry_configuration.json | 32 +++++-- schema/opentelemetry_configuration.json5 | 107 +++++++++++++++++++++++ 3 files changed, 134 insertions(+), 34 deletions(-) create mode 100644 schema/opentelemetry_configuration.json5 diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index abd05523..47e5d1b2 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -646,44 +646,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: [] diff --git a/schema/opentelemetry_configuration.json b/schema/opentelemetry_configuration.json index c860f540..aed1233f 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. The yaml format is documented at 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. 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. 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. If omitted, a noop logger provider is used.", "$ref": "#/$defs/LoggerProvider" }, "meter_provider": { + "description": "Configure meter provider. If omitted, a noop meter provider is used.", "$ref": "#/$defs/MeterProvider" }, "propagator": { + "description": "Configure text map context propagators. If omitted, a noop propagator is used.", "$ref": "#/$defs/Propagator" }, "tracer_provider": { + "description": "Configure tracer provider. If omitted, a noop tracer provider is used.", "$ref": "#/$defs/TracerProvider" }, "resource": { + "description": "Configure resource for all signals. If omitted, the default resource is used.", "$ref": "#/$defs/Resource" }, "instrumentation/development": { + "description": "Configure instrumentation.", "$ref": "#/$defs/ExperimentalInstrumentation" } }, @@ -45,11 +61,17 @@ "additionalProperties": false, "properties": { "attribute_value_length_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "attribute_count_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 } } @@ -73,4 +95,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..406fc643 --- /dev/null +++ b/schema/opentelemetry_configuration.json5 @@ -0,0 +1,107 @@ +{ + $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. \ +The yaml format is documented at \ +https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema", + type: "string" + }, + disabled: { + description: "Configure if the SDK is disabled or not. \ +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. \ +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. \ +If omitted, a noop logger provider is used.", + $ref: "#/$defs/LoggerProvider" + }, + "meter_provider": { + description: "Configure meter provider. \ +If omitted, a noop meter provider is used.", + $ref: "#/$defs/MeterProvider" + }, + "propagator": { + description: "Configure text map context propagators. \ +If omitted, a noop propagator is used.", + $ref: "#/$defs/Propagator" + }, + "tracer_provider": { + description: "Configure tracer provider. \ +If omitted, a noop tracer provider is used.", + $ref: "#/$defs/TracerProvider" + }, + "resource": { + description: "Configure resource for all signals. \ +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": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "attribute_count_limit": { + "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 From 5faf8557f813f291ba1d4803c3d658c84a504742 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:01:05 -0800 Subject: [PATCH 02/22] add logger provider description via json5 Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- schema/logger_provider.json | 84 +++++++++++++--- schema/logger_provider.json5 | 189 +++++++++++++++++++++++++++++++++++ 2 files changed, 259 insertions(+), 14 deletions(-) create mode 100644 schema/logger_provider.json5 diff --git a/schema/logger_provider.json b/schema/logger_provider.json index d9063c79..ba2aaafb 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. Value must be non-negative. 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. Value must be non-negative. A value of 0 indicates no limit (infinity). 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. 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. 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. Value must be non-negative. 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. Value must be non-negative. 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: * 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.", + "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..bae5608b --- /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. \ +Value must be non-negative. \ +If omitted or null, 1000 is used.", + "type": ["integer", "null"], + "minimum": 0 + }, + "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.", + "type": ["integer", "null"], + "minimum": 0 + }, + "max_queue_size": { + description: "Configure maximum queue size. Value must be positive. \ +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. \ +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. \ +Value must be non-negative. \ +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. \ +Value must be non-negative. \ +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: \ +\ +* 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.", + "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"] + } + } + } + } +} From 4baecc0d6badf606d5c6b5b885c1ce320c92fd3e Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:02:17 -0800 Subject: [PATCH 03/22] update scripts and run generate Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 956 ++++++++++------------------- examples/sdk-config.yaml | 258 +++----- examples/sdk-migration-config.yaml | 276 +++------ schema-docs.md | 489 ++++++++------- schema/meta_schema_types.yaml | 45 -- scripts/generate-descriptions.js | 8 +- scripts/generate-markdown.js | 3 +- scripts/meta-schema.js | 7 +- 8 files changed, 765 insertions(+), 1277 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index ed65b3b3..a3e405af 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -7,88 +7,59 @@ # The file format version. # The yaml format is documented at -# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema TODO The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema file_format: "1.0-rc.2" -# Configure if the SDK is disabled or not. -# If omitted or null, false is used. +# Configure if the SDK is disabled or not. If omitted or null, false is used. disabled: false -# Configure the log level of the internal logger used by the SDK. -# If omitted, info is used. +# Configure the log level of the internal logger used by the SDK. If omitted, info is used. log_level: info # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # Configure max attribute value size. - # Value must be non-negative. - # If omitted or null, there is no limit. + # TODO attribute_value_length_limit: 4096 - # Configure max attribute count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO attribute_count_limit: 128 -# Configure logger provider. -# If omitted, a noop logger provider is used. +# Configure logger provider. If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. processors: - # Configure a batch log record processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. - # Value must be non-negative. - # If omitted or null, 1000 is used. + # Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used. schedule_delay: 5000 - # 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. + # 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 - # Configure maximum queue size. Value must be positive. - # If omitted or null, 2048 is used. + # Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used. max_queue_size: 2048 - # Configure maximum batch size. Value must be positive. - # If omitted or null, 512 is used. + # Configure maximum batch size. Value must be positive. If omitted or null, 512 is used. max_export_batch_size: 512 # Configure exporter. exporter: # Configure exporter to be OTLP with HTTP transport. otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: http://localhost:4318/v1/logs - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: /app/cert.pem - # 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. + # TODO client_key_file: /app/cert.pem - # 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. + # TODO client_certificate_file: /app/cert.pem - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: - - # The name of the pair. + - # TODO name: api-key - # The value of the pair. + # TODO value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - # Configure the encoding used for messages. - # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. + # TODO encoding: protobuf - # Configure a batch log record processor. batch: @@ -96,67 +67,47 @@ logger_provider: exporter: # Configure exporter to be OTLP with gRPC transport. otlp_grpc: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. + # TODO endpoint: http://localhost:4317 - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: /app/cert.pem - # 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. + # TODO client_key_file: /app/cert.pem - # 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. + # TODO client_certificate_file: /app/cert.pem - # 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. + # TODO insecure: false - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: - - # The name of the pair. + - # TODO name: api-key - # The value of the pair. + # TODO value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - # Configure a batch log record processor. batch: # 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. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. + # TODO output_stream: file:///var/log/logs.jsonl - # Configure a batch log record processor. batch: # 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. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. + # TODO output_stream: stdout - # Configure a simple log record processor. simple: @@ -166,16 +117,12 @@ logger_provider: console: # Configure log record limits. See also attribute_limits. limits: - # 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. + # 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. - # Value must be non-negative. - # If omitted or null, 128 is used. + # 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: @@ -183,332 +130,218 @@ logger_provider: disabled: true # 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. + - # 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: io.opentelemetry.contrib.* # The logger config. config: # Configure if the logger is enabled or not. disabled: false -# Configure meter provider. -# If omitted, a noop meter provider is used. +# Configure meter provider. If omitted, a noop meter provider is used. meter_provider: - # Configure metric readers. + # TODO readers: - - # Configure a pull based metric reader. + - # TODO pull: - # Configure exporter. + # TODO exporter: - # Configure exporter to be prometheus. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #This property is experimental and subject to breaking changes in minor versions. prometheus/development: - # Configure host. - # If omitted or null, localhost is used. + # TODO host: localhost - # Configure port. - # If omitted or null, 9464 is used. + # TODO port: 9464 - # Configure Prometheus Exporter to produce metrics without a scope info metric. - # If omitted or null, false is used. + # TODO without_scope_info: false - # Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. + # TODO with_resource_constant_labels: - # Configure list of value patterns to include. - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, all values are included. + # TODO included: - "service*" - # Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, .included attributes are included. + # TODO 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. - # - # If omitted or null, UnderscoreEscapingWithSuffixes is used. + # TODO translation_strategy: UnderscoreEscapingWithSuffixes - # Configure metric producers. + # TODO producers: - - # Configure metric producer to be opencensus. + - # TODO opencensus: - # Configure cardinality limits. + # TODO cardinality_limits: - # Configure default cardinality limit for all instrument types. - # Instrument-specific cardinality limits take priority. - # If omitted or null, 2000 is used. + # TODO default: 2000 - # Configure default cardinality limit for counter instruments. - # If omitted or null, the value from .default is used. + # TODO counter: 2000 - # Configure default cardinality limit for gauge instruments. - # If omitted or null, the value from .default is used. + # TODO gauge: 2000 - # Configure default cardinality limit for histogram instruments. - # If omitted or null, the value from .default is used. + # TODO histogram: 2000 - # Configure default cardinality limit for observable_counter instruments. - # If omitted or null, the value from .default is used. + # TODO observable_counter: 2000 - # Configure default cardinality limit for observable_gauge instruments. - # If omitted or null, the value from .default is used. + # TODO observable_gauge: 2000 - # Configure default cardinality limit for observable_up_down_counter instruments. - # If omitted or null, the value from .default is used. + # TODO observable_up_down_counter: 2000 - # Configure default cardinality limit for up_down_counter instruments. - # If omitted or null, the value from .default is used. + # TODO up_down_counter: 2000 - - # Configure a periodic metric reader. + - # TODO periodic: - # Configure delay interval (in milliseconds) between start of two consecutive exports. - # Value must be non-negative. - # If omitted or null, 60000 is used. + # TODO interval: 60000 - # 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. + # TODO timeout: 30000 - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with HTTP transport. + # TODO otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: http://localhost:4318/v1/metrics - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: /app/cert.pem - # 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. + # TODO client_key_file: /app/cert.pem - # 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. + # TODO client_certificate_file: /app/cert.pem - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: - - # The name of the pair. + - # TODO name: api-key - # The value of the pair. + # TODO value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - # Configure the encoding used for messages. - # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. + # TODO encoding: protobuf - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # TODO temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure metric producers. + # TODO producers: - - # Configure metric producer to be opencensus. + - # TODO opencensus: - # Configure cardinality limits. + # TODO cardinality_limits: - # Configure default cardinality limit for all instrument types. - # Instrument-specific cardinality limits take priority. - # If omitted or null, 2000 is used. + # TODO default: 2000 - # Configure default cardinality limit for counter instruments. - # If omitted or null, the value from .default is used. + # TODO counter: 2000 - # Configure default cardinality limit for gauge instruments. - # If omitted or null, the value from .default is used. + # TODO gauge: 2000 - # Configure default cardinality limit for histogram instruments. - # If omitted or null, the value from .default is used. + # TODO histogram: 2000 - # Configure default cardinality limit for observable_counter instruments. - # If omitted or null, the value from .default is used. + # TODO observable_counter: 2000 - # Configure default cardinality limit for observable_gauge instruments. - # If omitted or null, the value from .default is used. + # TODO observable_gauge: 2000 - # Configure default cardinality limit for observable_up_down_counter instruments. - # If omitted or null, the value from .default is used. + # TODO observable_up_down_counter: 2000 - # Configure default cardinality limit for up_down_counter instruments. - # If omitted or null, the value from .default is used. + # TODO up_down_counter: 2000 - - # Configure a periodic metric reader. + - # TODO periodic: - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with gRPC transport. + # TODO otlp_grpc: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. + # TODO endpoint: http://localhost:4317 - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: /app/cert.pem - # 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. + # TODO client_key_file: /app/cert.pem - # 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. + # TODO client_certificate_file: /app/cert.pem - # 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. + # TODO insecure: false - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: - - # The name of the pair. + - # TODO name: api-key - # The value of the pair. + # TODO value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # TODO temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - - # Configure a periodic metric reader. + - # TODO periodic: - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. + # TODO output_stream: file:///var/log/metrics.jsonl - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # TODO temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - - # Configure a periodic metric reader. + - # TODO periodic: - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. + # TODO output_stream: stdout - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # TODO temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - - # Configure a periodic metric reader. + - # TODO periodic: - # Configure exporter. + # TODO exporter: - # Configure exporter to be console. + # TODO console: - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # TODO temporality_preference: delta - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure views. - # Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). + # TODO views: - - # Configure view selector. - # Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria. + - # TODO selector: - # Configure instrument name selection criteria. - # If omitted or null, all instrument names match. + # TODO instrument_name: my-instrument - # Configure instrument type selection criteria. - # Values include: counter, gauge, histogram, observable_counter, observable_gauge, observable_up_down_counter, up_down_counter. - # If omitted or null, all instrument types match. + # TODO instrument_type: histogram - # Configure the instrument unit selection criteria. - # If omitted or null, all instrument units match. + # TODO unit: ms - # Configure meter name selection criteria. - # If omitted or null, all meter names match. + # TODO meter_name: my-meter - # Configure meter version selection criteria. - # If omitted or null, all meter versions match. + # TODO meter_version: 1.0.0 - # Configure meter schema url selection criteria. - # If omitted or null, all meter schema URLs match. + # TODO meter_schema_url: https://opentelemetry.io/schemas/1.16.0 - # Configure view stream. + # TODO stream: - # Configure metric name of the resulting stream(s). - # If omitted or null, the instrument's original name is used. + # TODO name: new_instrument_name - # Configure metric description of the resulting stream(s). - # If omitted or null, the instrument's origin description is used. + # TODO description: new_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. + # TODO aggregation: - # Configure aggregation to be explicit_bucket_histogram. + # TODO explicit_bucket_histogram: - # Configure bucket boundaries. - # If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. + # TODO boundaries: [ 0.0, @@ -527,529 +360,384 @@ meter_provider: 7500.0, 10000.0 ] - # Configure record min and max. - # If omitted or null, true is used. + # TODO record_min_max: true - # Configure the aggregation cardinality limit. - # If omitted or null, the metric reader's default cardinality limit is used. + # TODO aggregation_cardinality_limit: 2000 - # Configure attribute keys retained in the resulting stream(s). + # TODO attribute_keys: - # Configure list of value patterns to include. - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, all values are included. + # TODO 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 omitted, .included attributes are included. + # TODO excluded: - key3 - # Configure the exemplar filter. - # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. - # If omitted or null, trace_based is used. + # TODO exemplar_filter: trace_based - # Configure meters. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #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. + # TODO default_config: - # Configure if the meter is enabled or not. + # TODO disabled: true - # Configure meters. + # TODO meters: - - # Configure meter names to match, evaluated as follows: - # - # * If the meter name exactly matches. - # * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. + - # TODO name: io.opentelemetry.contrib.* - # The meter config. + # TODO config: - # Configure if the meter is enabled or not. + # TODO disabled: false -# Configure text map context propagators. -# If omitted, a noop propagator is used. +# Configure text map context propagators. If omitted, a noop propagator is used. propagator: - # Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out. - # Built-in propagator keys include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party keys include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # TODO composite: - - # Include the w3c trace context propagator. + - # TODO tracecontext: - - # Include the w3c baggage propagator. + - # TODO baggage: - - # Include the zipkin b3 propagator. + - # TODO b3: - - # Include the zipkin b3 multi propagator. + - # TODO b3multi: - - # Include the jaeger propagator. + - # TODO jaeger: - - # Include the opentracing propagator. + - # TODO ottrace: - # Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out. - # The value is a comma separated list of propagator identifiers matching the format of OTEL_PROPAGATORS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. - # Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # TODO composite_list: "tracecontext,baggage,b3,b3multi,jaeger,ottrace,xray" -# Configure tracer provider. -# If omitted, a noop tracer provider is used. +# Configure tracer provider. If omitted, a noop tracer provider is used. tracer_provider: - # Configure span processors. + # TODO processors: - - # Configure a batch span processor. + - # TODO batch: - # Configure delay interval (in milliseconds) between two consecutive exports. - # Value must be non-negative. - # If omitted or null, 5000 is used. + # TODO schedule_delay: 5000 - # 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. + # TODO export_timeout: 30000 - # Configure maximum queue size. Value must be positive. - # If omitted or null, 2048 is used. + # TODO max_queue_size: 2048 - # Configure maximum batch size. Value must be positive. - # If omitted or null, 512 is used. + # TODO max_export_batch_size: 512 - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with HTTP transport. + # TODO otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: http://localhost:4318/v1/traces - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: /app/cert.pem - # 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. + # TODO client_key_file: /app/cert.pem - # 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. + # TODO client_certificate_file: /app/cert.pem - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: - - # The name of the pair. + - # TODO name: api-key - # The value of the pair. + # TODO value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - # Configure the encoding used for messages. - # Values include: protobuf, json. Implementations may not support json. - # If omitted or null, protobuf is used. + # TODO encoding: protobuf - - # Configure a batch span processor. + - # TODO batch: - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with gRPC transport. + # TODO otlp_grpc: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. + # TODO endpoint: http://localhost:4317 - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: /app/cert.pem - # 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. + # TODO client_key_file: /app/cert.pem - # 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. + # TODO client_certificate_file: /app/cert.pem - # 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. + # TODO insecure: false - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: - - # The name of the pair. + - # TODO name: api-key - # The value of the pair. + # TODO value: "1234" - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO headers_list: "api-key=1234" - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - - # Configure a batch span processor. + - # TODO batch: - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. + # TODO output_stream: file:///var/log/traces.jsonl - - # Configure a batch span processor. + - # TODO batch: - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with file transport. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # Configure output stream. - # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. - # If omitted or null, stdout is used. + # TODO output_stream: stdout - - # Configure a batch span processor. + - # TODO batch: - # Configure exporter. + # TODO exporter: - # Configure exporter to be zipkin. + # TODO zipkin: - # Configure endpoint. - # If omitted or null, http://localhost:9411/api/v2/spans is used. + # TODO endpoint: http://localhost:9411/api/v2/spans - # 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. + # TODO timeout: 10000 - - # Configure a simple span processor. + - # TODO simple: - # Configure exporter. + # TODO exporter: - # Configure exporter to be console. + # TODO console: - # Configure span limits. See also attribute_limits. + # TODO limits: - # 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. + # TODO attribute_value_length_limit: 4096 - # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO attribute_count_limit: 128 - # Configure max span event count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO event_count_limit: 128 - # Configure max span link count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO link_count_limit: 128 - # Configure max attributes per span event. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO event_attribute_count_limit: 128 - # Configure max attributes per span link. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO link_attribute_count_limit: 128 - # Configure the sampler. - # If omitted, parent based sampler with a root of always_on is used. + # TODO sampler: - # Configure sampler to be parent_based. + # TODO parent_based: - # Configure root sampler. - # If omitted or null, always_on is used. + # TODO root: - # Configure sampler to be trace_id_ratio_based. + # TODO trace_id_ratio_based: - # Configure trace_id_ratio. - # If omitted or null, 1.0 is used. + # TODO ratio: 0.0001 - # Configure remote_parent_sampled sampler. - # If omitted or null, always_on is used. + # TODO remote_parent_sampled: - # Configure sampler to be always_on. + # TODO always_on: - # Configure remote_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # TODO remote_parent_not_sampled: - # Configure sampler to be probability. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #This property is experimental and subject to breaking changes in minor versions. probability/development: - # Configure ratio. - # If omitted or null, 1.0 is used. + # TODO ratio: 0.01 - # Configure local_parent_sampled sampler. - # If omitted or null, always_on is used. + # TODO local_parent_sampled: - # Configure sampler to be composite. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #This property is experimental and subject to breaking changes in minor versions. composite/development: - # Configure sampler to be probability. + # TODO probability: - # Configure ratio. - # If omitted or null, 1.0 is used. + # TODO ratio: 0.001 - # Configure local_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # TODO local_parent_not_sampled: - # Configure sampler to be always_off. + # TODO always_off: - # Configure tracers. - # This property is experimental and subject to breaking changes in minor versions. + # TODO + #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. + # TODO default_config: - # Configure if the tracer is enabled or not. + # TODO disabled: true - # Configure tracers. + # TODO tracers: - - # Configure tracer names to match, evaluated as follows: - # - # * If the tracer name exactly matches. - # * If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. + - # TODO name: io.opentelemetry.contrib.* - # The tracer config. + # TODO config: - # Configure if the tracer is enabled or not. + # TODO disabled: false -# Configure resource for all signals. -# If omitted, the default resource is used. +# Configure resource for all signals. If omitted, the default resource is used. resource: - # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. + # TODO attributes: - - # The attribute name. + - # TODO name: service.name - # The attribute value. - # The type of value must match .type. + # TODO value: unknown_service - - # The attribute name. + - # TODO name: string_key - # The attribute value. - # The type of value must match .type. + # TODO value: value - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # TODO type: string - - # The attribute name. + - # TODO name: bool_key - # The attribute value. - # The type of value must match .type. + # TODO value: true - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # TODO type: bool - - # The attribute name. + - # TODO name: int_key - # The attribute value. - # The type of value must match .type. + # TODO value: 1 - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # TODO type: int - - # The attribute name. + - # TODO name: double_key - # The attribute value. - # The type of value must match .type. + # TODO value: 1.1 - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # TODO type: double - - # The attribute name. + - # TODO name: string_array_key - # The attribute value. - # The type of value must match .type. + # TODO value: [ "value1", "value2" ] - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # TODO type: string_array - - # The attribute name. + - # TODO name: bool_array_key - # The attribute value. - # The type of value must match .type. + # TODO value: [ true, false ] - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # TODO type: bool_array - - # The attribute name. + - # TODO name: int_array_key - # The attribute value. - # The type of value must match .type. + # TODO value: [ 1, 2 ] - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # TODO type: int_array - - # The attribute name. + - # TODO name: double_array_key - # The attribute value. - # The type of value must match .type. + # TODO value: [ 1.1, 2.2 ] - # The attribute type. - # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. - # If omitted or null, string is used. + # TODO type: double_array - # Configure resource attributes. Entries have lower priority than entries from .resource.attributes. - # The value is a list of comma separated key-value pairs matching the format of OTEL_RESOURCE_ATTRIBUTES. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. - # If omitted or null, no resource attributes are added. + # TODO 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. + # TODO + #This property is experimental and subject to breaking changes in minor versions. detection/development: - # Configure attributes provided by resource detectors. + # TODO attributes: - # Configure list of value patterns to include. - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, all values are included. + # TODO included: - process.* - # Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). - # Values are evaluated to match as follows: - # * If the value exactly matches. - # * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none. - # If omitted, .included attributes are included. + # TODO excluded: - process.command_args - # Configure resource detectors. - # Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. - # If omitted or null, no resource detectors are enabled. + # TODO detectors: - - # Enable the container resource detector, which populates container.* attributes. + - # TODO container: - - # Enable the host resource detector, which populates host.* and os.* attributes. + - # TODO host: - - # Enable the process resource detector, which populates process.* attributes. + - # TODO process: - - # Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id. + - # TODO service: - # Configure resource schema URL. - # If omitted or null, no schema URL is used. + # TODO 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.. + # TODO general: - # Configure instrumentations following the peer semantic conventions. - # See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/ + # TODO peer: - # Configure the service mapping for instrumentations following peer.service semantic conventions. - # See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes + # TODO service_mapping: - - # The IP address to map. + - # TODO peer: 1.2.3.4 - # The logical name corresponding to the IP address of .peer. + # TODO service: FooService - - # The IP address to map. + - # TODO peer: 2.3.4.5 - # The logical name corresponding to the IP address of .peer. + # TODO service: BarService - # Configure instrumentations following the http semantic conventions. - # See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ + # TODO http: - # Configure instrumentations following the http client semantic conventions. + # TODO client: - # Configure headers to capture for outbound http requests. + # TODO request_captured_headers: - Content-Type - Accept - # Configure headers to capture for inbound http responses. + # TODO response_captured_headers: - Content-Type - Content-Encoding - # Configure instrumentations following the http server semantic conventions. + # TODO server: - # Configure headers to capture for inbound http requests. + # TODO request_captured_headers: - Content-Type - Accept - # Configure headers to capture for outbound http responses. + # TODO response_captured_headers: - Content-Type - Content-Encoding - # Configure C++ language-specific instrumentation libraries. + # TODO cpp: example: property: "value" - # Configure .NET language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO dotnet: example: property: "value" - # Configure Erlang language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO erlang: example: property: "value" - # Configure Go language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO go: example: property: "value" - # Configure Java language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO java: example: property: "value" - # Configure JavaScript language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO js: example: property: "value" - # Configure PHP language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO php: example: property: "value" - # Configure Python language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO python: example: property: "value" - # Configure Ruby language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO ruby: example: property: "value" - # Configure Rust language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO rust: example: property: "value" - # Configure Swift language-specific instrumentation libraries. - # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. + # TODO swift: example: property: "value" diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 64ae6348..870e53a1 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -7,273 +7,179 @@ # The file format version. # The yaml format is documented at -# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema TODO The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema file_format: "1.0-rc.2" -# Configure if the SDK is disabled or not. -# If omitted or null, false is used. +# Configure if the SDK is disabled or not. If omitted or null, false is used. disabled: false -# Configure the log level of the internal logger used by the SDK. -# If omitted, info is used. +# Configure the log level of the internal logger used by the SDK. If omitted, info is used. log_level: info -# Configure resource for all signals. -# If omitted, the default resource is used. +# Configure resource for all signals. If omitted, the default resource is used. resource: - # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. + # TODO attributes: - - # The attribute name. + - # TODO name: service.name - # The attribute value. - # The type of value must match .type. + # TODO value: unknown_service # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # Configure max attribute value size. - # Value must be non-negative. - # If omitted or null, there is no limit. + # TODO attribute_value_length_limit: - # Configure max attribute count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO attribute_count_limit: 128 -# Configure text map context propagators. -# If omitted, a noop propagator is used. +# Configure text map context propagators. If omitted, a noop propagator is used. propagator: - # Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out. - # Built-in propagator keys include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party keys include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # TODO composite: - - # Include the w3c trace context propagator. + - # TODO tracecontext: - - # Include the w3c baggage propagator. + - # TODO baggage: -# Configure tracer provider. -# If omitted, a noop tracer provider is used. +# Configure tracer provider. If omitted, a noop tracer provider is used. tracer_provider: - # Configure span processors. + # TODO processors: - - # Configure a batch span processor. + - # TODO batch: - # Configure delay interval (in milliseconds) between two consecutive exports. - # Value must be non-negative. - # If omitted or null, 5000 is used. + # TODO schedule_delay: 5000 - # 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. + # TODO export_timeout: 30000 - # Configure maximum queue size. Value must be positive. - # If omitted or null, 2048 is used. + # TODO max_queue_size: 2048 - # Configure maximum batch size. Value must be positive. - # If omitted or null, 512 is used. + # TODO max_export_batch_size: 512 - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with HTTP transport. + # TODO otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: http://localhost:4318/v1/traces - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: - # 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. + # TODO client_key_file: - # 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. + # TODO client_certificate_file: - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: [] - # Configure span limits. See also attribute_limits. + # TODO limits: - # 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. + # TODO attribute_value_length_limit: - # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO attribute_count_limit: 128 - # Configure max span event count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO event_count_limit: 128 - # Configure max span link count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO link_count_limit: 128 - # Configure max attributes per span event. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO event_attribute_count_limit: 128 - # Configure max attributes per span link. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO link_attribute_count_limit: 128 - # Configure the sampler. - # If omitted, parent based sampler with a root of always_on is used. + # TODO sampler: - # Configure sampler to be parent_based. + # TODO parent_based: - # Configure root sampler. - # If omitted or null, always_on is used. + # TODO root: - # Configure sampler to be always_on. + # TODO always_on: - # Configure remote_parent_sampled sampler. - # If omitted or null, always_on is used. + # TODO remote_parent_sampled: - # Configure sampler to be always_on. + # TODO always_on: - # Configure remote_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # TODO remote_parent_not_sampled: - # Configure sampler to be always_off. + # TODO always_off: - # Configure local_parent_sampled sampler. - # If omitted or null, always_on is used. + # TODO local_parent_sampled: - # Configure sampler to be always_on. + # TODO always_on: - # Configure local_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # TODO local_parent_not_sampled: - # Configure sampler to be always_off. + # TODO always_off: -# Configure meter provider. -# If omitted, a noop meter provider is used. +# Configure meter provider. If omitted, a noop meter provider is used. meter_provider: - # Configure metric readers. + # TODO readers: - - # Configure a periodic metric reader. + - # TODO periodic: - # Configure delay interval (in milliseconds) between start of two consecutive exports. - # Value must be non-negative. - # If omitted or null, 60000 is used. + # TODO interval: 60000 - # 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. + # TODO timeout: 30000 - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with HTTP transport. + # TODO otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: http://localhost:4318/v1/metrics - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: - # 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. + # TODO client_key_file: - # 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. + # TODO client_certificate_file: - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: [] - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # TODO temporality_preference: cumulative - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # TODO default_histogram_aggregation: explicit_bucket_histogram - # Configure the exemplar filter. - # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. - # If omitted or null, trace_based is used. + # TODO exemplar_filter: trace_based -# Configure logger provider. -# If omitted, a noop logger provider is used. +# Configure logger provider. If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. processors: - # Configure a batch log record processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. - # Value must be non-negative. - # If omitted or null, 1000 is used. + # Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used. schedule_delay: 1000 - # 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. + # 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 - # Configure maximum queue size. Value must be positive. - # If omitted or null, 2048 is used. + # Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used. max_queue_size: 2048 - # Configure maximum batch size. Value must be positive. - # If omitted or null, 512 is used. + # Configure maximum batch size. Value must be positive. If omitted or null, 512 is used. max_export_batch_size: 512 # Configure exporter. exporter: # Configure exporter to be OTLP with HTTP transport. otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: http://localhost:4318/v1/logs - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: - # 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. + # TODO client_key_file: - # 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. + # TODO client_certificate_file: - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: gzip - # 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. + # TODO timeout: 10000 - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: [] # Configure log record limits. See also attribute_limits. limits: - # 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. + # 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. - # Value must be non-negative. - # If omitted or null, 128 is used. + # 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..39e0ab2e 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -33,293 +33,187 @@ # - OTEL_EXPORTER_OTLP_TIMEOUT # The file format version. -# The yaml format is documented at -# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# The yaml format is documented at# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema TODO The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema file_format: "1.0-rc.2" -# Configure if the SDK is disabled or not. -# If omitted or null, false is used. +# Configure if the SDK is disabled or not. If omitted or null, false is used. disabled: ${OTEL_SDK_DISABLED:-false} -# Configure the log level of the internal logger used by the SDK. -# If omitted, info is used. +# Configure the log level of the internal logger used by the SDK. If omitted, info is used. log_level: ${OTEL_LOG_LEVEL:-info} -# Configure resource for all signals. -# If omitted, the default resource is used. +# Configure resource for all signals. If omitted, the default resource is used. resource: - # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. + # TODO attributes: - - # The attribute name. + - # TODO name: service.name - # The attribute value. - # The type of value must match .type. + # TODO value: ${OTEL_SERVICE_NAME:-unknown_service} - # Configure resource attributes. Entries have lower priority than entries from .resource.attributes. - # The value is a list of comma separated key-value pairs matching the format of OTEL_RESOURCE_ATTRIBUTES. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. - # If omitted or null, no resource attributes are added. + # TODO attributes_list: ${OTEL_RESOURCE_ATTRIBUTES} # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # Configure max attribute value size. - # Value must be non-negative. - # If omitted or null, there is no limit. + # TODO attribute_value_length_limit: ${OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT} - # Configure max attribute count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO attribute_count_limit: ${OTEL_ATTRIBUTE_COUNT_LIMIT:-128} -# Configure text map context propagators. -# If omitted, a noop propagator is used. +# Configure text map context propagators. If omitted, a noop propagator is used. propagator: - # Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out. - # Built-in propagator keys include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party keys include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # TODO composite: [] - # Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out. - # The value is a comma separated list of propagator identifiers matching the format of OTEL_PROPAGATORS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. - # Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi, jaeger, ottrace. Known third party identifiers include: xray. - # If the resolved list of propagators (from .composite and .composite_list) is empty, a noop propagator is used. + # TODO composite_list: ${OTEL_PROPAGATORS:-tracecontext,baggage} -# Configure tracer provider. -# If omitted, a noop tracer provider is used. +# Configure tracer provider. If omitted, a noop tracer provider is used. tracer_provider: - # Configure span processors. + # TODO processors: - - # Configure a batch span processor. + - # TODO batch: - # Configure delay interval (in milliseconds) between two consecutive exports. - # Value must be non-negative. - # If omitted or null, 5000 is used. + # TODO schedule_delay: ${OTEL_BSP_SCHEDULE_DELAY:-5000} - # 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. + # TODO export_timeout: ${OTEL_BSP_EXPORT_TIMEOUT:-30000} - # Configure maximum queue size. Value must be positive. - # If omitted or null, 2048 is used. + # TODO max_queue_size: ${OTEL_BSP_MAX_QUEUE_SIZE:-2048} - # Configure maximum batch size. Value must be positive. - # If omitted or null, 512 is used. + # TODO max_export_batch_size: ${OTEL_BSP_MAX_EXPORT_BATCH_SIZE:-512} - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with HTTP transport. + # TODO otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: ${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://localhost:4318/v1/traces} - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: ${OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE} - # 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. + # TODO client_key_file: ${OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY} - # 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. + # TODO client_certificate_file: ${OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE} - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: ${OTEL_EXPORTER_OTLP_TRACES_COMPRESSION:-gzip} - # 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. + # TODO timeout: ${OTEL_EXPORTER_OTLP_TRACES_TIMEOUT:-10000} - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: [] - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO headers_list: ${OTEL_EXPORTER_OTLP_TRACES_HEADERS} - # Configure span limits. See also attribute_limits. + # TODO limits: - # 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. + # TODO attribute_value_length_limit: ${OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT} - # Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO attribute_count_limit: ${OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT:-128} - # Configure max span event count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO event_count_limit: ${OTEL_SPAN_EVENT_COUNT_LIMIT:-128} - # Configure max span link count. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO link_count_limit: ${OTEL_SPAN_LINK_COUNT_LIMIT:-128} - # Configure max attributes per span event. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO event_attribute_count_limit: ${OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT:-128} - # Configure max attributes per span link. - # Value must be non-negative. - # If omitted or null, 128 is used. + # TODO link_attribute_count_limit: ${OTEL_LINK_ATTRIBUTE_COUNT_LIMIT:-128} - # Configure the sampler. - # If omitted, parent based sampler with a root of always_on is used. + # TODO sampler: - # Configure sampler to be parent_based. + # TODO parent_based: - # Configure root sampler. - # If omitted or null, always_on is used. + # TODO root: - # Configure sampler to be always_on. + # TODO always_on: - # Configure remote_parent_sampled sampler. - # If omitted or null, always_on is used. + # TODO remote_parent_sampled: - # Configure sampler to be always_on. + # TODO always_on: - # Configure remote_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # TODO remote_parent_not_sampled: - # Configure sampler to be always_off. + # TODO always_off: - # Configure local_parent_sampled sampler. - # If omitted or null, always_on is used. + # TODO local_parent_sampled: - # Configure sampler to be always_on. + # TODO always_on: - # Configure local_parent_not_sampled sampler. - # If omitted or null, always_off is used. + # TODO local_parent_not_sampled: - # Configure sampler to be always_off. + # TODO always_off: -# Configure meter provider. -# If omitted, a noop meter provider is used. +# Configure meter provider. If omitted, a noop meter provider is used. meter_provider: - # Configure metric readers. + # TODO readers: - - # Configure a periodic metric reader. + - # TODO periodic: - # Configure delay interval (in milliseconds) between start of two consecutive exports. - # Value must be non-negative. - # If omitted or null, 60000 is used. + # TODO interval: ${OTEL_METRIC_EXPORT_INTERVAL:-60000} - # 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. + # TODO timeout: ${OTEL_METRIC_EXPORT_TIMEOUT:-30000} - # Configure exporter. + # TODO exporter: - # Configure exporter to be OTLP with HTTP transport. + # TODO otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: ${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics} - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: ${OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE} - # 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. + # TODO client_key_file: ${OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY} - # 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. + # TODO client_certificate_file: ${OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE} - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: ${OTEL_EXPORTER_OTLP_METRICS_COMPRESSION:-gzip} - # 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. + # TODO timeout: ${OTEL_EXPORTER_OTLP_METRICS_TIMEOUT:-10000} - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: [] - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO headers_list: ${OTEL_EXPORTER_OTLP_METRICS_HEADERS} - # Configure temporality preference. - # Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, cumulative is used. + # TODO temporality_preference: ${OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE:-cumulative} - # Configure default histogram aggregation. - # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. - # If omitted or null, explicit_bucket_histogram is used. + # TODO default_histogram_aggregation: ${OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION:-explicit_bucket_histogram} - # Configure the exemplar filter. - # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. - # If omitted or null, trace_based is used. + # TODO exemplar_filter: ${OTEL_METRICS_EXEMPLAR_FILTER:-trace_based} -# Configure logger provider. -# If omitted, a noop logger provider is used. +# Configure logger provider. If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. processors: - # Configure a batch log record processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. - # Value must be non-negative. - # If omitted or null, 1000 is used. + # Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used. schedule_delay: ${OTEL_BLRP_SCHEDULE_DELAY:-1000} - # 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. + # 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_BLRP_EXPORT_TIMEOUT:-30000} - # Configure maximum queue size. Value must be positive. - # If omitted or null, 2048 is used. + # Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used. max_queue_size: ${OTEL_BLRP_MAX_QUEUE_SIZE:-2048} - # Configure maximum batch size. Value must be positive. - # If omitted or null, 512 is used. + # Configure maximum batch size. Value must be positive. If omitted or null, 512 is used. max_export_batch_size: ${OTEL_BLRP_MAX_EXPORT_BATCH_SIZE:-512} # Configure exporter. exporter: # Configure exporter to be OTLP with HTTP transport. otlp_http: - # Configure endpoint, including the signal specific path. - # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. + # TODO endpoint: ${OTEL_EXPORTER_OTLP_LOGS_ENDPOINT:-http://localhost:4318/v1/logs} - # Configure TLS settings for the exporter. + # TODO tls: - # 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. + # TODO certificate_file: ${OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE} - # 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. + # TODO client_key_file: ${OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY} - # 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. + # TODO client_certificate_file: ${OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE} - # Configure compression. - # Values include: gzip, none. Implementations may support other compression algorithms. - # If omitted or null, none is used. + # TODO compression: ${OTEL_EXPORTER_OTLP_LOGS_COMPRESSION:-gzip} - # 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. + # TODO timeout: ${OTEL_EXPORTER_OTLP_LOGS_TIMEOUT:-10000} - # Configure headers. Entries have higher priority than entries from .headers_list. - # If an entry's .value is null, the entry is ignored. + # TODO headers: [] - # Configure headers. Entries have lower priority than entries from .headers. - # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. - # If omitted or null, no headers are added. + # TODO 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. - # Value must be non-negative. - # If omitted or null, there is no 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. - # Value must be non-negative. - # If omitted or null, 128 is used. + # 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..81928cd5 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -17,7 +17,7 @@ This document is an auto-generated view of the declarative configuration JSON sc |---|---|---|---|---| | `default` | [`DefaultAggregation`](#defaultaggregation) | `false` | No constraints. | TODO | | `drop` | [`DropAggregation`](#dropaggregation) | `false` | No constraints. | TODO | -| `explicit_bucket_histogram` | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | `false` | No constraints. | Configure aggregation to be explicit_bucket_histogram. | +| `explicit_bucket_histogram` | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | `false` | No constraints. | TODO | | `base2_exponential_bucket_histogram` | [`Base2ExponentialBucketHistogramAggregation`](#base2exponentialbuckethistogramaggregation) | `false` | No constraints. | TODO | | `last_value` | [`LastValueAggregation`](#lastvalueaggregation) | `false` | No constraints. | TODO | | `sum` | [`SumAggregation`](#sumaggregation) | `false` | No constraints. | TODO | @@ -131,8 +131,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`
| TODO | +| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO |
Language support status @@ -181,9 +181,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. | TODO | +| `value` | `oneOf` | `true` | No constraints. | TODO | +| `type` | [`AttributeType`](#attributetype) | `false` | No constraints. | TODO |
Language support status @@ -456,10 +456,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 +492,7 @@ Usages: "additionalProperties": false, "properties": { "schedule_delay": { + "description": "Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used.", "type": [ "integer", "null" @@ -499,6 +500,7 @@ Usages: "minimum": 0 }, "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.", "type": [ "integer", "null" @@ -506,6 +508,7 @@ Usages: "minimum": 0 }, "max_queue_size": { + "description": "Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -513,6 +516,7 @@ Usages: "exclusiveMinimum": 0 }, "max_export_batch_size": { + "description": "Configure maximum batch size. Value must be positive. If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -520,6 +524,7 @@ Usages: "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -533,11 +538,11 @@ 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.
| -| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | Configure exporter. | +| `schedule_delay` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `export_timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `max_queue_size` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `max_export_batch_size` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | TODO |
Language support status @@ -610,14 +615,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`
| TODO | +| `counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `gauge` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `histogram` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `observable_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `observable_gauge` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `observable_up_down_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `up_down_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO |
Language support status @@ -741,8 +746,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. | TODO | +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | TODO |
Language support status @@ -938,11 +943,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `root` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with no parent. | -| `remote_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a remote parent that is sampled. | -| `remote_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a remote parent that is not sampled. | -| `local_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a local parent that is sampled. | -| `local_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a local parent that is not sampled. | +| `root` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | +| `remote_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | +| `remote_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | +| `local_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | +| `local_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO |
Language support status @@ -1001,7 +1006,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`
| TODO |
Language support status @@ -1049,10 +1054,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `always_off` | [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | `false` | No constraints. | Configure sampler to be always_off. | -| `always_on` | [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | `false` | No constraints. | Configure sampler to be always_on. | -| `probability` | [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | `false` | No constraints. | Configure sampler to be probability. | -| `parent_based` | [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | `false` | No constraints. | Configure sampler to be parent_based. | +| `always_off` | [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | `false` | No constraints. | TODO | +| `always_on` | [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | `false` | No constraints. | TODO | +| `probability` | [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | `false` | No constraints. | TODO | +| `parent_based` | [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | `false` | No constraints. | TODO |
Language support status @@ -1146,8 +1151,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. | TODO | +| `http` | [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | `false` | No constraints. | TODO |
Language support status @@ -1219,8 +1224,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. | TODO | +| `response_captured_headers` | `array` of `string` | `false` | No constraints. | TODO |
Language support status @@ -1270,8 +1275,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `client` | [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | `false` | No constraints. | Configure instrumentations following the http client semantic conventions. | -| `server` | [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | `false` | No constraints. | Configure instrumentations following the http server semantic conventions. | +| `client` | [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | `false` | No constraints. | TODO | +| `server` | [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | `false` | No constraints. | TODO |
Language support status @@ -1315,8 +1320,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. | TODO | +| `response_captured_headers` | `array` of `string` | `false` | No constraints. | TODO |
Language support status @@ -1366,18 +1371,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..
| -| `cpp` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure C++ language-specific instrumentation libraries. | -| `dotnet` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure .NET language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `erlang` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Erlang language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `go` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Go language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `java` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Java language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `js` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure JavaScript language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `php` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure PHP language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `python` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Python language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `ruby` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Ruby language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `rust` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Rust language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| -| `swift` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | Configure Swift language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
| +| `general` | [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | `false` | No constraints. | TODO | +| `cpp` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `dotnet` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `erlang` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `go` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `java` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `js` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `php` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `python` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `ruby` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `rust` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `swift` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO |
Language support status @@ -1656,7 +1661,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | Configure if the logger is enabled or not. | +| `disabled` | `boolean` | `false` | No constraints. | TODO |
Language support status @@ -1732,9 +1737,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,8 +1758,8 @@ 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.
| -| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | No constraints. | The logger config. | +| `name` | `string` | `false` | No constraints. | TODO | +| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | No constraints. | TODO |
Language support status @@ -1800,7 +1807,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | Configure if the meter is enabled or not. | +| `disabled` | `boolean` | `false` | No constraints. | TODO |
Language support status @@ -1845,8 +1852,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. | -| `meters` | `array` of [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | `false` | No constraints. | Configure meters. | +| `default_config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | TODO | +| `meters` | `array` of [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | `false` | No constraints. | TODO |
Language support status @@ -1895,8 +1902,8 @@ 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.
| -| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | The meter config. | +| `name` | `string` | `false` | No constraints. | TODO | +| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | TODO |
Language support status @@ -1944,7 +1951,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. | TODO |
Language support status @@ -1991,9 +1998,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. | TODO | +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | TODO | +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | TODO |
Language support status @@ -2047,7 +2054,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. | TODO |
Language support status @@ -2090,8 +2097,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. | TODO | +| `service` | `string` | `true` | No constraints. | TODO |
Language support status @@ -2140,7 +2147,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`
| TODO |
Language support status @@ -2216,11 +2223,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.
| -| `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.
| +| `host` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `port` | one of:
* `integer`
* `null`
| `false` | No constraints. | TODO | +| `without_scope_info` | one of:
* `boolean`
* `null`
| `false` | No constraints. | TODO | +| `with_resource_constant_labels` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | TODO | +| `translation_strategy` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO |
Language support status @@ -2297,8 +2304,8 @@ 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.
| +| `attributes` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | TODO | +| `detectors` | `array` of [`ExperimentalResourceDetector`](#experimentalresourcedetector) | `false` | No constraints. | TODO |
Language support status @@ -2347,10 +2354,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. | TODO | +| `host` | [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | `false` | No constraints. | TODO | +| `process` | [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | `false` | No constraints. | TODO | +| `service` | [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | `false` | No constraints. | TODO |
Language support status @@ -2439,7 +2446,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | Configure if the tracer is enabled or not. | +| `disabled` | `boolean` | `false` | No constraints. | TODO |
Language support status @@ -2484,8 +2491,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. | -| `tracers` | `array` of [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | `false` | No constraints. | Configure tracers. | +| `default_config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | TODO | +| `tracers` | `array` of [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | `false` | No constraints. | TODO |
Language support status @@ -2534,8 +2541,8 @@ 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.
| -| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | The tracer config. | +| `name` | `string` | `false` | No constraints. | TODO | +| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | TODO |
Language support status @@ -2580,8 +2587,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. | TODO | +| `record_min_max` | one of:
* `boolean`
* `null`
| `false` | No constraints. | TODO |
Language support status @@ -2720,10 +2727,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. | TODO | +| `client_key_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `client_certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `insecure` | one of:
* `boolean`
* `null`
| `false` | No constraints. | TODO |
Language support status @@ -2788,9 +2795,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. | TODO | +| `client_key_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `client_certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO |
Language support status @@ -2848,8 +2855,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. | TODO | +| `excluded` | `array` of `string` | `false` | No constraints. | TODO |
Language support status @@ -3005,7 +3012,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 +3044,7 @@ Usages: "additionalProperties": false, "properties": { "processors": { + "description": "Configure log record processors.", "type": "array", "minItems": 1, "items": { @@ -3044,9 +3052,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 +3069,7 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -3071,6 +3082,7 @@ Usages: "additionalProperties": false, "properties": { "schedule_delay": { + "description": "Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used.", "type": [ "integer", "null" @@ -3078,6 +3090,7 @@ Usages: "minimum": 0 }, "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.", "type": [ "integer", "null" @@ -3085,6 +3098,7 @@ Usages: "minimum": 0 }, "max_queue_size": { + "description": "Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -3092,6 +3106,7 @@ Usages: "exclusiveMinimum": 0 }, "max_export_batch_size": { + "description": "Configure maximum batch size. Value must be positive. If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -3099,6 +3114,7 @@ Usages: "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -3118,15 +3134,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 +3156,7 @@ Usages: "additionalProperties": false, "properties": { "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.", "type": [ "integer", "null" @@ -3143,6 +3164,7 @@ Usages: "minimum": 0 }, "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.", "type": [ "integer", "null" @@ -3163,9 +3185,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 +3201,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" @@ -3228,7 +3254,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 +3295,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 +3318,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 +3347,7 @@ Usages: "additionalProperties": false, "properties": { "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.", "type": [ "integer", "null" @@ -3324,6 +3355,7 @@ Usages: "minimum": 0 }, "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.", "type": [ "integer", "null" @@ -3378,9 +3410,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" } } @@ -3391,10 +3425,10 @@ 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.
| +| `readers` | `array` of [`MetricReader`](#metricreader) | `true` | * `minItems`: `1`
| TODO | +| `views` | `array` of [`View`](#view) | `false` | No constraints. | TODO | +| `exemplar_filter` | [`ExemplarFilter`](#exemplarfilter) | `false` | No constraints. | TODO | +| `meter_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | `false` | No constraints. | TODO |
Language support status @@ -4116,7 +4150,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | `false` | No constraints. | Configure metric producer to be opencensus. | +| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | `false` | No constraints. | TODO |
Language support status @@ -4163,8 +4197,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `periodic` | [`PeriodicMetricReader`](#periodicmetricreader) | `false` | No constraints. | Configure a periodic metric reader. | -| `pull` | [`PullMetricReader`](#pullmetricreader) | `false` | No constraints. | Configure a pull based metric reader. | +| `periodic` | [`PeriodicMetricReader`](#periodicmetricreader) | `false` | No constraints. | TODO | +| `pull` | [`PullMetricReader`](#pullmetricreader) | `false` | No constraints. | TODO |
Language support status @@ -4209,8 +4243,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `true` | No constraints. | The name of the pair. | -| `value` | one of:
* `string`
* `null`
| `true` | No constraints. | The value of the pair. | +| `name` | `string` | `true` | No constraints. | TODO | +| `value` | one of:
* `string`
* `null`
| `true` | No constraints. | TODO |
Language support status @@ -4287,16 +4321,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 +4368,49 @@ No usages. "additionalProperties": true, "properties": { "file_format": { + "description": "The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema", "type": "string" }, "disabled": { + "description": "Configure if the SDK is disabled or not. 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. 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. If omitted, a noop logger provider is used.", "$ref": "#/$defs/LoggerProvider" }, "meter_provider": { + "description": "Configure meter provider. If omitted, a noop meter provider is used.", "$ref": "#/$defs/MeterProvider" }, "propagator": { + "description": "Configure text map context propagators. If omitted, a noop propagator is used.", "$ref": "#/$defs/Propagator" }, "tracer_provider": { + "description": "Configure tracer provider. If omitted, a noop tracer provider is used.", "$ref": "#/$defs/TracerProvider" }, "resource": { + "description": "Configure resource for all signals. If omitted, the default resource is used.", "$ref": "#/$defs/Resource" }, "instrumentation/development": { + "description": "Configure instrumentation.", "$ref": "#/$defs/ExperimentalInstrumentation" } }, @@ -4445,12 +4489,12 @@ 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.
| -| `tls` | [`GrpcTls`](#grpctls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | +| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `tls` | [`GrpcTls`](#grpctls) | `false` | No constraints. | TODO |
Language support status @@ -4527,14 +4571,14 @@ 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.
| -| `tls` | [`GrpcTls`](#grpctls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | +| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | TODO | +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | TODO | +| `tls` | [`GrpcTls`](#grpctls) | `false` | No constraints. | TODO |
Language support status @@ -4659,13 +4703,13 @@ 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.
| -| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | +| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | No constraints. | TODO | +| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | TODO |
Language support status @@ -4746,16 +4790,16 @@ 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.
| -| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | +| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | No constraints. | TODO | +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | TODO | +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | TODO | +| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | TODO |
Language support status @@ -4844,11 +4888,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. | TODO | +| `remote_parent_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | +| `remote_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | +| `local_parent_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | +| `local_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | TODO |
Language support status @@ -4904,11 +4948,11 @@ 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.
| -| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | `true` | No constraints. | Configure exporter. | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | Configure metric producers. | -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. | +| `interval` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | `true` | No constraints. | TODO | +| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | TODO | +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | TODO |
Language support status @@ -4976,8 +5020,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. | TODO | +| `composite_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO |
Language support status @@ -5100,7 +5144,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. | TODO |
Language support status @@ -5146,9 +5190,9 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | `true` | No constraints. | Configure exporter. | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | Configure metric producers. | -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. | +| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | `true` | No constraints. | TODO | +| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | TODO | +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | TODO |
Language support status @@ -5202,10 +5246,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. | TODO | +| `otlp_grpc` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | `false` | No constraints. | TODO | +| `otlp_file/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | `false` | No constraints. | TODO | +| `console` | [`ConsoleMetricExporter`](#consolemetricexporter) | `false` | No constraints. | TODO |
Language support status @@ -5263,10 +5307,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. | TODO | +| `detection/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalResourceDetection`](#experimentalresourcedetection) | `false` | No constraints. | TODO | +| `schema_url` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `attributes_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO |
Language support status @@ -5464,13 +5508,13 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `always_off` | [`AlwaysOffSampler`](#alwaysoffsampler) | `false` | No constraints. | Configure sampler to be always_off. | -| `always_on` | [`AlwaysOnSampler`](#alwaysonsampler) | `false` | No constraints. | Configure sampler to be always_on. | -| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | `false` | No constraints. | Configure sampler to be parent_based. | -| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | `false` | No constraints. | Configure sampler to be trace_id_ratio_based. | -| `probability/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | `false` | No constraints. | Configure sampler to be probability. | +| `always_off` | [`AlwaysOffSampler`](#alwaysoffsampler) | `false` | No constraints. | TODO | +| `always_on` | [`AlwaysOnSampler`](#alwaysonsampler) | `false` | No constraints. | TODO | +| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | `false` | No constraints. | TODO | +| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | `false` | No constraints. | TODO | +| `probability/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | `false` | No constraints. | TODO | | `jaeger_remote/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | `false` | No constraints. | TODO | -| `composite/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configure sampler to be composite. | +| `composite/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO |
Language support status @@ -5574,6 +5618,7 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/LogRecordExporter" } }, @@ -5587,7 +5632,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | Configure exporter. | +| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | TODO |
Language support status @@ -5630,11 +5675,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP transport. | -| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport. | -| `otlp_file/development`
**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. | +| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | TODO | +| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | TODO | +| `otlp_file/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | No constraints. | TODO | +| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | TODO | +| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | `false` | No constraints. | TODO |
Language support status @@ -5697,12 +5742,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`
| TODO | +| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `event_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `link_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `event_attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `link_attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO |
Language support status @@ -5785,8 +5830,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `batch` | [`BatchSpanProcessor`](#batchspanprocessor) | `false` | No constraints. | Configure a batch span processor. | -| `simple` | [`SimpleSpanProcessor`](#simplespanprocessor) | `false` | No constraints. | Configure a simple span processor. | +| `batch` | [`BatchSpanProcessor`](#batchspanprocessor) | `false` | No constraints. | TODO | +| `simple` | [`SimpleSpanProcessor`](#simplespanprocessor) | `false` | No constraints. | TODO |
Language support status @@ -5863,12 +5908,12 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `tracecontext` | [`TraceContextPropagator`](#tracecontextpropagator) | `false` | No constraints. | Include the w3c trace context propagator. | -| `baggage` | [`BaggagePropagator`](#baggagepropagator) | `false` | No constraints. | Include the w3c baggage propagator. | -| `b3` | [`B3Propagator`](#b3propagator) | `false` | No constraints. | Include the zipkin b3 propagator. | -| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | `false` | No constraints. | Include the zipkin b3 multi propagator. | -| `jaeger` | [`JaegerPropagator`](#jaegerpropagator) | `false` | No constraints. | Include the jaeger propagator. | -| `ottrace` | [`OpenTracingPropagator`](#opentracingpropagator) | `false` | No constraints. | Include the opentracing propagator. | +| `tracecontext` | [`TraceContextPropagator`](#tracecontextpropagator) | `false` | No constraints. | TODO | +| `baggage` | [`BaggagePropagator`](#baggagepropagator) | `false` | No constraints. | TODO | +| `b3` | [`B3Propagator`](#b3propagator) | `false` | No constraints. | TODO | +| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | `false` | No constraints. | TODO | +| `jaeger` | [`JaegerPropagator`](#jaegerpropagator) | `false` | No constraints. | TODO | +| `ottrace` | [`OpenTracingPropagator`](#opentracingpropagator) | `false` | No constraints. | TODO |
Language support status @@ -5959,7 +6004,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`
| TODO |
Language support status @@ -6004,10 +6049,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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.
| +| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | `true` | * `minItems`: `1`
| TODO | +| `limits` | [`SpanLimits`](#spanlimits) | `false` | No constraints. | TODO | +| `sampler` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | +| `tracer_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | `false` | No constraints. | TODO |
Language support status @@ -6494,8 +6539,8 @@ 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.
| -| `stream` | [`ViewStream`](#viewstream) | `true` | No constraints. | Configure view stream. | +| `selector` | [`ViewSelector`](#viewselector) | `true` | No constraints. | TODO | +| `stream` | [`ViewStream`](#viewstream) | `true` | No constraints. | TODO |
Language support status @@ -6541,12 +6586,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. | TODO | +| `instrument_type` | [`InstrumentType`](#instrumenttype) | `false` | No constraints. | TODO | +| `unit` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `meter_name` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `meter_version` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `meter_schema_url` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO |
Language support status @@ -6618,11 +6663,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. | TODO | +| `description` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `aggregation` | [`Aggregation`](#aggregation) | `false` | No constraints. | TODO | +| `aggregation_cardinality_limit` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `attribute_keys` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | TODO |
Language support status @@ -6685,8 +6730,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. | TODO | +| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO |
Language support status diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 47e5d1b2..896e0cf9 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -87,25 +87,10 @@ - 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: @@ -281,25 +266,16 @@ - 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: @@ -565,44 +541,25 @@ - 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: @@ -930,14 +887,12 @@ - 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: 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); } } From 7e31462084d5fb9ec3b1559e138156e62ce02d28 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:06:35 -0800 Subject: [PATCH 04/22] clean up newline Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 26 +++++++++++++++++++------- examples/sdk-config.yaml | 22 ++++++++++++++++------ examples/sdk-migration-config.yaml | 22 ++++++++++++++++------ schema/logger_provider.json | 14 +++++++------- schema/logger_provider.json5 | 24 ++++++++++++------------ 5 files changed, 70 insertions(+), 38 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index a3e405af..458899ca 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -25,13 +25,19 @@ logger_provider: processors: - # Configure a batch log record processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used. + # Configure delay interval (in milliseconds) between two consecutive exports. + # Value must be non-negative. + # If omitted or null, 1000 is used. schedule_delay: 5000 - # 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. + # 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 - # Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used. + # Configure maximum queue size. Value must be positive. + # If omitted or null, 2048 is used. max_queue_size: 2048 - # Configure maximum batch size. Value must be positive. If omitted or null, 512 is used. + # Configure maximum batch size. Value must be positive. + # If omitted or null, 512 is used. max_export_batch_size: 512 # Configure exporter. exporter: @@ -117,9 +123,13 @@ logger_provider: console: # Configure log record limits. See also attribute_limits. limits: - # 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. + # 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. Value must be non-negative. If omitted or null, 128 is used. + # 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. @@ -130,7 +140,9 @@ logger_provider: disabled: true # 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. + - # 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: io.opentelemetry.contrib.* # The logger config. config: diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 870e53a1..636edd18 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -149,13 +149,19 @@ logger_provider: processors: - # Configure a batch log record processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used. + # Configure delay interval (in milliseconds) between two consecutive exports. + # Value must be non-negative. + # If omitted or null, 1000 is used. schedule_delay: 1000 - # 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. + # 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 - # Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used. + # Configure maximum queue size. Value must be positive. + # If omitted or null, 2048 is used. max_queue_size: 2048 - # Configure maximum batch size. Value must be positive. If omitted or null, 512 is used. + # Configure maximum batch size. Value must be positive. + # If omitted or null, 512 is used. max_export_batch_size: 512 # Configure exporter. exporter: @@ -179,7 +185,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. Value must be non-negative. If omitted or null, there is no 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. Value must be non-negative. If omitted or null, 128 is used. + # 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 39e0ab2e..1c4d22b1 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -181,13 +181,19 @@ logger_provider: processors: - # Configure a batch log record processor. batch: - # Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used. + # Configure delay interval (in milliseconds) between two consecutive exports. + # Value must be non-negative. + # If omitted or null, 1000 is used. schedule_delay: ${OTEL_BLRP_SCHEDULE_DELAY:-1000} - # 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. + # 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_BLRP_EXPORT_TIMEOUT:-30000} - # Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used. + # Configure maximum queue size. Value must be positive. + # If omitted or null, 2048 is used. max_queue_size: ${OTEL_BLRP_MAX_QUEUE_SIZE:-2048} - # Configure maximum batch size. Value must be positive. If omitted or null, 512 is used. + # Configure maximum batch size. Value must be positive. + # If omitted or null, 512 is used. max_export_batch_size: ${OTEL_BLRP_MAX_EXPORT_BATCH_SIZE:-512} # Configure exporter. exporter: @@ -213,7 +219,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. Value must be non-negative. If omitted or null, there is no 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. Value must be non-negative. If omitted or null, 128 is used. + # 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/logger_provider.json b/schema/logger_provider.json index ba2aaafb..1cbb08f7 100644 --- a/schema/logger_provider.json +++ b/schema/logger_provider.json @@ -43,7 +43,7 @@ "additionalProperties": false, "properties": { "schedule_delay": { - "description": "Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used.", + "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" @@ -51,7 +51,7 @@ "minimum": 0 }, "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.", + "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" @@ -59,7 +59,7 @@ "minimum": 0 }, "max_queue_size": { - "description": "Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used.", + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -67,7 +67,7 @@ "exclusiveMinimum": 0 }, "max_export_batch_size": { - "description": "Configure maximum batch size. Value must be positive. If omitted or null, 512 is used.", + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -117,7 +117,7 @@ "additionalProperties": false, "properties": { "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.", + "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" @@ -125,7 +125,7 @@ "minimum": 0 }, "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.", + "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" @@ -181,7 +181,7 @@ "additionalProperties": false, "properties": { "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.", + "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" ] diff --git a/schema/logger_provider.json5 b/schema/logger_provider.json5 index bae5608b..7788e6fb 100644 --- a/schema/logger_provider.json5 +++ b/schema/logger_provider.json5 @@ -43,27 +43,27 @@ "additionalProperties": false, properties: { "schedule_delay": { - description: "Configure delay interval (in milliseconds) between two consecutive exports. \ -Value must be non-negative. \ + 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. \ -Value must be non-negative. A value of 0 indicates no limit (infinity). \ + 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. \ + 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. \ + description: "Configure maximum batch size. Value must be positive.\n \ If omitted or null, 512 is used.", "type": ["integer", "null"], "exclusiveMinimum": 0 @@ -108,15 +108,15 @@ If omitted or null, 512 is used.", "additionalProperties": false, properties: { "attribute_value_length_limit": { - description: "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \ -Value must be non-negative. \ + 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. \ -Value must be non-negative. \ + 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 @@ -163,9 +163,9 @@ If omitted or null, 128 is used.", "additionalProperties": false, properties: { "name": { - description: "Configure logger names to match, evaluated as follows: \ + description: "Configure logger names to match, evaluated as follows:\n \ \ -* If the logger name exactly matches. \ +* 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"] }, From baeec1cea4b9395b89ae4e52d54ea5d87b465bff Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:07:19 -0800 Subject: [PATCH 05/22] clean up newline Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 23 ++++++++++++++-------- examples/sdk-config.yaml | 23 ++++++++++++++-------- examples/sdk-migration-config.yaml | 25 ++++++++++++++++-------- schema/opentelemetry_configuration.json | 16 +++++++-------- schema/opentelemetry_configuration.json5 | 18 ++++++++--------- 5 files changed, 64 insertions(+), 41 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 458899ca..0d7bac8b 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -7,11 +7,13 @@ # The file format version. # The yaml format is documented at -# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema TODO The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema file_format: "1.0-rc.2" -# Configure if the SDK is disabled or not. If omitted or null, false is used. +# Configure if the SDK is disabled or not. +# If omitted or null, false is used. disabled: false -# Configure the log level of the internal logger used by the SDK. If omitted, info is used. +# Configure the log level of the internal logger used by the SDK. +# If omitted, info is used. log_level: info # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: @@ -19,7 +21,8 @@ attribute_limits: attribute_value_length_limit: 4096 # TODO attribute_count_limit: 128 -# Configure logger provider. If omitted, a noop logger provider is used. +# Configure logger provider. +# If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. processors: @@ -148,7 +151,8 @@ logger_provider: config: # Configure if the logger is enabled or not. disabled: false -# Configure meter provider. If omitted, a noop meter provider is used. +# Configure meter provider. +# If omitted, a noop meter provider is used. meter_provider: # TODO readers: @@ -402,7 +406,8 @@ meter_provider: config: # TODO disabled: false -# Configure text map context propagators. If omitted, a noop propagator is used. +# Configure text map context propagators. +# If omitted, a noop propagator is used. propagator: # TODO composite: @@ -420,7 +425,8 @@ propagator: ottrace: # TODO composite_list: "tracecontext,baggage,b3,b3multi,jaeger,ottrace,xray" -# Configure tracer provider. If omitted, a noop tracer provider is used. +# Configure tracer provider. +# If omitted, a noop tracer provider is used. tracer_provider: # TODO processors: @@ -589,7 +595,8 @@ tracer_provider: config: # TODO disabled: false -# Configure resource for all signals. If omitted, the default resource is used. +# Configure resource for all signals. +# If omitted, the default resource is used. resource: # TODO attributes: diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 636edd18..86e55992 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -7,13 +7,16 @@ # The file format version. # The yaml format is documented at -# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema TODO The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema file_format: "1.0-rc.2" -# Configure if the SDK is disabled or not. If omitted or null, false is used. +# Configure if the SDK is disabled or not. +# If omitted or null, false is used. disabled: false -# Configure the log level of the internal logger used by the SDK. If omitted, info is used. +# Configure the log level of the internal logger used by the SDK. +# If omitted, info is used. log_level: info -# Configure resource for all signals. If omitted, the default resource is used. +# Configure resource for all signals. +# If omitted, the default resource is used. resource: # TODO attributes: @@ -27,7 +30,8 @@ attribute_limits: attribute_value_length_limit: # TODO attribute_count_limit: 128 -# Configure text map context propagators. If omitted, a noop propagator is used. +# Configure text map context propagators. +# If omitted, a noop propagator is used. propagator: # TODO composite: @@ -35,7 +39,8 @@ propagator: tracecontext: - # TODO baggage: -# Configure tracer provider. If omitted, a noop tracer provider is used. +# Configure tracer provider. +# If omitted, a noop tracer provider is used. tracer_provider: # TODO processors: @@ -107,7 +112,8 @@ tracer_provider: local_parent_not_sampled: # TODO always_off: -# Configure meter provider. If omitted, a noop meter provider is used. +# Configure meter provider. +# If omitted, a noop meter provider is used. meter_provider: # TODO readers: @@ -143,7 +149,8 @@ meter_provider: default_histogram_aggregation: explicit_bucket_histogram # TODO exemplar_filter: trace_based -# Configure logger provider. If omitted, a noop logger provider is used. +# Configure logger provider. +# If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. processors: diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 1c4d22b1..bc692092 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -33,13 +33,18 @@ # - OTEL_EXPORTER_OTLP_TIMEOUT # The file format version. -# The yaml format is documented at# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema TODO The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema +# The yaml format is documented at# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema TODO The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema The file format version. +# The yaml format is documented at +# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema file_format: "1.0-rc.2" -# Configure if the SDK is disabled or not. If omitted or null, false is used. +# Configure if the SDK is disabled or not. +# If omitted or null, false is used. disabled: ${OTEL_SDK_DISABLED:-false} -# Configure the log level of the internal logger used by the SDK. If omitted, info is used. +# Configure the log level of the internal logger used by the SDK. +# If omitted, info is used. log_level: ${OTEL_LOG_LEVEL:-info} -# Configure resource for all signals. If omitted, the default resource is used. +# Configure resource for all signals. +# If omitted, the default resource is used. resource: # TODO attributes: @@ -55,13 +60,15 @@ attribute_limits: attribute_value_length_limit: ${OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT} # TODO attribute_count_limit: ${OTEL_ATTRIBUTE_COUNT_LIMIT:-128} -# Configure text map context propagators. If omitted, a noop propagator is used. +# Configure text map context propagators. +# If omitted, a noop propagator is used. propagator: # TODO composite: [] # TODO composite_list: ${OTEL_PROPAGATORS:-tracecontext,baggage} -# Configure tracer provider. If omitted, a noop tracer provider is used. +# Configure tracer provider. +# If omitted, a noop tracer provider is used. tracer_provider: # TODO processors: @@ -137,7 +144,8 @@ tracer_provider: always_off: -# Configure meter provider. If omitted, a noop meter provider is used. +# Configure meter provider. +# If omitted, a noop meter provider is used. meter_provider: # TODO readers: @@ -175,7 +183,8 @@ meter_provider: default_histogram_aggregation: ${OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION:-explicit_bucket_histogram} # TODO exemplar_filter: ${OTEL_METRICS_EXEMPLAR_FILTER:-trace_based} -# Configure logger provider. If omitted, a noop logger provider is used. +# Configure logger provider. +# If omitted, a noop logger provider is used. logger_provider: # Configure log record processors. processors: diff --git a/schema/opentelemetry_configuration.json b/schema/opentelemetry_configuration.json index aed1233f..b401977f 100644 --- a/schema/opentelemetry_configuration.json +++ b/schema/opentelemetry_configuration.json @@ -6,18 +6,18 @@ "additionalProperties": true, "properties": { "file_format": { - "description": "The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema", + "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. If omitted or null, false is used.", + "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. If omitted, info is used.", + "description": "Configure the log level of the internal logger used by the SDK.\n If omitted, info is used.", "type": [ "string", "null" @@ -28,23 +28,23 @@ "$ref": "#/$defs/AttributeLimits" }, "logger_provider": { - "description": "Configure logger provider. If omitted, a noop logger provider is used.", + "description": "Configure logger provider.\n If omitted, a noop logger provider is used.", "$ref": "#/$defs/LoggerProvider" }, "meter_provider": { - "description": "Configure meter provider. If omitted, a noop meter provider is used.", + "description": "Configure meter provider.\n If omitted, a noop meter provider is used.", "$ref": "#/$defs/MeterProvider" }, "propagator": { - "description": "Configure text map context propagators. If omitted, a noop propagator is used.", + "description": "Configure text map context propagators.\n If omitted, a noop propagator is used.", "$ref": "#/$defs/Propagator" }, "tracer_provider": { - "description": "Configure tracer provider. If omitted, a noop tracer provider is used.", + "description": "Configure tracer provider.\n If omitted, a noop tracer provider is used.", "$ref": "#/$defs/TracerProvider" }, "resource": { - "description": "Configure resource for all signals. If omitted, the default resource is used.", + "description": "Configure resource for all signals.\n If omitted, the default resource is used.", "$ref": "#/$defs/Resource" }, "instrumentation/development": { diff --git a/schema/opentelemetry_configuration.json5 b/schema/opentelemetry_configuration.json5 index 406fc643..947c2620 100644 --- a/schema/opentelemetry_configuration.json5 +++ b/schema/opentelemetry_configuration.json5 @@ -6,13 +6,13 @@ additionalProperties: true, properties: { file_format: { - description: "The file format version. \ -The yaml format is documented at \ + 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. \ + description: "Configure if the SDK is disabled or not.\n \ If omitted or null, false is used.", "type": [ "boolean", @@ -20,7 +20,7 @@ If omitted or null, false is used.", ] }, log_level: { - description: "Configure the log level of the internal logger used by the SDK. \ + description: "Configure the log level of the internal logger used by the SDK.\n \ If omitted, info is used.", "type": [ "string", @@ -32,27 +32,27 @@ If omitted, info is used.", $ref: "#/$defs/AttributeLimits" }, "logger_provider": { - description: "Configure logger provider. \ + description: "Configure logger provider.\n \ If omitted, a noop logger provider is used.", $ref: "#/$defs/LoggerProvider" }, "meter_provider": { - description: "Configure 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. \ + description: "Configure text map context propagators.\n \ If omitted, a noop propagator is used.", $ref: "#/$defs/Propagator" }, "tracer_provider": { - description: "Configure 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. \ + description: "Configure resource for all signals.\n \ If omitted, the default resource is used.", $ref: "#/$defs/Resource" }, From 04e38516cc04f536cbb43cdbca01c8d1b0a97307 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:29:29 -0800 Subject: [PATCH 06/22] json5 resources Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 103 ++++++++++------ examples/sdk-config.yaml | 7 +- examples/sdk-migration-config.yaml | 11 +- schema-docs.md | 128 ++++++++++++-------- schema/meta_schema_types.yaml | 34 ------ schema/resource.json | 95 ++++++++++++--- schema/resource.json5 | 187 +++++++++++++++++++++++++++++ 7 files changed, 421 insertions(+), 144 deletions(-) create mode 100644 schema/resource.json5 diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 0d7bac8b..cc74c47a 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -598,66 +598,94 @@ tracer_provider: # Configure resource for all signals. # If omitted, the default resource is used. resource: - # TODO + # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. attributes: - - # TODO + - # The attribute name. name: service.name - # TODO + # The attribute value. + # The type of value must match .type. value: unknown_service - - # TODO + - # The attribute name. name: string_key - # TODO + # The attribute value. + # The type of value must match .type. value: value - # TODO + # The attribute type. + # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. + # If omitted or null, string is used. type: string - - # TODO + - # The attribute name. name: bool_key - # TODO + # The attribute value. + # The type of value must match .type. value: true - # TODO + # The attribute type. + # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. + # If omitted or null, string is used. type: bool - - # TODO + - # The attribute name. name: int_key - # TODO + # The attribute value. + # The type of value must match .type. value: 1 - # TODO + # The attribute type. + # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. + # If omitted or null, string is used. type: int - - # TODO + - # The attribute name. name: double_key - # TODO + # The attribute value. + # The type of value must match .type. value: 1.1 - # TODO + # The attribute type. + # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. + # If omitted or null, string is used. type: double - - # TODO + - # The attribute name. name: string_array_key - # TODO + # The attribute value. + # The type of value must match .type. value: [ "value1", "value2" ] - # TODO + # The attribute type. + # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. + # If omitted or null, string is used. type: string_array - - # TODO + - # The attribute name. name: bool_array_key - # TODO + # The attribute value. + # The type of value must match .type. value: [ true, false ] - # TODO + # The attribute type. + # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. + # If omitted or null, string is used. type: bool_array - - # TODO + - # The attribute name. name: int_array_key - # TODO + # The attribute value. + # The type of value must match .type. value: [ 1, 2 ] - # TODO + # The attribute type. + # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. + # If omitted or null, string is used. type: int_array - - # TODO + - # The attribute name. name: double_array_key - # TODO + # The attribute value. + # The type of value must match .type. value: [ 1.1, 2.2 ] - # TODO + # The attribute type. + # Values include: string, bool, int, double, string_array, bool_array, int_array, double_array. + # If omitted or null, string is used. type: double_array - # TODO + # Configure resource attributes. Entries have lower priority than entries from .resource.attributes. + # The value is a list of comma separated key-value pairs matching the format of OTEL_RESOURCE_ATTRIBUTES. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. + # If omitted or null, no resource attributes are added. attributes_list: "service.namespace=my-namespace,service.version=1.0.0" - # TODO + # Configure resource detection. + # If omitted or null, resource detection is disabled. #This property is experimental and subject to breaking changes in minor versions. detection/development: - # TODO + # Configure attributes provided by resource detectors. attributes: # TODO included: @@ -665,17 +693,20 @@ resource: # TODO excluded: - process.command_args - # TODO + # 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: - - # TODO + - # Enable the container resource detector, which populates container.* attributes. container: - - # TODO + - # Enable the host resource detector, which populates host.* and os.* attributes. host: - - # TODO + - # Enable the process resource detector, which populates process.* attributes. process: - - # TODO + - # Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id. service: - # TODO + # Configure resource schema URL. + # If omitted or null, no schema URL is used. schema_url: https://opentelemetry.io/schemas/1.16.0 # Configure instrumentation. #This property is experimental and subject to breaking changes in minor versions. diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 86e55992..5882e908 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -18,11 +18,12 @@ log_level: info # Configure resource for all signals. # If omitted, the default resource is used. resource: - # TODO + # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. attributes: - - # TODO + - # The attribute name. name: service.name - # TODO + # The attribute value. + # The type of value must match .type. value: unknown_service # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index bc692092..91bf6a47 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -46,13 +46,16 @@ log_level: ${OTEL_LOG_LEVEL:-info} # Configure resource for all signals. # If omitted, the default resource is used. resource: - # TODO + # Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. attributes: - - # TODO + - # The attribute name. name: service.name - # TODO + # The attribute value. + # The type of value must match .type. value: ${OTEL_SERVICE_NAME:-unknown_service} - # TODO + # Configure resource attributes. Entries have lower priority than entries from .resource.attributes. + # The value is a list of comma separated key-value pairs matching the format of OTEL_RESOURCE_ATTRIBUTES. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details. + # If omitted or null, no resource attributes are added. attributes_list: ${OTEL_RESOURCE_ATTRIBUTES} # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: diff --git a/schema-docs.md b/schema-docs.md index 81928cd5..7d4fa945 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -181,9 +181,9 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `true` | No constraints. | TODO | -| `value` | `oneOf` | `true` | No constraints. | TODO | -| `type` | [`AttributeType`](#attributetype) | `false` | No constraints. | TODO | +| `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 +213,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 +252,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" } }, @@ -456,10 +459,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,7 +495,7 @@ Usages: "additionalProperties": false, "properties": { "schedule_delay": { - "description": "Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used.", + "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" @@ -500,7 +503,7 @@ Usages: "minimum": 0 }, "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.", + "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" @@ -508,7 +511,7 @@ Usages: "minimum": 0 }, "max_queue_size": { - "description": "Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used.", + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -516,7 +519,7 @@ Usages: "exclusiveMinimum": 0 }, "max_export_batch_size": { - "description": "Configure maximum batch size. Value must be positive. If omitted or null, 512 is used.", + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -1661,7 +1664,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | TODO | +| `disabled` | `boolean` | `false` | No constraints. | Configure if the logger is enabled or not. |
Language support status @@ -1691,6 +1694,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the logger is enabled or not.", "type": [ "boolean" ] @@ -1758,8 +1762,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `false` | No constraints. | TODO | -| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -1789,11 +1793,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" } } @@ -2304,8 +2310,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `attributes` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | TODO | -| `detectors` | `array` of [`ExperimentalResourceDetector`](#experimentalresourcedetector) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -2333,9 +2339,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" @@ -2354,10 +2362,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `container` | [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | `false` | No constraints. | TODO | -| `host` | [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | `false` | No constraints. | TODO | -| `process` | [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | `false` | No constraints. | TODO | -| `service` | [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | `false` | No constraints. | TODO | +| `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 @@ -2396,15 +2404,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" } } @@ -3082,7 +3094,7 @@ Usages: "additionalProperties": false, "properties": { "schedule_delay": { - "description": "Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. If omitted or null, 1000 is used.", + "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" @@ -3090,7 +3102,7 @@ Usages: "minimum": 0 }, "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.", + "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" @@ -3098,7 +3110,7 @@ Usages: "minimum": 0 }, "max_queue_size": { - "description": "Configure maximum queue size. Value must be positive. If omitted or null, 2048 is used.", + "description": "Configure maximum queue size. Value must be positive.\n If omitted or null, 2048 is used.", "type": [ "integer", "null" @@ -3106,7 +3118,7 @@ Usages: "exclusiveMinimum": 0 }, "max_export_batch_size": { - "description": "Configure maximum batch size. Value must be positive. If omitted or null, 512 is used.", + "description": "Configure maximum batch size. Value must be positive.\n If omitted or null, 512 is used.", "type": [ "integer", "null" @@ -3156,7 +3168,7 @@ Usages: "additionalProperties": false, "properties": { "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.", + "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" @@ -3164,7 +3176,7 @@ Usages: "minimum": 0 }, "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.", + "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" @@ -3220,11 +3232,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" } } @@ -3236,6 +3250,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the logger is enabled or not.", "type": [ "boolean" ] @@ -3318,8 +3333,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 @@ -3347,7 +3362,7 @@ Usages: "additionalProperties": false, "properties": { "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.", + "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" @@ -3355,7 +3370,7 @@ Usages: "minimum": 0 }, "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.", + "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" @@ -4321,15 +4336,15 @@ 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. | +| `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. | +| `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. |
@@ -4368,18 +4383,18 @@ No usages. "additionalProperties": true, "properties": { "file_format": { - "description": "The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema", + "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. If omitted or null, false is used.", + "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. If omitted, info is used.", + "description": "Configure the log level of the internal logger used by the SDK.\n If omitted, info is used.", "type": [ "string", "null" @@ -4390,23 +4405,23 @@ No usages. "$ref": "#/$defs/AttributeLimits" }, "logger_provider": { - "description": "Configure logger provider. If omitted, a noop logger provider is used.", + "description": "Configure logger provider.\n If omitted, a noop logger provider is used.", "$ref": "#/$defs/LoggerProvider" }, "meter_provider": { - "description": "Configure meter provider. If omitted, a noop meter provider is used.", + "description": "Configure meter provider.\n If omitted, a noop meter provider is used.", "$ref": "#/$defs/MeterProvider" }, "propagator": { - "description": "Configure text map context propagators. If omitted, a noop propagator is used.", + "description": "Configure text map context propagators.\n If omitted, a noop propagator is used.", "$ref": "#/$defs/Propagator" }, "tracer_provider": { - "description": "Configure tracer provider. If omitted, a noop tracer provider is used.", + "description": "Configure tracer provider.\n If omitted, a noop tracer provider is used.", "$ref": "#/$defs/TracerProvider" }, "resource": { - "description": "Configure resource for all signals. If omitted, the default resource is used.", + "description": "Configure resource for all signals.\n If omitted, the default resource is used.", "$ref": "#/$defs/Resource" }, "instrumentation/development": { @@ -5307,10 +5322,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `attributes` | `array` of [`AttributeNameValue`](#attributenamevalue) | `false` | No constraints. | TODO | -| `detection/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalResourceDetection`](#experimentalresourcedetection) | `false` | No constraints. | TODO | -| `schema_url` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `attributes_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `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 @@ -5342,21 +5357,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" @@ -5369,9 +5388,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" @@ -5406,6 +5427,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" } }, @@ -5435,9 +5457,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" @@ -5457,15 +5481,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" } } diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 896e0cf9..bda369bf 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -35,17 +35,8 @@ - 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: @@ -382,27 +373,14 @@ - 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: [] @@ -858,21 +836,9 @@ - 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: 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 From f4573ce68ef4e942ab73cd4a324753e1ea4e3a4e Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 17:41:18 -0800 Subject: [PATCH 07/22] common.json Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 236 +++++++++++++++++------- examples/sdk-config.yaml | 56 ++++-- examples/sdk-migration-config.yaml | 64 +++++-- schema/common.json | 146 ++++++++++++--- schema/common.json5 | 287 +++++++++++++++++++++++++++++ 5 files changed, 667 insertions(+), 122 deletions(-) create mode 100644 schema/common.json5 diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index cc74c47a..ea484c81 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -48,27 +48,41 @@ logger_provider: otlp_http: # TODO endpoint: http://localhost:4318/v1/logs - # TODO + # Configure TLS settings for the exporter. tls: - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 # TODO headers: - - # TODO + - # The name of the pair. name: api-key - # TODO + # The value of the pair. value: "1234" - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: "api-key=1234" - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 - # TODO + # Configure the encoding used for messages. + # Values include: protobuf, json. Implementations may not support json. + # If omitted or null, protobuf is used. encoding: protobuf - # Configure a batch log record processor. batch: @@ -76,29 +90,45 @@ logger_provider: exporter: # Configure exporter to be OTLP with gRPC transport. otlp_grpc: - # TODO + # Configure endpoint. + # If omitted or null, http://localhost:4317 is used. endpoint: http://localhost:4317 - # TODO + # Configure TLS settings for the exporter. tls: - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: - - # TODO + - # The name of the pair. name: api-key - # TODO + # The value of the pair. value: "1234" - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: "api-key=1234" - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 - # Configure a batch log record processor. batch: @@ -107,7 +137,9 @@ logger_provider: # Configure exporter to be OTLP with file transport. #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # TODO + # Configure output stream. + # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. + # If omitted or null, stdout is used. output_stream: file:///var/log/logs.jsonl - # Configure a batch log record processor. batch: @@ -116,7 +148,9 @@ logger_provider: # Configure exporter to be OTLP with file transport. #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # TODO + # Configure output stream. + # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. + # If omitted or null, stdout is used. output_stream: stdout - # Configure a simple log record processor. simple: @@ -171,10 +205,18 @@ meter_provider: without_scope_info: false # TODO with_resource_constant_labels: - # TODO + # 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. included: - "service*" - # TODO + # 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. excluded: - "service.attr1" # TODO @@ -215,17 +257,23 @@ meter_provider: endpoint: http://localhost:4318/v1/metrics # TODO tls: - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 # TODO headers: - - # TODO + - # The name of the pair. name: api-key - # TODO + # The value of the pair. value: "1234" # TODO headers_list: "api-key=1234" @@ -271,19 +319,27 @@ meter_provider: endpoint: http://localhost:4317 # TODO tls: - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 # TODO headers: - - # TODO + - # The name of the pair. name: api-key - # TODO + # The value of the pair. value: "1234" # TODO headers_list: "api-key=1234" @@ -382,11 +438,19 @@ meter_provider: aggregation_cardinality_limit: 2000 # TODO attribute_keys: - # TODO + # 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. included: - key1 - key2 - # TODO + # 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. excluded: - key3 # TODO @@ -446,27 +510,41 @@ tracer_provider: otlp_http: # TODO endpoint: http://localhost:4318/v1/traces - # TODO + # Configure TLS settings for the exporter. tls: - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 # TODO headers: - - # TODO + - # The name of the pair. name: api-key - # TODO + # The value of the pair. value: "1234" - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: "api-key=1234" - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 - # TODO + # Configure the encoding used for messages. + # Values include: protobuf, json. Implementations may not support json. + # If omitted or null, protobuf is used. encoding: protobuf - # TODO batch: @@ -474,29 +552,45 @@ tracer_provider: exporter: # TODO otlp_grpc: - # TODO + # Configure endpoint. + # If omitted or null, http://localhost:4317 is used. endpoint: http://localhost:4317 - # TODO + # Configure TLS settings for the exporter. tls: - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 - # TODO + # 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 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: - - # TODO + - # The name of the pair. name: api-key - # TODO + # The value of the pair. value: "1234" - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: "api-key=1234" - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 - # TODO batch: @@ -505,7 +599,9 @@ tracer_provider: # TODO #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # TODO + # 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 - # TODO batch: @@ -514,7 +610,9 @@ tracer_provider: # TODO #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # TODO + # 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 - # TODO batch: @@ -687,10 +785,18 @@ resource: detection/development: # Configure attributes provided by resource detectors. attributes: - # TODO + # 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. included: - process.* - # TODO + # 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. excluded: - process.command_args # Configure resource detectors. diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 5882e908..e3e4beaf 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -61,17 +61,27 @@ tracer_provider: otlp_http: # TODO endpoint: http://localhost:4318/v1/traces - # TODO + # Configure TLS settings for the exporter. tls: - # TODO + # 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: - # TODO + # 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: - # TODO + # 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: - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 # TODO headers: [] @@ -132,11 +142,17 @@ meter_provider: endpoint: http://localhost:4318/v1/metrics # TODO tls: - # TODO + # 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: - # TODO + # 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: - # TODO + # 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: # TODO compression: gzip @@ -177,17 +193,27 @@ logger_provider: otlp_http: # TODO endpoint: http://localhost:4318/v1/logs - # TODO + # Configure TLS settings for the exporter. tls: - # TODO + # 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: - # TODO + # 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: - # TODO + # 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: - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 # TODO headers: [] diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 91bf6a47..023253ed 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -91,21 +91,33 @@ tracer_provider: otlp_http: # TODO endpoint: ${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://localhost:4318/v1/traces} - # TODO + # Configure TLS settings for the exporter. tls: - # TODO + # 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} - # TODO + # 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} - # TODO + # 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} - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: ${OTEL_EXPORTER_OTLP_TRACES_COMPRESSION:-gzip} - # TODO + # 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. timeout: ${OTEL_EXPORTER_OTLP_TRACES_TIMEOUT:-10000} # TODO headers: [] - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: ${OTEL_EXPORTER_OTLP_TRACES_HEADERS} # TODO limits: @@ -166,11 +178,17 @@ meter_provider: endpoint: ${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics} # TODO tls: - # TODO + # 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} - # TODO + # 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} - # TODO + # 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} # TODO compression: ${OTEL_EXPORTER_OTLP_METRICS_COMPRESSION:-gzip} @@ -213,21 +231,33 @@ logger_provider: otlp_http: # TODO endpoint: ${OTEL_EXPORTER_OTLP_LOGS_ENDPOINT:-http://localhost:4318/v1/logs} - # TODO + # Configure TLS settings for the exporter. tls: - # TODO + # 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} - # TODO + # 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} - # TODO + # 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} - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: ${OTEL_EXPORTER_OTLP_LOGS_COMPRESSION:-gzip} - # TODO + # 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. timeout: ${OTEL_EXPORTER_OTLP_LOGS_TIMEOUT:-10000} # TODO headers: [] - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: ${OTEL_EXPORTER_OTLP_LOGS_HEADERS} # Configure log record limits. See also attribute_limits. limits: diff --git a/schema/common.json b/schema/common.json index 2e7b918a..f4ddf0d3 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,24 +27,37 @@ "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"] + "type": [ + "string", + "null" + ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "#/$defs/HttpTls" }, "headers": { @@ -52,98 +67,179 @@ } }, "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..50a78c80 --- /dev/null +++ b/schema/common.json5 @@ -0,0 +1,287 @@ +{ + "$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": { + "type": [ + "string", + "null" + ] + }, + "tls": { + description: "Configure TLS settings for the exporter.", + "$ref": "#/$defs/HttpTls" + }, + "headers": { + "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 From 9937f66852675358ddd788441237d7172b84b18b Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 17:42:40 -0800 Subject: [PATCH 08/22] update types Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- schema-docs.md | 69 +++++++++++++++++++---------- schema/meta_schema_types.yaml | 82 ----------------------------------- 2 files changed, 46 insertions(+), 105 deletions(-) diff --git a/schema-docs.md b/schema-docs.md index 7d4fa945..ca4e50d7 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -1957,7 +1957,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `output_stream` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `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 @@ -1988,6 +1988,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" @@ -2739,10 +2740,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `client_key_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `client_certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `insecure` | one of:
* `boolean`
* `null`
| `false` | No constraints. | TODO | +| `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 @@ -2776,24 +2777,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" @@ -2807,9 +2812,9 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `client_key_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `client_certificate_file` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `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 @@ -2842,18 +2847,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" @@ -2867,8 +2875,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `included` | `array` of `string` | `false` | No constraints. | TODO | -| `excluded` | `array` of `string` | `false` | No constraints. | TODO | +| `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 @@ -2898,12 +2906,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" @@ -4258,8 +4268,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `true` | No constraints. | TODO | -| `value` | one of:
* `string`
* `null`
| `true` | No constraints. | TODO | +| `name` | `string` | `true` | No constraints. | The name of the pair. | +| `value` | one of:
* `string`
* `null`
| `true` | No constraints. | The value of the pair. |
Language support status @@ -4291,9 +4301,11 @@ Usages: "additionalProperties": false, "properties": { "name": { + "description": "The name of the pair.", "type": "string" }, "value": { + "description": "The value of the pair.", "type": [ "string", "null" @@ -4504,12 +4516,12 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | -| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `tls` | [`GrpcTls`](#grpctls) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -4545,33 +4557,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" @@ -4720,11 +4738,11 @@ Usages: |---|---|---|---|---| | `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | | `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | -| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | No constraints. | TODO | -| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -4767,6 +4785,7 @@ Usages: ] }, "tls": { + "description": "Configure TLS settings for the exporter.", "$ref": "#/$defs/HttpTls" }, "headers": { @@ -4776,18 +4795,21 @@ Usages: } }, "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" @@ -4795,6 +4817,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" } } diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index bda369bf..e7451e0e 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -294,10 +294,6 @@ - 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: @@ -438,60 +434,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: @@ -571,9 +527,7 @@ - type: NameStringValuePair properties: - property: name - description: The name of the pair. - property: value - description: The value of the pair. isSdkExtensionPlugin: false - type: OpenCensusMetricProducer properties: [] @@ -597,30 +551,11 @@ - 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: @@ -678,27 +613,10 @@ 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: From f01f39d9c2c35b11e2b993f659a22cb33bd17842 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 17:46:50 -0800 Subject: [PATCH 09/22] more descriptions Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 8 ++++++-- examples/sdk-config.yaml | 8 ++++++-- examples/sdk-migration-config.yaml | 8 ++++++-- schema-docs.md | 8 ++++++-- schema/meta_schema_types.yaml | 8 -------- schema/opentelemetry_configuration.json | 2 ++ schema/opentelemetry_configuration.json5 | 8 +++++++- 7 files changed, 33 insertions(+), 17 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index ea484c81..1a7870cd 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -17,9 +17,13 @@ disabled: false log_level: info # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # TODO + # Configure max attribute value size. + # Value must be non-negative. + # If omitted or null, there is no limit. attribute_value_length_limit: 4096 - # TODO + # Configure max attribute count. + # Value must be non-negative. + # If omitted or null, 128 is used. attribute_count_limit: 128 # Configure logger provider. # If omitted, a noop logger provider is used. diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index e3e4beaf..e7aa797f 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -27,9 +27,13 @@ resource: value: unknown_service # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # TODO + # Configure max attribute value size. + # Value must be non-negative. + # If omitted or null, there is no limit. attribute_value_length_limit: - # TODO + # Configure max attribute count. + # Value must be non-negative. + # If omitted or null, 128 is used. attribute_count_limit: 128 # Configure text map context propagators. # If omitted, a noop propagator is used. diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 023253ed..0c29b0c8 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -59,9 +59,13 @@ resource: attributes_list: ${OTEL_RESOURCE_ATTRIBUTES} # Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. attribute_limits: - # TODO + # 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} - # TODO + # Configure max attribute count. + # Value must be non-negative. + # If omitted or null, 128 is used. attribute_count_limit: ${OTEL_ATTRIBUTE_COUNT_LIMIT:-128} # Configure text map context propagators. # If omitted, a noop propagator is used. diff --git a/schema-docs.md b/schema-docs.md index ca4e50d7..1f4c8daf 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -131,8 +131,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `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 +160,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 +168,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" @@ -4450,6 +4452,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" @@ -4457,6 +4460,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" diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index e7451e0e..956e3e6c 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -22,15 +22,7 @@ - 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: diff --git a/schema/opentelemetry_configuration.json b/schema/opentelemetry_configuration.json index b401977f..fffd3bb6 100644 --- a/schema/opentelemetry_configuration.json +++ b/schema/opentelemetry_configuration.json @@ -61,6 +61,7 @@ "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" @@ -68,6 +69,7 @@ "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" diff --git a/schema/opentelemetry_configuration.json5 b/schema/opentelemetry_configuration.json5 index 947c2620..901a33d7 100644 --- a/schema/opentelemetry_configuration.json5 +++ b/schema/opentelemetry_configuration.json5 @@ -68,8 +68,11 @@ If omitted, the default resource is used.", "AttributeLimits": { "type": "object", "additionalProperties": false, - "properties": { + 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" @@ -77,6 +80,9 @@ If omitted, the default resource is used.", "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" From 0c5d9dd15fab65cf41f804dac5a798ad4295fa22 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 17:51:12 -0800 Subject: [PATCH 10/22] add propagator Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 21 +++--- examples/sdk-config.yaml | 8 ++- examples/sdk-migration-config.yaml | 9 ++- schema-docs.md | 30 +++++--- schema/meta_schema_types.yaml | 15 ---- schema/propagator.json | 50 +++++++++++--- schema/propagator.json5 | 107 +++++++++++++++++++++++++++++ 7 files changed, 195 insertions(+), 45 deletions(-) create mode 100644 schema/propagator.json5 diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 1a7870cd..d495af3e 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -477,21 +477,26 @@ meter_provider: # Configure text map context propagators. # If omitted, a noop propagator is used. propagator: - # TODO + # 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: - - # TODO + - # Include the w3c trace context propagator. tracecontext: - - # TODO + - # Include the w3c baggage propagator. baggage: - - # TODO + - # Include the zipkin b3 propagator. b3: - - # TODO + - # Include the zipkin b3 multi propagator. b3multi: - - # TODO + - # Include the jaeger propagator. jaeger: - - # TODO + - # Include the opentracing propagator. ottrace: - # TODO + # 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_list: "tracecontext,baggage,b3,b3multi,jaeger,ottrace,xray" # Configure tracer provider. # If omitted, a noop tracer provider is used. diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index e7aa797f..da2ecb9e 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -38,11 +38,13 @@ attribute_limits: # Configure text map context propagators. # If omitted, a noop propagator is used. propagator: - # TODO + # 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: - - # TODO + - # Include the w3c trace context propagator. tracecontext: - - # TODO + - # Include the w3c baggage propagator. baggage: # Configure tracer provider. # If omitted, a noop tracer provider is used. diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 0c29b0c8..36af0751 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -70,9 +70,14 @@ attribute_limits: # Configure text map context propagators. # If omitted, a noop propagator is used. propagator: - # TODO + # 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: [] - # TODO + # 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_list: ${OTEL_PROPAGATORS:-tracecontext,baggage} # Configure tracer provider. # If omitted, a noop tracer provider is used. diff --git a/schema-docs.md b/schema-docs.md index 1f4c8daf..9e9a08c5 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -5062,8 +5062,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `composite` | `array` of [`TextMapPropagator`](#textmappropagator) | `false` | No constraints. | TODO | -| `composite_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `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 @@ -5090,12 +5090,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" @@ -5115,21 +5117,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" } } @@ -5963,12 +5971,12 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `tracecontext` | [`TraceContextPropagator`](#tracecontextpropagator) | `false` | No constraints. | TODO | -| `baggage` | [`BaggagePropagator`](#baggagepropagator) | `false` | No constraints. | TODO | -| `b3` | [`B3Propagator`](#b3propagator) | `false` | No constraints. | TODO | -| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | `false` | No constraints. | TODO | -| `jaeger` | [`JaegerPropagator`](#jaegerpropagator) | `false` | No constraints. | TODO | -| `ottrace` | [`OpenTracingPropagator`](#opentracingpropagator) | `false` | No constraints. | TODO | +| `tracecontext` | [`TraceContextPropagator`](#tracecontextpropagator) | `false` | No constraints. | Include the w3c trace context propagator. | +| `baggage` | [`BaggagePropagator`](#baggagepropagator) | `false` | No constraints. | Include the w3c baggage propagator. | +| `b3` | [`B3Propagator`](#b3propagator) | `false` | No constraints. | Include the zipkin b3 propagator. | +| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | `false` | No constraints. | Include the zipkin b3 multi propagator. | +| `jaeger` | [`JaegerPropagator`](#jaegerpropagator) | `false` | No constraints. | Include the jaeger propagator. | +| `ottrace` | [`OpenTracingPropagator`](#opentracingpropagator) | `false` | No constraints. | Include the opentracing propagator. |
Language support status @@ -6009,21 +6017,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" } } diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 956e3e6c..1e2851b1 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -702,16 +702,7 @@ - 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: @@ -835,17 +826,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: [] 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 From 698c5f1458db66229e3c4b980be5b01053c95f88 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 17:59:28 -0800 Subject: [PATCH 11/22] start of tracer config Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 99 +++--- examples/sdk-config.yaml | 54 ++-- examples/sdk-migration-config.yaml | 54 ++-- schema-docs.md | 106 ++++-- schema/common.json | 2 + schema/common.json5 | 4 + schema/meta_schema_types.yaml | 62 ---- schema/tracer_provider.json | 208 +++++++++--- schema/tracer_provider.json5 | 496 +++++++++++++++++++++++++++++ 9 files changed, 879 insertions(+), 206 deletions(-) create mode 100644 schema/tracer_provider.json5 diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index d495af3e..a04a1d0d 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -50,7 +50,8 @@ logger_provider: exporter: # Configure exporter to be OTLP with HTTP transport. otlp_http: - # TODO + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/logs # Configure TLS settings for the exporter. tls: @@ -66,7 +67,8 @@ logger_provider: # 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 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: - # The name of the pair. name: api-key @@ -501,23 +503,30 @@ propagator: # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: - # TODO + # Configure span processors. processors: - - # TODO + - # Configure a batch span processor. batch: - # TODO + # Configure delay interval (in milliseconds) between two consecutive exports. + # Value must be non-negative. + # If omitted or null, 5000 is used. schedule_delay: 5000 - # TODO + # 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 - # TODO + # Configure maximum queue size. Value must be positive. + # If omitted or null, 2048 is used. max_queue_size: 2048 - # TODO + # Configure maximum batch size. Value must be positive. + # If omitted or null, 512 is used. max_export_batch_size: 512 - # TODO + # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with HTTP transport. otlp_http: - # TODO + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/traces # Configure TLS settings for the exporter. tls: @@ -533,7 +542,8 @@ tracer_provider: # 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 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: - # The name of the pair. name: api-key @@ -555,11 +565,11 @@ tracer_provider: # Values include: protobuf, json. Implementations may not support json. # If omitted or null, protobuf is used. encoding: protobuf - - # TODO + - # Configure a batch span processor. batch: - # TODO + # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with gRPC transport. otlp_grpc: # Configure endpoint. # If omitted or null, http://localhost:4317 is used. @@ -601,45 +611,45 @@ tracer_provider: # Value must be non-negative. A value of 0 indicates no limit (infinity). # If omitted or null, 10000 is used. timeout: 10000 - - # TODO + - # Configure a batch span processor. batch: - # TODO + # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with file transport. #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: # Configure output stream. # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. # If omitted or null, stdout is used. output_stream: file:///var/log/traces.jsonl - - # TODO + - # Configure a batch span processor. batch: - # TODO + # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with file transport. #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: # Configure output stream. # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. # If omitted or null, stdout is used. output_stream: stdout - - # TODO + - # Configure a batch span processor. batch: - # TODO + # Configure exporter. exporter: - # TODO + # Configure exporter to be zipkin. zipkin: # TODO endpoint: http://localhost:9411/api/v2/spans # TODO timeout: 10000 - - # TODO + - # Configure a simple span processor. simple: # TODO exporter: - # TODO + # Configure exporter to be console. console: - # TODO + # Configure span limits. See also attribute_limits. limits: # TODO attribute_value_length_limit: 4096 @@ -653,28 +663,33 @@ tracer_provider: event_attribute_count_limit: 128 # TODO link_attribute_count_limit: 128 - # TODO + # Configure the sampler. + # If omitted, parent based sampler with a root of always_on is used. sampler: # TODO parent_based: - # TODO + # Configure root sampler. + # If omitted or null, always_on is used. root: # TODO trace_id_ratio_based: # TODO ratio: 0.0001 - # TODO + # Configure remote_parent_sampled sampler. + # If omitted or null, always_on is used. remote_parent_sampled: # TODO always_on: - # TODO + # Configure remote_parent_not_sampled sampler. + # If omitted or null, always_off is used. remote_parent_not_sampled: # TODO #This property is experimental and subject to breaking changes in minor versions. probability/development: # TODO ratio: 0.01 - # TODO + # Configure local_parent_sampled sampler. + # If omitted or null, always_on is used. local_parent_sampled: # TODO #This property is experimental and subject to breaking changes in minor versions. @@ -683,24 +698,28 @@ tracer_provider: probability: # TODO ratio: 0.001 - # TODO + # Configure local_parent_not_sampled sampler. + # If omitted or null, always_off is used. local_parent_not_sampled: # TODO always_off: - # TODO + # Configure tracers. #This property is experimental and subject to breaking changes in minor versions. tracer_configurator/development: - # TODO + # Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. default_config: - # TODO + # Configure if the tracer is enabled or not. disabled: true - # TODO + # Configure tracers. tracers: - - # TODO + - # 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: io.opentelemetry.contrib.* - # TODO + # The tracer config. config: - # TODO + # Configure if the tracer is enabled or not. disabled: false # Configure resource for all signals. # If omitted, the default resource is used. diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index da2ecb9e..3f2aa68a 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -49,23 +49,30 @@ propagator: # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: - # TODO + # Configure span processors. processors: - - # TODO + - # Configure a batch span processor. batch: - # TODO + # Configure delay interval (in milliseconds) between two consecutive exports. + # Value must be non-negative. + # If omitted or null, 5000 is used. schedule_delay: 5000 - # TODO + # 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 - # TODO + # Configure maximum queue size. Value must be positive. + # If omitted or null, 2048 is used. max_queue_size: 2048 - # TODO + # Configure maximum batch size. Value must be positive. + # If omitted or null, 512 is used. max_export_batch_size: 512 - # TODO + # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with HTTP transport. otlp_http: - # TODO + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/traces # Configure TLS settings for the exporter. tls: @@ -89,9 +96,10 @@ tracer_provider: # Value must be non-negative. A value of 0 indicates no limit (infinity). # If omitted or null, 10000 is used. timeout: 10000 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: [] - # TODO + # Configure span limits. See also attribute_limits. limits: # TODO attribute_value_length_limit: @@ -105,27 +113,33 @@ tracer_provider: event_attribute_count_limit: 128 # TODO link_attribute_count_limit: 128 - # TODO + # Configure the sampler. + # If omitted, parent based sampler with a root of always_on is used. sampler: # TODO parent_based: - # TODO + # Configure root sampler. + # If omitted or null, always_on is used. root: # TODO always_on: - # TODO + # Configure remote_parent_sampled sampler. + # If omitted or null, always_on is used. remote_parent_sampled: # TODO always_on: - # TODO + # Configure remote_parent_not_sampled sampler. + # If omitted or null, always_off is used. remote_parent_not_sampled: # TODO always_off: - # TODO + # Configure local_parent_sampled sampler. + # If omitted or null, always_on is used. local_parent_sampled: # TODO always_on: - # TODO + # Configure local_parent_not_sampled sampler. + # If omitted or null, always_off is used. local_parent_not_sampled: # TODO always_off: @@ -197,7 +211,8 @@ logger_provider: exporter: # Configure exporter to be OTLP with HTTP transport. otlp_http: - # TODO + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/logs # Configure TLS settings for the exporter. tls: @@ -221,7 +236,8 @@ logger_provider: # Value must be non-negative. A value of 0 indicates no limit (infinity). # If omitted or null, 10000 is used. timeout: 10000 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: [] # Configure log record limits. See also attribute_limits. limits: diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 36af0751..1a27c990 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -82,23 +82,30 @@ propagator: # Configure tracer provider. # If omitted, a noop tracer provider is used. tracer_provider: - # TODO + # Configure span processors. processors: - - # TODO + - # Configure a batch span processor. batch: - # TODO + # 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} - # TODO + # 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} - # TODO + # Configure maximum queue size. Value must be positive. + # If omitted or null, 2048 is used. max_queue_size: ${OTEL_BSP_MAX_QUEUE_SIZE:-2048} - # TODO + # Configure maximum batch size. Value must be positive. + # If omitted or null, 512 is used. max_export_batch_size: ${OTEL_BSP_MAX_EXPORT_BATCH_SIZE:-512} - # TODO + # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with HTTP transport. otlp_http: - # TODO + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: ${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://localhost:4318/v1/traces} # Configure TLS settings for the exporter. tls: @@ -122,13 +129,14 @@ tracer_provider: # Value must be non-negative. A value of 0 indicates no limit (infinity). # If omitted or null, 10000 is used. timeout: ${OTEL_EXPORTER_OTLP_TRACES_TIMEOUT:-10000} - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: [] # Configure headers. Entries have lower priority than entries from .headers. # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. # If omitted or null, no headers are added. headers_list: ${OTEL_EXPORTER_OTLP_TRACES_HEADERS} - # TODO + # Configure span limits. See also attribute_limits. limits: # TODO attribute_value_length_limit: ${OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT} @@ -142,27 +150,33 @@ tracer_provider: event_attribute_count_limit: ${OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT:-128} # TODO link_attribute_count_limit: ${OTEL_LINK_ATTRIBUTE_COUNT_LIMIT:-128} - # TODO + # Configure the sampler. + # If omitted, parent based sampler with a root of always_on is used. sampler: # TODO parent_based: - # TODO + # Configure root sampler. + # If omitted or null, always_on is used. root: # TODO always_on: - # TODO + # Configure remote_parent_sampled sampler. + # If omitted or null, always_on is used. remote_parent_sampled: # TODO always_on: - # TODO + # Configure remote_parent_not_sampled sampler. + # If omitted or null, always_off is used. remote_parent_not_sampled: # TODO always_off: - # TODO + # Configure local_parent_sampled sampler. + # If omitted or null, always_on is used. local_parent_sampled: # TODO always_on: - # TODO + # Configure local_parent_not_sampled sampler. + # If omitted or null, always_off is used. local_parent_not_sampled: # TODO always_off: @@ -238,7 +252,8 @@ logger_provider: exporter: # Configure exporter to be OTLP with HTTP transport. otlp_http: - # TODO + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: ${OTEL_EXPORTER_OTLP_LOGS_ENDPOINT:-http://localhost:4318/v1/logs} # Configure TLS settings for the exporter. tls: @@ -262,7 +277,8 @@ logger_provider: # Value must be non-negative. A value of 0 indicates no limit (infinity). # If omitted or null, 10000 is used. timeout: ${OTEL_EXPORTER_OTLP_LOGS_TIMEOUT:-10000} - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: [] # Configure headers. Entries have lower priority than entries from .headers. # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. diff --git a/schema-docs.md b/schema-docs.md index 9e9a08c5..a7e90fed 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -543,11 +543,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `schedule_delay` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `export_timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `max_queue_size` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `max_export_batch_size` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | TODO | +| `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. |
Language support status @@ -579,6 +579,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" @@ -586,6 +587,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" @@ -593,6 +595,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" @@ -600,6 +603,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" @@ -607,6 +611,7 @@ Usages: "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -2461,7 +2466,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | TODO | +| `disabled` | `boolean` | `false` | No constraints. | Configure if the tracer is enabled or not. |
Language support status @@ -2491,6 +2496,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the tracer is enabled or not.", "type": [ "boolean" ] @@ -2506,8 +2512,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | TODO | -| `tracers` | `array` of [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | `false` | No constraints. | TODO | +| `default_config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. | +| `tracers` | `array` of [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | `false` | No constraints. | Configure tracers. |
Language support status @@ -2537,9 +2543,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" @@ -2556,8 +2564,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `false` | No constraints. | TODO | -| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -2587,11 +2595,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" } } @@ -4740,8 +4750,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | +| `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. | @@ -4783,6 +4793,7 @@ 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" @@ -4793,6 +4804,7 @@ Usages: "$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" @@ -4930,11 +4942,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `root` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | -| `remote_parent_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | -| `remote_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | -| `local_parent_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | -| `local_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | +| `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 @@ -4968,18 +4980,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" } } @@ -5738,11 +5755,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | TODO | -| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | TODO | -| `otlp_file/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | `false` | No constraints. | TODO | -| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | TODO | -| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | `false` | No constraints. | TODO | +| `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. | +| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. | +| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | `false` | No constraints. | Configure exporter to be zipkin. |
Language support status @@ -5783,18 +5800,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" } } @@ -5893,8 +5915,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `batch` | [`BatchSpanProcessor`](#batchspanprocessor) | `false` | No constraints. | TODO | -| `simple` | [`SimpleSpanProcessor`](#simplespanprocessor) | `false` | No constraints. | TODO | +| `batch` | [`BatchSpanProcessor`](#batchspanprocessor) | `false` | No constraints. | Configure a batch span processor. | +| `simple` | [`SimpleSpanProcessor`](#simplespanprocessor) | `false` | No constraints. | Configure a simple span processor. |
Language support status @@ -5931,9 +5953,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" } } @@ -6118,10 +6142,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | `true` | * `minItems`: `1`
| TODO | -| `limits` | [`SpanLimits`](#spanlimits) | `false` | No constraints. | TODO | -| `sampler` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | -| `tracer_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -6154,6 +6178,7 @@ Usages: "additionalProperties": false, "properties": { "processors": { + "description": "Configure span processors. ", "type": "array", "minItems": 1, "items": { @@ -6161,12 +6186,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" } }, @@ -6179,6 +6207,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" @@ -6186,6 +6215,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" @@ -6193,6 +6223,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" @@ -6200,6 +6231,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" @@ -6207,6 +6239,7 @@ Usages: "exclusiveMinimum": 0 }, "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -6295,18 +6328,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" } } @@ -6449,18 +6487,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" } } @@ -6525,9 +6568,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" } } @@ -6561,9 +6606,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" @@ -6578,11 +6625,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" } } @@ -6594,6 +6643,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the tracer is enabled or not.", "type": [ "boolean" ] diff --git a/schema/common.json b/schema/common.json index f4ddf0d3..3bf7f173 100644 --- a/schema/common.json +++ b/schema/common.json @@ -51,6 +51,7 @@ "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" @@ -61,6 +62,7 @@ "$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" diff --git a/schema/common.json5 b/schema/common.json5 index 50a78c80..2ad3688e 100644 --- a/schema/common.json5 +++ b/schema/common.json5 @@ -59,6 +59,8 @@ If omitted, .included attributes are included.", "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" @@ -69,6 +71,8 @@ If omitted, .included attributes are included.", "$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" diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 1e2851b1..56fb9298 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -78,25 +78,10 @@ - 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: @@ -376,25 +361,16 @@ - 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: @@ -597,13 +573,7 @@ - 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 - property: compression - property: timeout @@ -660,25 +630,10 @@ - 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: @@ -722,8 +677,6 @@ - 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. @@ -769,16 +722,10 @@ - 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: @@ -816,9 +763,7 @@ - type: SpanProcessor properties: - property: batch - description: Configure a batch span processor. - property: simple - description: Configure a simple span processor. isSdkExtensionPlugin: true - type: SumAggregation properties: [] @@ -845,16 +790,9 @@ - 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: diff --git a/schema/tracer_provider.json b/schema/tracer_provider.json index f350f0a9..ccec5d6e 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,7 +77,10 @@ "Sampler": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, @@ -85,22 +109,37 @@ } }, "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"] + "type": [ + "string", + "null" + ] }, "interval": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "initial_sampler": { @@ -109,58 +148,87 @@ } }, "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"], + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 } } }, "TraceIdRatioBasedSampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "ratio": { - "type": ["number", "null"], + "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": { @@ -181,11 +249,17 @@ } }, "ExperimentalComposableProbabilitySampler": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "ratio": { - "type": ["number", "null"], + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 } @@ -194,7 +268,10 @@ "ExperimentalComposableSampler": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, @@ -228,24 +305,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 +340,45 @@ "additionalProperties": false, "properties": { "attribute_value_length_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "attribute_count_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "event_count_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "link_count_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "event_attribute_count_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "link_attribute_count_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 } } @@ -283,40 +386,58 @@ "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"] + "type": [ + "string", + "null" + ] }, "timeout": { - "type": ["integer", "null"], + "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 +446,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..9f344659 --- /dev/null +++ b/schema/tracer_provider.json5 @@ -0,0 +1,496 @@ +{ + "$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": { + "$ref": "#/$defs/AlwaysOffSampler" + }, + "always_on": { + "$ref": "#/$defs/AlwaysOnSampler" + }, + "composite/development": { + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "jaeger_remote/development": { + "$ref": "#/$defs/ExperimentalJaegerRemoteSampler" + }, + "parent_based": { + "$ref": "#/$defs/ParentBasedSampler" + }, + "probability/development": { + "$ref": "#/$defs/ExperimentalProbabilitySampler" + }, + "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": { + "type": [ + "string", + "null" + ] + }, + "interval": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "initial_sampler": { + "$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": { + "type": [ + "number", + "null" + ], + "minimum": 0, + "maximum": 1 + } + } + }, + "TraceIdRatioBasedSampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "ratio": { + "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": { + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "remote_parent_sampled": { + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "remote_parent_not_sampled": { + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "local_parent_sampled": { + "$ref": "#/$defs/ExperimentalComposableSampler" + }, + "local_parent_not_sampled": { + "$ref": "#/$defs/ExperimentalComposableSampler" + } + } + }, + "ExperimentalComposableProbabilitySampler": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + properties: { + "ratio": { + "type": [ + "number", + "null" + ], + "minimum": 0, + "maximum": 1 + } + } + }, + "ExperimentalComposableSampler": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + properties: { + "always_off": { + "$ref": "#/$defs/ExperimentalComposableAlwaysOffSampler" + }, + "always_on": { + "$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler" + }, + "parent_based": { + "$ref": "#/$defs/ExperimentalComposableParentBasedSampler" + }, + "probability": { + "$ref": "#/$defs/ExperimentalComposableProbabilitySampler" + } + } + }, + "SimpleSpanProcessor": { + "type": "object", + "additionalProperties": false, + properties: { + "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": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "attribute_count_limit": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "event_count_limit": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "link_count_limit": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "event_attribute_count_limit": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "link_attribute_count_limit": { + "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": { + "type": [ + "string", + "null" + ] + }, + "timeout": { + "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 From 8704a537f758412e1123a148884516745df7bbbd Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 20:10:57 -0800 Subject: [PATCH 12/22] span limits Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 24 ++++++++++++++++++------ examples/sdk-config.yaml | 24 ++++++++++++++++++------ examples/sdk-migration-config.yaml | 24 ++++++++++++++++++------ schema-docs.md | 24 ++++++++++++++++++------ schema/tracer_provider.json | 6 ++++++ schema/tracer_provider.json5 | 18 ++++++++++++++++++ 6 files changed, 96 insertions(+), 24 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index a04a1d0d..a7f43c6a 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -651,17 +651,29 @@ tracer_provider: console: # Configure span limits. See also attribute_limits. limits: - # TODO + # 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 - # TODO + # 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 - # TODO + # Configure max span event count. + # Value must be non-negative. + # If omitted or null, 128 is used. event_count_limit: 128 - # TODO + # Configure max span link count. + # Value must be non-negative. + # If omitted or null, 128 is used. link_count_limit: 128 - # TODO + # Configure max attributes per span event. + # Value must be non-negative. + # If omitted or null, 128 is used. event_attribute_count_limit: 128 - # TODO + # Configure max attributes per span link. + # Value must be non-negative. + # If omitted or null, 128 is used. link_attribute_count_limit: 128 # Configure the sampler. # If omitted, parent based sampler with a root of always_on is used. diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 3f2aa68a..068bf356 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -101,17 +101,29 @@ tracer_provider: headers: [] # Configure span limits. See also attribute_limits. limits: - # TODO + # 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: - # TODO + # 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 - # TODO + # Configure max span event count. + # Value must be non-negative. + # If omitted or null, 128 is used. event_count_limit: 128 - # TODO + # Configure max span link count. + # Value must be non-negative. + # If omitted or null, 128 is used. link_count_limit: 128 - # TODO + # Configure max attributes per span event. + # Value must be non-negative. + # If omitted or null, 128 is used. event_attribute_count_limit: 128 - # TODO + # Configure max attributes per span link. + # Value must be non-negative. + # If omitted or null, 128 is used. link_attribute_count_limit: 128 # Configure the sampler. # If omitted, parent based sampler with a root of always_on is used. diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 1a27c990..8767cbb0 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -138,17 +138,29 @@ tracer_provider: headers_list: ${OTEL_EXPORTER_OTLP_TRACES_HEADERS} # Configure span limits. See also attribute_limits. limits: - # TODO + # 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_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT} - # TODO + # 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_SPAN_ATTRIBUTE_COUNT_LIMIT:-128} - # TODO + # Configure max span event count. + # Value must be non-negative. + # If omitted or null, 128 is used. event_count_limit: ${OTEL_SPAN_EVENT_COUNT_LIMIT:-128} - # TODO + # Configure max span link count. + # Value must be non-negative. + # If omitted or null, 128 is used. link_count_limit: ${OTEL_SPAN_LINK_COUNT_LIMIT:-128} - # TODO + # Configure max attributes per span event. + # Value must be non-negative. + # If omitted or null, 128 is used. event_attribute_count_limit: ${OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT:-128} - # TODO + # Configure max attributes per span link. + # 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. # If omitted, parent based sampler with a root of always_on is used. diff --git a/schema-docs.md b/schema-docs.md index a7e90fed..fa9a5cb7 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -5827,12 +5827,12 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `attribute_value_length_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `event_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `link_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `event_attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `link_attribute_count_limit` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `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 @@ -5864,6 +5864,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" @@ -5871,6 +5872,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" @@ -5878,6 +5880,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" @@ -5885,6 +5888,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" @@ -5892,6 +5896,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" @@ -5899,6 +5904,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" @@ -6513,6 +6519,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" @@ -6520,6 +6527,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" @@ -6527,6 +6535,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" @@ -6534,6 +6543,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" @@ -6541,6 +6551,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" @@ -6548,6 +6559,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" diff --git a/schema/tracer_provider.json b/schema/tracer_provider.json index ccec5d6e..dd314087 100644 --- a/schema/tracer_provider.json +++ b/schema/tracer_provider.json @@ -340,6 +340,7 @@ "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" @@ -347,6 +348,7 @@ "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" @@ -354,6 +356,7 @@ "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" @@ -361,6 +364,7 @@ "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" @@ -368,6 +372,7 @@ "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" @@ -375,6 +380,7 @@ "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" diff --git a/schema/tracer_provider.json5 b/schema/tracer_provider.json5 index 9f344659..71a1e90b 100644 --- a/schema/tracer_provider.json5 +++ b/schema/tracer_provider.json5 @@ -352,6 +352,9 @@ If omitted or null, always_off is used.", "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" @@ -359,6 +362,9 @@ If omitted or null, always_off is used.", "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" @@ -366,6 +372,9 @@ If omitted or null, always_off is used.", "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" @@ -373,6 +382,9 @@ If omitted or null, always_off is used.", "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" @@ -380,6 +392,9 @@ If omitted or null, always_off is used.", "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" @@ -387,6 +402,9 @@ If omitted or null, always_off is used.", "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" From 9863543182c47fc0a2f2ba5fd4f41fd2c05651fe Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 20:15:40 -0800 Subject: [PATCH 13/22] samplers Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 14 +++++----- examples/sdk-config.yaml | 12 ++++----- examples/sdk-migration-config.yaml | 12 ++++----- schema-docs.md | 42 +++++++++++++++++++++++------- schema/meta_schema_types.yaml | 31 ---------------------- schema/tracer_provider.json | 11 ++++++++ schema/tracer_provider.json5 | 11 ++++++++ 7 files changed, 73 insertions(+), 60 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index a7f43c6a..314444e6 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -678,24 +678,24 @@ tracer_provider: # Configure the sampler. # If omitted, parent based sampler with a root of always_on is used. sampler: - # TODO + # Configure sampler to be parent_based. parent_based: # Configure root sampler. # If omitted or null, always_on is used. root: - # TODO + # Configure sampler to be trace_id_ratio_based. trace_id_ratio_based: # TODO ratio: 0.0001 # Configure remote_parent_sampled sampler. # If omitted or null, always_on is used. remote_parent_sampled: - # TODO + # Configure sampler to be always_on. always_on: # Configure remote_parent_not_sampled sampler. # If omitted or null, always_off is used. remote_parent_not_sampled: - # TODO + # Configure sampler to be probability. #This property is experimental and subject to breaking changes in minor versions. probability/development: # TODO @@ -703,17 +703,17 @@ tracer_provider: # Configure local_parent_sampled sampler. # If omitted or null, always_on is used. local_parent_sampled: - # TODO + # Configure sampler to be composite. #This property is experimental and subject to breaking changes in minor versions. composite/development: - # TODO + # Configure sampler to be probability. probability: # TODO ratio: 0.001 # Configure local_parent_not_sampled sampler. # If omitted or null, always_off is used. local_parent_not_sampled: - # TODO + # Configure sampler to be always_off. always_off: # Configure tracers. #This property is experimental and subject to breaking changes in minor versions. diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 068bf356..bbfeb356 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -128,32 +128,32 @@ tracer_provider: # Configure the sampler. # If omitted, parent based sampler with a root of always_on is used. sampler: - # TODO + # Configure sampler to be parent_based. parent_based: # Configure root sampler. # If omitted or null, always_on is used. root: - # TODO + # Configure sampler to be always_on. always_on: # Configure remote_parent_sampled sampler. # If omitted or null, always_on is used. remote_parent_sampled: - # TODO + # Configure sampler to be always_on. always_on: # Configure remote_parent_not_sampled sampler. # If omitted or null, always_off is used. remote_parent_not_sampled: - # TODO + # Configure sampler to be always_off. always_off: # Configure local_parent_sampled sampler. # If omitted or null, always_on is used. local_parent_sampled: - # TODO + # Configure sampler to be always_on. always_on: # Configure local_parent_not_sampled sampler. # If omitted or null, always_off is used. local_parent_not_sampled: - # TODO + # Configure sampler to be always_off. always_off: # Configure meter provider. # If omitted, a noop meter provider is used. diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 8767cbb0..172abcd9 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -165,32 +165,32 @@ tracer_provider: # Configure the sampler. # If omitted, parent based sampler with a root of always_on is used. sampler: - # TODO + # Configure sampler to be parent_based. parent_based: # Configure root sampler. # If omitted or null, always_on is used. root: - # TODO + # Configure sampler to be always_on. always_on: # Configure remote_parent_sampled sampler. # If omitted or null, always_on is used. remote_parent_sampled: - # TODO + # Configure sampler to be always_on. always_on: # Configure remote_parent_not_sampled sampler. # If omitted or null, always_off is used. remote_parent_not_sampled: - # TODO + # Configure sampler to be always_off. always_off: # Configure local_parent_sampled sampler. # If omitted or null, always_on is used. local_parent_sampled: - # TODO + # Configure sampler to be always_on. always_on: # Configure local_parent_not_sampled sampler. # If omitted or null, always_off is used. local_parent_not_sampled: - # TODO + # Configure sampler to be always_off. always_off: diff --git a/schema-docs.md b/schema-docs.md index fa9a5cb7..5def56ee 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -1064,10 +1064,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `always_off` | [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | `false` | No constraints. | TODO | -| `always_on` | [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | `false` | No constraints. | TODO | -| `probability` | [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | `false` | No constraints. | TODO | -| `parent_based` | [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | `false` | No constraints. | TODO | +| `always_off` | [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | `false` | No constraints. | Configure sampler to be always_off. | +| `always_on` | [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | `false` | No constraints. | Configure sampler to be always_on. | +| `probability` | [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | `false` | No constraints. | Configure sampler to be probability. | +| `parent_based` | [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | `false` | No constraints. | Configure sampler to be parent_based. |
Language support status @@ -1111,15 +1111,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" } } @@ -5588,13 +5592,13 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `always_off` | [`AlwaysOffSampler`](#alwaysoffsampler) | `false` | No constraints. | TODO | -| `always_on` | [`AlwaysOnSampler`](#alwaysonsampler) | `false` | No constraints. | TODO | -| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | `false` | No constraints. | TODO | -| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | `false` | No constraints. | TODO | -| `probability/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | `false` | No constraints. | TODO | +| `always_off` | [`AlwaysOffSampler`](#alwaysoffsampler) | `false` | No constraints. | Configure sampler to be always_off. | +| `always_on` | [`AlwaysOnSampler`](#alwaysonsampler) | `false` | No constraints. | Configure sampler to be always_on. | +| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | `false` | No constraints. | Configure sampler to be parent_based. | +| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | `false` | No constraints. | Configure sampler to be trace_id_ratio_based. | +| `probability/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | `false` | No constraints. | Configure sampler to be probability. | | `jaeger_remote/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | `false` | No constraints. | TODO | -| `composite/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | +| `composite/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configure sampler to be composite. |
Language support status @@ -5642,24 +5646,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" } } @@ -6265,24 +6276,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" } } @@ -6456,15 +6474,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" } } diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 56fb9298..24c5f06b 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -697,11 +697,8 @@ - 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 @@ -730,35 +727,11 @@ - 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: @@ -891,13 +864,9 @@ - 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: diff --git a/schema/tracer_provider.json b/schema/tracer_provider.json index dd314087..0f6a07ad 100644 --- a/schema/tracer_provider.json +++ b/schema/tracer_provider.json @@ -86,24 +86,31 @@ "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" } } @@ -277,15 +284,19 @@ "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" } } diff --git a/schema/tracer_provider.json5 b/schema/tracer_provider.json5 index 71a1e90b..277b421c 100644 --- a/schema/tracer_provider.json5 +++ b/schema/tracer_provider.json5 @@ -93,24 +93,31 @@ If omitted or null, 512 is used.", "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" } } @@ -289,15 +296,19 @@ If omitted or null, always_off is used.", "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" } } From 05a91ea06f5044e66b7dbef2601e0cd6d6cddc31 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 20:28:24 -0800 Subject: [PATCH 14/22] meter provider Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 61 ++- examples/sdk-config.yaml | 6 +- examples/sdk-migration-config.yaml | 6 +- schema-docs.md | 44 +- schema/meta_schema_types.yaml | 38 -- schema/meter_provider.json | 309 ++++++++++--- schema/meter_provider.json5 | 712 +++++++++++++++++++++++++++++ 7 files changed, 1041 insertions(+), 135 deletions(-) create mode 100644 schema/meter_provider.json5 diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 314444e6..3635c697 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -194,7 +194,7 @@ logger_provider: # Configure meter provider. # If omitted, a noop meter provider is used. meter_provider: - # TODO + # Configure metric readers. readers: - # TODO pull: @@ -233,21 +233,30 @@ meter_provider: opencensus: # TODO cardinality_limits: - # TODO + # Configure default cardinality limit for all instrument types. + # Instrument-specific cardinality limits take priority. + # If omitted or null, 2000 is used. default: 2000 - # TODO + # Configure default cardinality limit for counter instruments. + # If omitted or null, the value from .default is used. counter: 2000 - # TODO + # Configure default cardinality limit for gauge instruments. + # If omitted or null, the value from .default is used. gauge: 2000 - # TODO + # Configure default cardinality limit for histogram instruments. + # If omitted or null, the value from .default is used. histogram: 2000 - # TODO + # Configure default cardinality limit for observable_counter instruments. + # If omitted or null, the value from .default is used. observable_counter: 2000 - # TODO + # Configure default cardinality limit for observable_gauge instruments. + # If omitted or null, the value from .default is used. observable_gauge: 2000 - # TODO + # Configure default cardinality limit for observable_up_down_counter instruments. + # If omitted or null, the value from .default is used. observable_up_down_counter: 2000 - # TODO + # Configure default cardinality limit for up_down_counter instruments. + # If omitted or null, the value from .default is used. up_down_counter: 2000 - # TODO periodic: @@ -299,21 +308,30 @@ meter_provider: opencensus: # TODO cardinality_limits: - # TODO + # Configure default cardinality limit for all instrument types. + # Instrument-specific cardinality limits take priority. + # If omitted or null, 2000 is used. default: 2000 - # TODO + # Configure default cardinality limit for counter instruments. + # If omitted or null, the value from .default is used. counter: 2000 - # TODO + # Configure default cardinality limit for gauge instruments. + # If omitted or null, the value from .default is used. gauge: 2000 - # TODO + # Configure default cardinality limit for histogram instruments. + # If omitted or null, the value from .default is used. histogram: 2000 - # TODO + # Configure default cardinality limit for observable_counter instruments. + # If omitted or null, the value from .default is used. observable_counter: 2000 - # TODO + # Configure default cardinality limit for observable_gauge instruments. + # If omitted or null, the value from .default is used. observable_gauge: 2000 - # TODO + # Configure default cardinality limit for observable_up_down_counter instruments. + # If omitted or null, the value from .default is used. observable_up_down_counter: 2000 - # TODO + # Configure default cardinality limit for up_down_counter instruments. + # If omitted or null, the value from .default is used. up_down_counter: 2000 - # TODO periodic: @@ -393,7 +411,8 @@ meter_provider: temporality_preference: delta # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - # TODO + # Configure views. + # Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). views: - # TODO selector: @@ -459,9 +478,11 @@ meter_provider: # If omitted, .included attributes are included. excluded: - key3 - # TODO + # 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 - # TODO + # Configure meters. #This property is experimental and subject to breaking changes in minor versions. meter_configurator/development: # TODO diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index bbfeb356..5eef6818 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -158,7 +158,7 @@ tracer_provider: # Configure meter provider. # If omitted, a noop meter provider is used. meter_provider: - # TODO + # Configure metric readers. readers: - # TODO periodic: @@ -196,7 +196,9 @@ meter_provider: temporality_preference: cumulative # TODO default_histogram_aggregation: explicit_bucket_histogram - # TODO + # 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 logger provider. # If omitted, a noop logger provider is used. diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 172abcd9..02db890d 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -197,7 +197,7 @@ tracer_provider: # Configure meter provider. # If omitted, a noop meter provider is used. meter_provider: - # TODO + # Configure metric readers. readers: - # TODO periodic: @@ -237,7 +237,9 @@ meter_provider: temporality_preference: ${OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE:-cumulative} # TODO default_histogram_aggregation: ${OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION:-explicit_bucket_histogram} - # TODO + # 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} # Configure logger provider. # If omitted, a noop logger provider is used. diff --git a/schema-docs.md b/schema-docs.md index 5def56ee..aae573f9 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -625,14 +625,14 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `default` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `gauge` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `histogram` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `observable_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `observable_gauge` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `observable_up_down_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `up_down_counter` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | +| `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 @@ -667,6 +667,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" @@ -674,6 +675,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" @@ -681,6 +683,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" @@ -688,6 +691,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" @@ -695,6 +699,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" @@ -702,6 +707,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" @@ -709,6 +715,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" @@ -716,6 +723,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" @@ -3466,10 +3474,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `readers` | `array` of [`MetricReader`](#metricreader) | `true` | * `minItems`: `1`
| TODO | -| `views` | `array` of [`View`](#view) | `false` | No constraints. | TODO | -| `exemplar_filter` | [`ExemplarFilter`](#exemplarfilter) | `false` | No constraints. | TODO | -| `meter_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -3502,6 +3510,7 @@ Usages: "additionalProperties": false, "properties": { "readers": { + "description": "Configure metric readers.", "type": "array", "minItems": 1, "items": { @@ -3509,15 +3518,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" } }, @@ -3597,6 +3609,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" @@ -3604,6 +3617,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" @@ -3611,6 +3625,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" @@ -3618,6 +3633,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" @@ -3625,6 +3641,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" @@ -3632,6 +3649,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" @@ -3639,6 +3657,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" @@ -3646,6 +3665,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" diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 24c5f06b..8d9d1bb1 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -86,38 +86,13 @@ - 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: [] @@ -466,19 +441,9 @@ - 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: @@ -700,12 +665,9 @@ - property: always_on - property: 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 - property: composite/development - description: Configure sampler to be composite. isSdkExtensionPlugin: true - type: SimpleLogRecordProcessor properties: diff --git a/schema/meter_provider.json b/schema/meter_provider.json index 19c675f5..934d488c 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,11 +48,17 @@ "additionalProperties": false, "properties": { "interval": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "timeout": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "exporter": { @@ -91,35 +104,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,7 +172,10 @@ "PushMetricExporter": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, @@ -149,7 +197,10 @@ "PullMetricExporter": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, @@ -162,7 +213,10 @@ "MetricProducer": { "type": "object", "additionalProperties": { - "type": ["object", "null"] + "type": [ + "object", + "null" + ] }, "minProperties": 1, "maxProperties": 1, @@ -173,27 +227,45 @@ } }, "OpenCensusMetricProducer": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false }, "ExperimentalPrometheusMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "host": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "port": { - "type": ["integer", "null"] + "type": [ + "integer", + "null" + ] }, "without_scope_info": { - "type": ["boolean", "null"] + "type": [ + "boolean", + "null" + ] }, "with_resource_constant_labels": { "$ref": "common.json#/$defs/IncludeExclude" }, "translation_strategy": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "UnderscoreEscapingWithSuffixes", "UnderscoreEscapingWithoutSuffixes", @@ -218,7 +290,10 @@ } }, "ExporterTemporalityPreference": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "cumulative", "delta", @@ -226,18 +301,27 @@ ] }, "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"] + "type": [ + "string", + "null" + ] }, "tls": { "$ref": "common.json#/$defs/HttpTls" @@ -249,13 +333,22 @@ } }, "headers_list": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "compression": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "timeout": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "encoding": { @@ -270,11 +363,17 @@ } }, "OtlpGrpcMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "endpoint": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "tls": { "$ref": "common.json#/$defs/GrpcTls" @@ -286,13 +385,22 @@ } }, "headers_list": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "compression": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "timeout": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "minimum": 0 }, "temporality_preference": { @@ -304,11 +412,17 @@ } }, "ExperimentalOtlpFileMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "output_stream": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "temporality_preference": { "$ref": "#/$defs/ExporterTemporalityPreference" @@ -319,7 +433,10 @@ } }, "ConsoleMetricExporter": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "temporality_preference": { @@ -341,34 +458,55 @@ "$ref": "#/$defs/ViewStream" } }, - "required": ["selector", "stream"] + "required": [ + "selector", + "stream" + ] }, "ViewSelector": { "type": "object", "additionalProperties": false, "properties": { "instrument_name": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "instrument_type": { "$ref": "#/$defs/InstrumentType" }, "unit": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "meter_name": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "meter_version": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "meter_schema_url": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] } } }, "InstrumentType": { - "type": ["string", "null"], + "type": [ + "string", + "null" + ], "enum": [ "counter", "gauge", @@ -384,16 +522,25 @@ "additionalProperties": false, "properties": { "name": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "description": { - "type": ["string", "null"] + "type": [ + "string", + "null" + ] }, "aggregation": { "$ref": "#/$defs/Aggregation" }, "aggregation_cardinality_limit": { - "type": ["integer", "null"], + "type": [ + "integer", + "null" + ], "exclusiveMinimum": 0 }, "attribute_keys": { @@ -428,15 +575,24 @@ } }, "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": { @@ -446,35 +602,58 @@ } }, "record_min_max": { - "type": ["boolean", "null"] + "type": [ + "boolean", + "null" + ] } } }, "Base2ExponentialBucketHistogramAggregation": { - "type": ["object", "null"], + "type": [ + "object", + "null" + ], "additionalProperties": false, "properties": { "max_scale": { - "type": ["integer", "null"] + "type": [ + "integer", + "null" + ] }, "max_size": { - "type": ["integer", "null"] + "type": [ + "integer", + "null" + ] }, "record_min_max": { - "type": ["boolean", "null"] + "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": { @@ -489,11 +668,15 @@ } }, "ExperimentalMeterMatcherAndConfig": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "name": { - "type": ["string"] + "type": [ + "string" + ] }, "config": { "$ref": "#/$defs/ExperimentalMeterConfig" @@ -501,13 +684,17 @@ } }, "ExperimentalMeterConfig": { - "type": ["object"], + "type": [ + "object" + ], "additionalProperties": false, "properties": { "disabled": { - "type": ["boolean"] + "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..bab783af --- /dev/null +++ b/schema/meter_provider.json5 @@ -0,0 +1,712 @@ +{ + "$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": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "timeout": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "exporter": { + "$ref": "#/$defs/PushMetricExporter" + }, + "producers": { + "type": "array", + "items": { + "$ref": "#/$defs/MetricProducer" + } + }, + "cardinality_limits": { + "$ref": "#/$defs/CardinalityLimits" + } + }, + "required": [ + "exporter" + ] + }, + "PullMetricReader": { + "type": "object", + "additionalProperties": false, + "properties": { + "exporter": { + "$ref": "#/$defs/PullMetricExporter" + }, + "producers": { + "type": "array", + "items": { + "$ref": "#/$defs/MetricProducer" + } + }, + "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": { + "$ref": "#/$defs/OtlpHttpMetricExporter" + }, + "otlp_grpc": { + "$ref": "#/$defs/OtlpGrpcMetricExporter" + }, + "otlp_file/development": { + "$ref": "#/$defs/ExperimentalOtlpFileMetricExporter" + }, + "console": { + "$ref": "#/$defs/ConsoleMetricExporter" + } + } + }, + "PullMetricExporter": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "prometheus/development": { + "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" + } + } + }, + "MetricProducer": { + "type": "object", + "additionalProperties": { + "type": [ + "object", + "null" + ] + }, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "opencensus": { + "$ref": "#/$defs/OpenCensusMetricProducer" + } + } + }, + "OpenCensusMetricProducer": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalPrometheusMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "host": { + "type": [ + "string", + "null" + ] + }, + "port": { + "type": [ + "integer", + "null" + ] + }, + "without_scope_info": { + "type": [ + "boolean", + "null" + ] + }, + "with_resource_constant_labels": { + "$ref": "common.json#/$defs/IncludeExclude" + }, + "translation_strategy": { + "type": [ + "string", + "null" + ], + "enum": [ + "UnderscoreEscapingWithSuffixes", + "UnderscoreEscapingWithoutSuffixes", + "NoUTF8EscapingWithSuffixes", + "NoTranslation" + ] + } + } + }, + "MetricReader": { + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "periodic": { + "$ref": "#/$defs/PeriodicMetricReader" + }, + "pull": { + "$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": { + "type": [ + "string", + "null" + ] + }, + "tls": { + "$ref": "common.json#/$defs/HttpTls" + }, + "headers": { + "type": "array", + "items": { + "$ref": "common.json#/$defs/NameStringValuePair" + } + }, + "headers_list": { + "type": [ + "string", + "null" + ] + }, + "compression": { + "type": [ + "string", + "null" + ] + }, + "timeout": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "encoding": { + "$ref": "common.json#/$defs/OtlpHttpEncoding" + }, + "temporality_preference": { + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, + "OtlpGrpcMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "endpoint": { + "type": [ + "string", + "null" + ] + }, + "tls": { + "$ref": "common.json#/$defs/GrpcTls" + }, + "headers": { + "type": "array", + "items": { + "$ref": "common.json#/$defs/NameStringValuePair" + } + }, + "headers_list": { + "type": [ + "string", + "null" + ] + }, + "compression": { + "type": [ + "string", + "null" + ] + }, + "timeout": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + }, + "temporality_preference": { + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, + "ExperimentalOtlpFileMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "output_stream": { + "type": [ + "string", + "null" + ] + }, + "temporality_preference": { + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, + "ConsoleMetricExporter": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "temporality_preference": { + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, + "View": { + "type": "object", + "additionalProperties": false, + "properties": { + "selector": { + "$ref": "#/$defs/ViewSelector" + }, + "stream": { + "$ref": "#/$defs/ViewStream" + } + }, + "required": [ + "selector", + "stream" + ] + }, + "ViewSelector": { + "type": "object", + "additionalProperties": false, + "properties": { + "instrument_name": { + "type": [ + "string", + "null" + ] + }, + "instrument_type": { + "$ref": "#/$defs/InstrumentType" + }, + "unit": { + "type": [ + "string", + "null" + ] + }, + "meter_name": { + "type": [ + "string", + "null" + ] + }, + "meter_version": { + "type": [ + "string", + "null" + ] + }, + "meter_schema_url": { + "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": { + "type": [ + "string", + "null" + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "aggregation": { + "$ref": "#/$defs/Aggregation" + }, + "aggregation_cardinality_limit": { + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0 + }, + "attribute_keys": { + "$ref": "common.json#/$defs/IncludeExclude" + } + } + }, + "Aggregation": { + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "maxProperties": 1, + "properties": { + "default": { + "$ref": "#/$defs/DefaultAggregation" + }, + "drop": { + "$ref": "#/$defs/DropAggregation" + }, + "explicit_bucket_histogram": { + "$ref": "#/$defs/ExplicitBucketHistogramAggregation" + }, + "base2_exponential_bucket_histogram": { + "$ref": "#/$defs/Base2ExponentialBucketHistogramAggregation" + }, + "last_value": { + "$ref": "#/$defs/LastValueAggregation" + }, + "sum": { + "$ref": "#/$defs/SumAggregation" + } + } + }, + "DefaultAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "DropAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExplicitBucketHistogramAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "boundaries": { + "type": "array", + "items": { + "type": "number" + } + }, + "record_min_max": { + "type": [ + "boolean", + "null" + ] + } + } + }, + "Base2ExponentialBucketHistogramAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false, + "properties": { + "max_scale": { + "type": [ + "integer", + "null" + ] + }, + "max_size": { + "type": [ + "integer", + "null" + ] + }, + "record_min_max": { + "type": [ + "boolean", + "null" + ] + } + } + }, + "LastValueAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "SumAggregation": { + "type": [ + "object", + "null" + ], + "additionalProperties": false + }, + "ExperimentalMeterConfigurator": { + "type": [ + "object" + ], + "additionalProperties": false, + "properties": { + "default_config": { + "$ref": "#/$defs/ExperimentalMeterConfig" + }, + "meters": { + "type": "array", + "items": { + "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig" + } + } + } + }, + "ExperimentalMeterMatcherAndConfig": { + "type": [ + "object" + ], + "additionalProperties": false, + "properties": { + "name": { + "type": [ + "string" + ] + }, + "config": { + "$ref": "#/$defs/ExperimentalMeterConfig" + } + } + }, + "ExperimentalMeterConfig": { + "type": [ + "object" + ], + "additionalProperties": false, + "properties": { + "disabled": { + "type": [ + "boolean" + ] + } + } + } + } +} \ No newline at end of file From a735eb836bbbc2ae4a70edead8e647da674847a1 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 20:32:35 -0800 Subject: [PATCH 15/22] meter provider Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 40 ++++++++++++++++-------------- examples/sdk-config.yaml | 12 ++++++--- examples/sdk-migration-config.yaml | 12 ++++++--- schema-docs.md | 40 ++++++++++++++++++++++-------- schema/meta_schema_types.yaml | 8 ------ schema/meter_provider.json | 10 ++++++++ schema/meter_provider.json5 | 14 +++++++++++ 7 files changed, 92 insertions(+), 44 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 3635c697..3d92be37 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -196,9 +196,9 @@ logger_provider: meter_provider: # Configure metric readers. readers: - - # TODO + - # Configure a pull based metric reader. pull: - # TODO + # Configure exporter. exporter: # TODO #This property is experimental and subject to breaking changes in minor versions. @@ -227,11 +227,11 @@ meter_provider: - "service.attr1" # TODO translation_strategy: UnderscoreEscapingWithSuffixes - # TODO + # Configure metric producers. producers: - # TODO opencensus: - # TODO + # Configure cardinality limits. cardinality_limits: # Configure default cardinality limit for all instrument types. # Instrument-specific cardinality limits take priority. @@ -258,13 +258,17 @@ meter_provider: # Configure default cardinality limit for up_down_counter instruments. # If omitted or null, the value from .default is used. up_down_counter: 2000 - - # TODO + - # Configure a periodic metric reader. periodic: - # TODO + # 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 - # TODO + # 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 - # TODO + # Configure exporter. exporter: # TODO otlp_http: @@ -302,11 +306,11 @@ meter_provider: temporality_preference: delta # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - # TODO + # Configure metric producers. producers: - # TODO opencensus: - # TODO + # Configure cardinality limits. cardinality_limits: # Configure default cardinality limit for all instrument types. # Instrument-specific cardinality limits take priority. @@ -333,9 +337,9 @@ meter_provider: # Configure default cardinality limit for up_down_counter instruments. # If omitted or null, the value from .default is used. up_down_counter: 2000 - - # TODO + - # Configure a periodic metric reader. periodic: - # TODO + # Configure exporter. exporter: # TODO otlp_grpc: @@ -375,9 +379,9 @@ meter_provider: temporality_preference: delta # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - - # TODO + - # Configure a periodic metric reader. periodic: - # TODO + # Configure exporter. exporter: # TODO #This property is experimental and subject to breaking changes in minor versions. @@ -388,9 +392,9 @@ meter_provider: temporality_preference: delta # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - - # TODO + - # Configure a periodic metric reader. periodic: - # TODO + # Configure exporter. exporter: # TODO #This property is experimental and subject to breaking changes in minor versions. @@ -401,9 +405,9 @@ meter_provider: temporality_preference: delta # TODO default_histogram_aggregation: base2_exponential_bucket_histogram - - # TODO + - # Configure a periodic metric reader. periodic: - # TODO + # Configure exporter. exporter: # TODO console: diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index 5eef6818..e0d20b91 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -160,13 +160,17 @@ tracer_provider: meter_provider: # Configure metric readers. readers: - - # TODO + - # Configure a periodic metric reader. periodic: - # TODO + # 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 - # TODO + # 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 - # TODO + # Configure exporter. exporter: # TODO otlp_http: diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 02db890d..856a51b9 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -199,13 +199,17 @@ tracer_provider: meter_provider: # Configure metric readers. readers: - - # TODO + - # Configure a periodic metric reader. periodic: - # TODO + # 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} - # TODO + # 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} - # TODO + # Configure exporter. exporter: # TODO otlp_http: diff --git a/schema-docs.md b/schema-docs.md index aae573f9..48c77400 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -3553,6 +3553,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" @@ -3560,6 +3561,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" @@ -3567,15 +3569,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" } }, @@ -3588,15 +3593,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" } }, @@ -3787,9 +3795,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" } } @@ -4258,8 +4268,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `periodic` | [`PeriodicMetricReader`](#periodicmetricreader) | `false` | No constraints. | TODO | -| `pull` | [`PullMetricReader`](#pullmetricreader) | `false` | No constraints. | TODO | +| `periodic` | [`PeriodicMetricReader`](#periodicmetricreader) | `false` | No constraints. | Configure a periodic metric reader. | +| `pull` | [`PullMetricReader`](#pullmetricreader) | `false` | No constraints. | Configure a pull based metric reader. |
Language support status @@ -4291,9 +4301,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" } } @@ -5031,11 +5043,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `interval` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | `true` | No constraints. | TODO | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | TODO | -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -5067,6 +5079,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" @@ -5074,6 +5087,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" @@ -5081,15 +5095,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" } }, @@ -5281,9 +5298,9 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | `true` | No constraints. | TODO | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | TODO | -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | TODO | +| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | `true` | No constraints. | Configure exporter. | +| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | No constraints. | Configure metric producers. | +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. |
Language support status @@ -5313,15 +5330,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" } }, diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 8d9d1bb1..58cabb0c 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -453,9 +453,7 @@ - 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: @@ -613,11 +611,8 @@ 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: @@ -633,11 +628,8 @@ - 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: diff --git a/schema/meter_provider.json b/schema/meter_provider.json index 934d488c..adf25227 100644 --- a/schema/meter_provider.json +++ b/schema/meter_provider.json @@ -48,6 +48,7 @@ "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" @@ -55,6 +56,7 @@ "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" @@ -62,15 +64,18 @@ "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" } }, @@ -83,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" } }, @@ -282,9 +290,11 @@ "maxProperties": 1, "properties": { "periodic": { + "description": "Configure a periodic metric reader.", "$ref": "#/$defs/PeriodicMetricReader" }, "pull": { + "description": "Configure a pull based metric reader.", "$ref": "#/$defs/PullMetricReader" } } diff --git a/schema/meter_provider.json5 b/schema/meter_provider.json5 index bab783af..417dee1a 100644 --- a/schema/meter_provider.json5 +++ b/schema/meter_provider.json5 @@ -51,6 +51,9 @@ If omitted or null, trace_based is used.", "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" @@ -58,6 +61,9 @@ If omitted or null, trace_based is used.", "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" @@ -65,15 +71,18 @@ If omitted or null, trace_based is used.", "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" } }, @@ -86,15 +95,18 @@ If omitted or null, trace_based is used.", "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" } }, @@ -294,9 +306,11 @@ If omitted or null, the value from .default is used.", "maxProperties": 1, "properties": { "periodic": { + description: "Configure a periodic metric reader.", "$ref": "#/$defs/PeriodicMetricReader" }, "pull": { + description: "Configure a pull based metric reader.", "$ref": "#/$defs/PullMetricReader" } } From 09b6f51c236909c9f2fc1c5f781794b73f2d9a3a Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 21:08:30 -0800 Subject: [PATCH 16/22] more meter provider conf Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 60 ++++++++++++++++------- examples/sdk-config.yaml | 24 ++++++--- examples/sdk-migration-config.yaml | 28 ++++++++--- schema-docs.md | 78 +++++++++++++++++++++--------- schema/meta_schema_types.yaml | 70 --------------------------- schema/meter_provider.json | 17 +++++++ schema/meter_provider.json5 | 43 ++++++++++++++++ 7 files changed, 195 insertions(+), 125 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 3d92be37..5b4f703b 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -272,9 +272,10 @@ meter_provider: exporter: # TODO otlp_http: - # TODO + # Configure endpoint. + # If omitted or null, http://localhost:4317 is used. endpoint: http://localhost:4318/v1/metrics - # TODO + # Configure TLS settings for the exporter. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -288,23 +289,36 @@ meter_provider: # 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 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: - # The name of the pair. name: api-key # The value of the pair. value: "1234" - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: "api-key=1234" - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 - # TODO + # Configure the encoding used for messages. + # Values include: protobuf, json. Implementations may not support json. + # If omitted or null, protobuf is used. encoding: protobuf - # TODO + # 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. temporality_preference: delta - # TODO + # 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. default_histogram_aggregation: base2_exponential_bucket_histogram # Configure metric producers. producers: @@ -343,9 +357,10 @@ meter_provider: exporter: # TODO otlp_grpc: - # TODO + # Configure endpoint. + # If omitted or null, http://localhost:4317 is used. endpoint: http://localhost:4317 - # TODO + # Configure TLS settings for the exporter. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -363,21 +378,32 @@ meter_provider: # 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 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: - # The name of the pair. name: api-key # The value of the pair. value: "1234" - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: "api-key=1234" - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 - # TODO + # 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. temporality_preference: delta - # TODO + # 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. default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure a periodic metric reader. periodic: diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index e0d20b91..ca64596b 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -174,9 +174,10 @@ meter_provider: exporter: # TODO otlp_http: - # TODO + # Configure endpoint. + # If omitted or null, http://localhost:4317 is used. endpoint: http://localhost:4318/v1/metrics - # TODO + # Configure TLS settings for the exporter. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -190,15 +191,24 @@ meter_provider: # 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: - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: gzip - # TODO + # 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. timeout: 10000 - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: [] - # TODO + # 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. temporality_preference: cumulative - # TODO + # 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. default_histogram_aggregation: explicit_bucket_histogram # Configure the exemplar filter. # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 856a51b9..86bf0aa4 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -213,9 +213,10 @@ meter_provider: exporter: # TODO otlp_http: - # TODO + # Configure endpoint. + # If omitted or null, http://localhost:4317 is used. endpoint: ${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics} - # TODO + # Configure TLS settings for the exporter. tls: # Configure certificate used to verify a server's TLS credentials. # Absolute path to certificate file in PEM format. @@ -229,17 +230,28 @@ meter_provider: # 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} - # TODO + # Configure compression. + # Values include: gzip, none. Implementations may support other compression algorithms. + # If omitted or null, none is used. compression: ${OTEL_EXPORTER_OTLP_METRICS_COMPRESSION:-gzip} - # TODO + # 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. timeout: ${OTEL_EXPORTER_OTLP_METRICS_TIMEOUT:-10000} - # TODO + # Configure headers. Entries have higher priority than entries from .headers_list. + # If an entry's .value is null, the entry is ignored. headers: [] - # TODO + # Configure headers. Entries have lower priority than entries from .headers. + # The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details. + # If omitted or null, no headers are added. headers_list: ${OTEL_EXPORTER_OTLP_METRICS_HEADERS} - # TODO + # 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. temporality_preference: ${OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE:-cumulative} - # TODO + # 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. default_histogram_aggregation: ${OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION:-explicit_bucket_histogram} # Configure the exemplar filter. # Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration. diff --git a/schema-docs.md b/schema-docs.md index 48c77400..e52b8524 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -3833,33 +3833,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/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" @@ -3867,12 +3873,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" } } @@ -3885,33 +3894,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" @@ -3919,9 +3934,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" } } @@ -4654,14 +4671,14 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | -| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | TODO | -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | TODO | -| `tls` | [`GrpcTls`](#grpctls) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -4698,33 +4715,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" @@ -4732,9 +4755,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" } } @@ -4880,16 +4905,15 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | TODO | -| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | -| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | No constraints. | TODO | -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | TODO | -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | TODO | -| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | TODO | +| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure endpoint.
If omitted or null, http://localhost:4317 is used. | +| `headers` | `array` of [`NameStringValuePair`](#namestringvaluepair) | `false` | No constraints. | Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored. | +| `headers_list` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
If omitted or null, no headers are added. | +| `compression` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
If omitted or null, none is used. | +| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 10000 is used. | +| `encoding` | [`OtlpHttpEncoding`](#otlphttpencoding) | `false` | No constraints. | Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
If omitted or null, protobuf is used. | +| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | Configure temporality preference.
Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, cumulative is used. | +| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | Configure default histogram aggregation.
Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
If omitted or null, explicit_bucket_histogram is used. | +| `tls` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. |
Language support status @@ -4897,7 +4921,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 | @@ -4928,33 +4951,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/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" @@ -4962,12 +4991,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" } } @@ -7054,7 +7086,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
| @@ -7160,7 +7192,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
| @@ -7266,7 +7298,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
| @@ -7372,7 +7404,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/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 58cabb0c..87c06408 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -491,40 +491,13 @@ - 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: @@ -546,49 +519,14 @@ - 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: @@ -601,15 +539,7 @@ - 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 - property: producers - property: cardinality_limits diff --git a/schema/meter_provider.json b/schema/meter_provider.json index adf25227..c97d6e1d 100644 --- a/schema/meter_provider.json +++ b/schema/meter_provider.json @@ -328,33 +328,39 @@ "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/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" @@ -362,12 +368,15 @@ "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" } } @@ -380,33 +389,39 @@ "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" @@ -414,9 +429,11 @@ "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" } } diff --git a/schema/meter_provider.json5 b/schema/meter_provider.json5 index 417dee1a..f2e47a18 100644 --- a/schema/meter_provider.json5 +++ b/schema/meter_provider.json5 @@ -344,33 +344,47 @@ If omitted or null, the value from .default is used.", "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/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" @@ -378,12 +392,21 @@ If omitted or null, the value from .default is used.", "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" } } @@ -396,33 +419,47 @@ If omitted or null, the value from .default is used.", "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" @@ -430,9 +467,15 @@ If omitted or null, the value from .default is used.", "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" } } From 9d6d59de4197d0ca1176b7f04e2a2cae4056fce4 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 21:11:30 -0800 Subject: [PATCH 17/22] clean up otlp exporter Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 14 +++++++------- examples/sdk-config.yaml | 6 +++--- examples/sdk-migration-config.yaml | 6 +++--- schema-docs.md | 22 +++++++++++++++------- schema/meta_schema_types.yaml | 6 ------ schema/meter_provider.json | 6 +++++- schema/meter_provider.json5 | 8 ++++++-- 7 files changed, 39 insertions(+), 29 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 5b4f703b..3acc3f83 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -270,10 +270,10 @@ meter_provider: timeout: 30000 # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with HTTP transport. otlp_http: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/metrics # Configure TLS settings for the exporter. tls: @@ -355,7 +355,7 @@ meter_provider: periodic: # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with gRPC transport. otlp_grpc: # Configure endpoint. # If omitted or null, http://localhost:4317 is used. @@ -409,7 +409,7 @@ meter_provider: periodic: # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with file transport. #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: # TODO @@ -422,7 +422,7 @@ meter_provider: periodic: # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with file transport. #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: # TODO @@ -435,7 +435,7 @@ meter_provider: periodic: # Configure exporter. exporter: - # TODO + # Configure exporter to be console. console: # TODO temporality_preference: delta diff --git a/examples/sdk-config.yaml b/examples/sdk-config.yaml index ca64596b..9359e372 100644 --- a/examples/sdk-config.yaml +++ b/examples/sdk-config.yaml @@ -172,10 +172,10 @@ meter_provider: timeout: 30000 # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with HTTP transport. otlp_http: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: http://localhost:4318/v1/metrics # Configure TLS settings for the exporter. tls: diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 86bf0aa4..03794502 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -211,10 +211,10 @@ meter_provider: timeout: ${OTEL_METRIC_EXPORT_TIMEOUT:-30000} # Configure exporter. exporter: - # TODO + # Configure exporter to be OTLP with HTTP transport. otlp_http: - # Configure endpoint. - # If omitted or null, http://localhost:4317 is used. + # Configure endpoint, including the signal specific path. + # If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. endpoint: ${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics} # Configure TLS settings for the exporter. tls: diff --git a/schema-docs.md b/schema-docs.md index e52b8524..4feaba34 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -3694,15 +3694,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" } } @@ -3833,7 +3837,7 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { - "description": "Configure endpoint.\n If omitted or null, http://localhost:4317 is used.", + "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" @@ -4905,7 +4909,7 @@ 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. | +| `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. | @@ -4951,7 +4955,7 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { - "description": "Configure endpoint.\n If omitted or null, http://localhost:4317 is used.", + "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" @@ -5389,10 +5393,10 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `otlp_http` | [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | `false` | No constraints. | TODO | -| `otlp_grpc` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | `false` | No constraints. | TODO | -| `otlp_file/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | `false` | No constraints. | TODO | -| `console` | [`ConsoleMetricExporter`](#consolemetricexporter) | `false` | No constraints. | TODO | +| `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 @@ -5431,15 +5435,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" } } diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 87c06408..251371c0 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -565,14 +565,8 @@ properties: - property: otlp_http - 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: diff --git a/schema/meter_provider.json b/schema/meter_provider.json index c97d6e1d..4f529d3a 100644 --- a/schema/meter_provider.json +++ b/schema/meter_provider.json @@ -189,15 +189,19 @@ "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" } } @@ -328,7 +332,7 @@ "additionalProperties": false, "properties": { "endpoint": { - "description": "Configure endpoint.\n If omitted or null, http://localhost:4317 is used.", + "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" diff --git a/schema/meter_provider.json5 b/schema/meter_provider.json5 index f2e47a18..adc014b2 100644 --- a/schema/meter_provider.json5 +++ b/schema/meter_provider.json5 @@ -205,15 +205,19 @@ If omitted or null, the value from .default is used.", "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" } } @@ -344,8 +348,8 @@ If omitted or null, the value from .default is used.", "additionalProperties": false, "properties": { "endpoint": { - description: "Configure endpoint.\n \ -If omitted or null, http://localhost:4317 is used.", + 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" From 2a61f9462d718f582a8921ef880f43b50c57c3bd Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 21:21:22 -0800 Subject: [PATCH 18/22] instrumentations Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 64 +++++++----- schema-docs.md | 80 ++++++++++----- schema/instrumentation.json | 23 +++++ schema/instrumentation.json5 | 177 ++++++++++++++++++++++++++++++++++ schema/meta_schema_types.yaml | 57 ----------- 5 files changed, 296 insertions(+), 105 deletions(-) create mode 100644 schema/instrumentation.json5 diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 3acc3f83..d591d9b1 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -908,83 +908,97 @@ resource: # Configure instrumentation. #This property is experimental and subject to breaking changes in minor versions. instrumentation/development: - # TODO + # 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: - # TODO + # Configure instrumentations following the peer semantic conventions. + # See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/ peer: - # TODO + # 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: - - # TODO + - # The IP address to map. peer: 1.2.3.4 - # TODO + # The logical name corresponding to the IP address of .peer. service: FooService - - # TODO + - # The IP address to map. peer: 2.3.4.5 - # TODO + # The logical name corresponding to the IP address of .peer. service: BarService - # TODO + # Configure instrumentations following the http semantic conventions. + # See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ http: - # TODO + # Configure instrumentations following the http client semantic conventions. client: - # TODO + # Configure headers to capture for outbound http requests. request_captured_headers: - Content-Type - Accept - # TODO + # Configure headers to capture for inbound http responses. response_captured_headers: - Content-Type - Content-Encoding - # TODO + # Configure instrumentations following the http server semantic conventions. server: - # TODO + # Configure headers to capture for inbound http requests. request_captured_headers: - Content-Type - Accept - # TODO + # Configure headers to capture for outbound http responses. response_captured_headers: - Content-Type - Content-Encoding - # TODO + # Configure C++ language-specific instrumentation libraries. cpp: example: property: "value" - # TODO + # Configure .NET language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. dotnet: example: property: "value" - # TODO + # Configure Erlang language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. erlang: example: property: "value" - # TODO + # Configure Go language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. go: example: property: "value" - # TODO + # Configure Java language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. java: example: property: "value" - # TODO + # Configure JavaScript language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. js: example: property: "value" - # TODO + # Configure PHP language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. php: example: property: "value" - # TODO + # Configure Python language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. python: example: property: "value" - # TODO + # Configure Ruby language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. ruby: example: property: "value" - # TODO + # Configure Rust language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. rust: example: property: "value" - # TODO + # Configure Swift language-specific instrumentation libraries. + # Each entry's key identifies a particular instrumentation library. The corresponding value configures it. swift: example: property: "value" diff --git a/schema-docs.md b/schema-docs.md index 4feaba34..c2c3b69e 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -1173,8 +1173,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `peer` | [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | `false` | No constraints. | TODO | -| `http` | [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | `false` | No constraints. | TODO | +| `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 @@ -1202,9 +1202,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" } } @@ -1246,8 +1248,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `request_captured_headers` | `array` of `string` | `false` | No constraints. | TODO | -| `response_captured_headers` | `array` of `string` | `false` | No constraints. | TODO | +| `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 @@ -1275,12 +1277,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" @@ -1297,8 +1301,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `client` | [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | `false` | No constraints. | TODO | -| `server` | [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | `false` | No constraints. | TODO | +| `client` | [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | `false` | No constraints. | Configure instrumentations following the http client semantic conventions. | +| `server` | [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | `false` | No constraints. | Configure instrumentations following the http server semantic conventions. |
Language support status @@ -1326,9 +1330,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" } } @@ -1342,8 +1348,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `request_captured_headers` | `array` of `string` | `false` | No constraints. | TODO | -| `response_captured_headers` | `array` of `string` | `false` | No constraints. | TODO | +| `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 @@ -1371,12 +1377,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" @@ -1393,18 +1401,18 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `general` | [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | `false` | No constraints. | TODO | -| `cpp` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `dotnet` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `erlang` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `go` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `java` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `js` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `php` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `python` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `ruby` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `rust` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | -| `swift` | [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -1444,39 +1452,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" } }, @@ -1486,9 +1506,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" } } @@ -1498,6 +1520,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" @@ -1510,9 +1533,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" } }, @@ -1526,12 +1551,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" @@ -1544,12 +1571,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" @@ -1562,9 +1591,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" } } @@ -2080,7 +2111,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `service_mapping` | `array` of [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | `false` | No constraints. | TODO | +| `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 @@ -2107,6 +2138,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" @@ -2123,8 +2155,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `peer` | `string` | `true` | No constraints. | TODO | -| `service` | `string` | `true` | No constraints. | TODO | +| `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 @@ -2153,9 +2185,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" } }, 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/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 251371c0..0de6a283 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -118,13 +118,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: [] @@ -132,76 +126,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: [] @@ -268,18 +218,11 @@ - 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: From 254f30555fff8f968e022fc8dcf4838aede25a8e Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 21:23:44 -0800 Subject: [PATCH 19/22] clean up comment Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/sdk-migration-config.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/sdk-migration-config.yaml b/examples/sdk-migration-config.yaml index 03794502..8ea14aca 100644 --- a/examples/sdk-migration-config.yaml +++ b/examples/sdk-migration-config.yaml @@ -33,7 +33,6 @@ # - OTEL_EXPORTER_OTLP_TIMEOUT # The file format version. -# The yaml format is documented at# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema TODO The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema The file format version. # The yaml format is documented at # https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema file_format: "1.0-rc.2" From 7baecc5d119aeb7a47c737547a4a63e781fb64aa Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 21:30:28 -0800 Subject: [PATCH 20/22] meter config Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 59 +++++++++++++++++++++++++---------- schema-docs.md | 52 ++++++++++++++++++++++-------- schema/meta_schema_types.yaml | 40 ------------------------ schema/meter_provider.json | 13 ++++++++ schema/meter_provider.json5 | 32 +++++++++++++++++++ 5 files changed, 126 insertions(+), 70 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index d591d9b1..70324a72 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -203,13 +203,16 @@ meter_provider: # TODO #This property is experimental and subject to breaking changes in minor versions. prometheus/development: - # TODO + # Configure host. + # If omitted or null, localhost is used. host: localhost - # TODO + # Configure port. + # If omitted or null, 9464 is used. port: 9464 - # TODO + # Configure Prometheus Exporter to produce metrics without a scope info metric. + # If omitted or null, false is used. without_scope_info: false - # TODO + # Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns. with_resource_constant_labels: # Configure list of value patterns to include. # Values are evaluated to match as follows: @@ -225,7 +228,14 @@ meter_provider: # If omitted, .included attributes are included. excluded: - "service.attr1" - # TODO + # 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: UnderscoreEscapingWithSuffixes # Configure metric producers. producers: @@ -412,11 +422,17 @@ meter_provider: # Configure exporter to be OTLP with file transport. #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # TODO + # 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 - # TODO + # 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. temporality_preference: delta - # TODO + # 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. default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure a periodic metric reader. periodic: @@ -425,11 +441,17 @@ meter_provider: # Configure exporter to be OTLP with file transport. #This property is experimental and subject to breaking changes in minor versions. otlp_file/development: - # TODO + # 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 - # TODO + # 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. temporality_preference: delta - # TODO + # 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. default_histogram_aggregation: base2_exponential_bucket_histogram - # Configure a periodic metric reader. periodic: @@ -515,17 +537,20 @@ meter_provider: # Configure meters. #This property is experimental and subject to breaking changes in minor versions. meter_configurator/development: - # TODO + # Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. default_config: - # TODO + # Configure if the meter is enabled or not. disabled: true - # TODO + # Configure meters. meters: - - # TODO + - # 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: io.opentelemetry.contrib.* - # TODO + # The meter config. config: - # TODO + # Configure if the meter is enabled or not. disabled: false # Configure text map context propagators. # If omitted, a noop propagator is used. diff --git a/schema-docs.md b/schema-docs.md index c2c3b69e..80a8d661 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -1863,7 +1863,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | TODO | +| `disabled` | `boolean` | `false` | No constraints. | Configure if the meter is enabled or not. |
Language support status @@ -1893,6 +1893,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the meter is enabled or not.", "type": [ "boolean" ] @@ -1908,8 +1909,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | TODO | -| `meters` | `array` of [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | `false` | No constraints. | TODO | +| `default_config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. | +| `meters` | `array` of [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | `false` | No constraints. | Configure meters. |
Language support status @@ -1939,9 +1940,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" @@ -1958,8 +1961,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `name` | `string` | `false` | No constraints. | TODO | -| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `false` | No constraints. | TODO | +| `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. |
Language support status @@ -1989,11 +1992,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" } } @@ -2055,9 +2060,9 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `output_stream` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | TODO | -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | TODO | +| `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 @@ -2089,15 +2094,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" } } @@ -2283,11 +2291,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `host` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `port` | one of:
* `integer`
* `null`
| `false` | No constraints. | TODO | -| `without_scope_info` | one of:
* `boolean`
* `null`
| `false` | No constraints. | TODO | -| `with_resource_constant_labels` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | TODO | -| `translation_strategy` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `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. |
Language support status @@ -2321,27 +2329,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" @@ -3792,27 +3805,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" @@ -3989,15 +4007,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" } } @@ -4227,9 +4248,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" @@ -4244,11 +4267,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" } } @@ -4260,6 +4285,7 @@ Usages: "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the meter is enabled or not.", "type": [ "boolean" ] diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 0de6a283..1744dd61 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -173,25 +173,16 @@ - 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: @@ -200,20 +191,8 @@ - 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: @@ -237,29 +216,10 @@ - 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: diff --git a/schema/meter_provider.json b/schema/meter_provider.json index 4f529d3a..72b9fcb4 100644 --- a/schema/meter_provider.json +++ b/schema/meter_provider.json @@ -253,27 +253,32 @@ "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" @@ -450,15 +455,18 @@ "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" } } @@ -688,9 +696,11 @@ "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" @@ -705,11 +715,13 @@ "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" } } @@ -721,6 +733,7 @@ "additionalProperties": false, "properties": { "disabled": { + "description": "Configure if the meter is enabled or not.", "type": [ "boolean" ] diff --git a/schema/meter_provider.json5 b/schema/meter_provider.json5 index adc014b2..f50e55a2 100644 --- a/schema/meter_provider.json5 +++ b/schema/meter_provider.json5 @@ -269,27 +269,42 @@ If omitted or null, the value from .default is used.", "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" @@ -492,15 +507,24 @@ If omitted or null, explicit_bucket_histogram is used.", "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" } } @@ -730,9 +754,11 @@ If omitted or null, explicit_bucket_histogram is used.", "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" @@ -747,11 +773,16 @@ If omitted or null, explicit_bucket_histogram is used.", "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" } } @@ -763,6 +794,7 @@ If omitted or null, explicit_bucket_histogram is used.", "additionalProperties": false, "properties": { "disabled": { + description: "Configure if the meter is enabled or not.", "type": [ "boolean" ] From 134ae33173f1a022a7489b6db40a36e2d401cb64 Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 21:51:31 -0800 Subject: [PATCH 21/22] cleanup Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 20 ++++++---- schema-docs.md | 70 +++++++++++++++++++++++++++++------ schema/meta_schema_types.yaml | 32 ---------------- schema/meter_provider.json | 13 +++++++ schema/meter_provider.json5 | 15 ++++++++ schema/tracer_provider.json | 10 +++++ schema/tracer_provider.json5 | 12 ++++++ 7 files changed, 120 insertions(+), 52 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 70324a72..0b6e143a 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -200,7 +200,7 @@ meter_provider: pull: # Configure exporter. exporter: - # TODO + # Configure exporter to be prometheus. #This property is experimental and subject to breaking changes in minor versions. prometheus/development: # Configure host. @@ -239,7 +239,7 @@ meter_provider: translation_strategy: UnderscoreEscapingWithSuffixes # Configure metric producers. producers: - - # TODO + - # Configure metric producer to be opencensus. opencensus: # Configure cardinality limits. cardinality_limits: @@ -332,7 +332,7 @@ meter_provider: default_histogram_aggregation: base2_exponential_bucket_histogram # Configure metric producers. producers: - - # TODO + - # Configure metric producer to be opencensus. opencensus: # Configure cardinality limits. cardinality_limits: @@ -488,9 +488,10 @@ meter_provider: description: new_description # TODO aggregation: - # TODO + # Configure aggregation to be explicit_bucket_histogram. explicit_bucket_histogram: - # TODO + # Configure bucket boundaries. + # If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. boundaries: [ 0.0, @@ -509,7 +510,8 @@ meter_provider: 7500.0, 10000.0 ] - # TODO + # Configure record min and max. + # If omitted or null, true is used. record_min_max: true # TODO aggregation_cardinality_limit: 2000 @@ -774,7 +776,8 @@ tracer_provider: # Configure sampler to be probability. #This property is experimental and subject to breaking changes in minor versions. probability/development: - # TODO + # Configure ratio. + # If omitted or null, 1.0 is used. ratio: 0.01 # Configure local_parent_sampled sampler. # If omitted or null, always_on is used. @@ -784,7 +787,8 @@ tracer_provider: composite/development: # Configure sampler to be probability. probability: - # TODO + # Configure ratio. + # If omitted or null, 1.0 is used. ratio: 0.001 # Configure local_parent_not_sampled sampler. # If omitted or null, always_off is used. diff --git a/schema-docs.md b/schema-docs.md index 80a8d661..9173097b 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -17,7 +17,7 @@ This document is an auto-generated view of the declarative configuration JSON sc |---|---|---|---|---| | `default` | [`DefaultAggregation`](#defaultaggregation) | `false` | No constraints. | TODO | | `drop` | [`DropAggregation`](#dropaggregation) | `false` | No constraints. | TODO | -| `explicit_bucket_histogram` | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | `false` | No constraints. | TODO | +| `explicit_bucket_histogram` | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | `false` | No constraints. | Configure aggregation to be explicit_bucket_histogram. | | `base2_exponential_bucket_histogram` | [`Base2ExponentialBucketHistogramAggregation`](#base2exponentialbuckethistogramaggregation) | `false` | No constraints. | TODO | | `last_value` | [`LastValueAggregation`](#lastvalueaggregation) | `false` | No constraints. | TODO | | `sum` | [`SumAggregation`](#sumaggregation) | `false` | No constraints. | TODO | @@ -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" } } @@ -436,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" @@ -961,11 +970,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `root` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | -| `remote_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | -| `remote_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | -| `local_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | -| `local_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | TODO | +| `root` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with no parent. | +| `remote_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a remote parent that is sampled. | +| `remote_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a remote parent that is not sampled. | +| `local_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a local parent that is sampled. | +| `local_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a local parent that is not sampled. |
Language support status @@ -999,18 +1008,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" } } @@ -1024,7 +1038,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| TODO | +| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| Configure ratio.
If omitted or null, 1.0 is used. |
Language support status @@ -1054,6 +1068,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -1651,12 +1666,14 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "TODO", "type": [ "string", "null" ] }, "interval": { + "description": "TODO", "type": [ "integer", "null" @@ -1664,6 +1681,7 @@ Usages: "minimum": 0 }, "initial_sampler": { + "description": "TODO", "$ref": "#/$defs/Sampler" } } @@ -2215,7 +2233,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| TODO | +| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| Configure ratio.
If omitted or null, 1.0 is used. |
Language support status @@ -2245,6 +2263,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -2671,8 +2690,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `boundaries` | `array` of `number` | `false` | No constraints. | TODO | -| `record_min_max` | one of:
* `boolean`
* `null`
| `false` | No constraints. | TODO | +| `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 @@ -2703,12 +2722,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" @@ -3770,6 +3791,7 @@ Usages: "maxProperties": 1, "properties": { "prometheus/development": { + "description": "Configure exporter to be prometheus.", "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" } } @@ -3786,6 +3808,7 @@ Usages: "maxProperties": 1, "properties": { "opencensus": { + "description": "Configure metric producer to be opencensus.", "$ref": "#/$defs/OpenCensusMetricProducer" } } @@ -4146,21 +4169,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" } } @@ -4187,12 +4216,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" @@ -4208,18 +4239,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" @@ -4302,7 +4336,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | `false` | No constraints. | TODO | +| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | `false` | No constraints. | Configure metric producer to be opencensus. |
Language support status @@ -4339,6 +4373,7 @@ Usages: "maxProperties": 1, "properties": { "opencensus": { + "description": "Configure metric producer to be opencensus.", "$ref": "#/$defs/OpenCensusMetricProducer" } } @@ -5348,7 +5383,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `prometheus/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | `false` | No constraints. | TODO | +| `prometheus/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | `false` | No constraints. | Configure exporter to be prometheus. |
Language support status @@ -5384,6 +5419,7 @@ Usages: "maxProperties": 1, "properties": { "prometheus/development": { + "description": "Configure exporter to be prometheus.", "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" } } @@ -6467,12 +6503,14 @@ Usages: "additionalProperties": false, "properties": { "endpoint": { + "description": "TODO", "type": [ "string", "null" ] }, "interval": { + "description": "TODO", "type": [ "integer", "null" @@ -6480,6 +6518,7 @@ Usages: "minimum": 0 }, "initial_sampler": { + "description": "TODO", "$ref": "#/$defs/Sampler" } } @@ -6521,6 +6560,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -6569,18 +6609,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" } } @@ -6593,6 +6638,7 @@ Usages: "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 1744dd61..5d227401 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: [] @@ -61,11 +55,8 @@ - type: Base2ExponentialBucketHistogramAggregation properties: - property: max_scale - description: TODO - property: max_size - description: TODO - property: record_min_max - description: TODO isSdkExtensionPlugin: false - type: BatchLogRecordProcessor properties: @@ -206,9 +197,6 @@ - type: ExperimentalProbabilitySampler properties: - property: ratio - description: | - Configure ratio. - If omitted or null, 1.0 is used. isSdkExtensionPlugin: false - type: ExperimentalProcessResourceDetector properties: [] @@ -253,13 +241,7 @@ - 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: @@ -351,7 +333,6 @@ - type: MetricProducer properties: - property: opencensus - description: Configure metric producer to be opencensus. isSdkExtensionPlugin: true - type: MetricReader properties: @@ -455,8 +436,6 @@ - type: PullMetricExporter properties: - property: prometheus/development - description: | - Configure exporter to be prometheus. isSdkExtensionPlugin: true - type: PullMetricReader properties: @@ -636,11 +615,8 @@ - type: ExperimentalJaegerRemoteSampler properties: - property: endpoint - description: TODO - property: interval - description: TODO - property: initial_sampler - description: TODO isSdkExtensionPlugin: false - type: ExperimentalComposableSampler properties: @@ -652,15 +628,10 @@ - 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: [] @@ -671,7 +642,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 72b9fcb4..4f26a404 100644 --- a/schema/meter_provider.json +++ b/schema/meter_provider.json @@ -218,6 +218,7 @@ "maxProperties": 1, "properties": { "prometheus/development": { + "description": "Configure exporter to be prometheus.", "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" } } @@ -234,6 +235,7 @@ "maxProperties": 1, "properties": { "opencensus": { + "description": "Configure metric producer to be opencensus.", "$ref": "#/$defs/OpenCensusMetricProducer" } } @@ -594,21 +596,27 @@ "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" } } @@ -635,12 +643,14 @@ "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" @@ -656,18 +666,21 @@ "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" diff --git a/schema/meter_provider.json5 b/schema/meter_provider.json5 index f50e55a2..56364fc3 100644 --- a/schema/meter_provider.json5 +++ b/schema/meter_provider.json5 @@ -234,6 +234,7 @@ If omitted or null, the value from .default is used.", "maxProperties": 1, "properties": { "prometheus/development": { + description: "Configure exporter to be prometheus.", "$ref": "#/$defs/ExperimentalPrometheusMetricExporter" } } @@ -250,6 +251,7 @@ If omitted or null, the value from .default is used.", "maxProperties": 1, "properties": { "opencensus": { + description: "Configure metric producer to be opencensus.", "$ref": "#/$defs/OpenCensusMetricProducer" } } @@ -652,21 +654,27 @@ If omitted or null, explicit_bucket_histogram is used.", "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" } } @@ -693,12 +701,16 @@ If omitted or null, explicit_bucket_histogram is used.", "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" @@ -714,18 +726,21 @@ If omitted or null, explicit_bucket_histogram is used.", "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" diff --git a/schema/tracer_provider.json b/schema/tracer_provider.json index 0f6a07ad..13bb9bfc 100644 --- a/schema/tracer_provider.json +++ b/schema/tracer_provider.json @@ -137,12 +137,14 @@ "additionalProperties": false, "properties": { "endpoint": { + "description": "TODO", "type": [ "string", "null" ] }, "interval": { + "description": "TODO", "type": [ "integer", "null" @@ -150,6 +152,7 @@ "minimum": 0 }, "initial_sampler": { + "description": "TODO", "$ref": "#/$defs/Sampler" } } @@ -191,6 +194,7 @@ "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -239,18 +243,23 @@ "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" } } @@ -263,6 +272,7 @@ "additionalProperties": false, "properties": { "ratio": { + "description": "Configure ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" diff --git a/schema/tracer_provider.json5 b/schema/tracer_provider.json5 index 277b421c..b6ef77f4 100644 --- a/schema/tracer_provider.json5 +++ b/schema/tracer_provider.json5 @@ -144,12 +144,14 @@ If omitted or null, 512 is used.", "additionalProperties": false, properties: { "endpoint": { + description: "TODO", "type": [ "string", "null" ] }, "interval": { + description: "TODO", "type": [ "integer", "null" @@ -157,6 +159,7 @@ If omitted or null, 512 is used.", "minimum": 0 }, "initial_sampler": { + description: "TODO", "$ref": "#/$defs/Sampler" } } @@ -203,6 +206,8 @@ If omitted or null, always_off is used.", "additionalProperties": false, properties: { "ratio": { + description: "Configure ratio.\n \ +If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -251,18 +256,23 @@ If omitted or null, always_off is used.", "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" } } @@ -275,6 +285,8 @@ If omitted or null, always_off is used.", "additionalProperties": false, properties: { "ratio": { + description: "Configure ratio.\n \ +If omitted or null, 1.0 is used.", "type": [ "number", "null" From deb6b293f9eeb2a5f7fa1e61ba03925c6c4cd22d Mon Sep 17 00:00:00 2001 From: alex boten <223565+codeboten@users.noreply.github.com> Date: Mon, 10 Nov 2025 22:03:43 -0800 Subject: [PATCH 22/22] more desc Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com> --- examples/kitchen-sink.yaml | 59 ++++++++++++++++++--------- schema-docs.md | 76 ++++++++++++++++++++++++++--------- schema/meta_schema_types.yaml | 59 +-------------------------- schema/meter_provider.json | 15 +++++++ schema/meter_provider.json5 | 32 +++++++++++++++ schema/tracer_provider.json | 4 ++ schema/tracer_provider.json5 | 8 ++++ 7 files changed, 157 insertions(+), 96 deletions(-) diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index 0b6e143a..5a8d1172 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -459,34 +459,50 @@ meter_provider: exporter: # Configure exporter to be console. console: - # TODO + # 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. temporality_preference: delta - # TODO + # 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. default_histogram_aggregation: base2_exponential_bucket_histogram # Configure views. # Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s). views: - - # TODO + - # 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: - # TODO + # Configure instrument name selection criteria. + # If omitted or null, all instrument names match. instrument_name: my-instrument - # TODO + # 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. instrument_type: histogram - # TODO + # Configure the instrument unit selection criteria. + # If omitted or null, all instrument units match. unit: ms - # TODO + # Configure meter name selection criteria. + # If omitted or null, all meter names match. meter_name: my-meter - # TODO + # Configure meter version selection criteria. + # If omitted or null, all meter versions match. meter_version: 1.0.0 - # TODO + # Configure meter schema url selection criteria. + # If omitted or null, all meter schema URLs match. meter_schema_url: https://opentelemetry.io/schemas/1.16.0 - # TODO + # Configure view stream. stream: - # TODO + # Configure metric name of the resulting stream(s). + # If omitted or null, the instrument's original name is used. name: new_instrument_name - # TODO + # Configure metric description of the resulting stream(s). + # If omitted or null, the instrument's origin description is used. description: new_description - # TODO + # 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: # Configure aggregation to be explicit_bucket_histogram. explicit_bucket_histogram: @@ -513,9 +529,10 @@ meter_provider: # Configure record min and max. # If omitted or null, true is used. record_min_max: true - # TODO + # Configure the aggregation cardinality limit. + # If omitted or null, the metric reader's default cardinality limit is used. aggregation_cardinality_limit: 2000 - # TODO + # Configure attribute keys retained in the resulting stream(s). attribute_keys: # Configure list of value patterns to include. # Values are evaluated to match as follows: @@ -717,13 +734,16 @@ tracer_provider: exporter: # Configure exporter to be zipkin. zipkin: - # TODO + # Configure endpoint. + # If omitted or null, http://localhost:9411/api/v2/spans is used. endpoint: http://localhost:9411/api/v2/spans - # TODO + # 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 - # Configure a simple span processor. simple: - # TODO + # Configure exporter. exporter: # Configure exporter to be console. console: @@ -763,7 +783,8 @@ tracer_provider: root: # Configure sampler to be trace_id_ratio_based. trace_id_ratio_based: - # TODO + # Configure trace_id_ratio. + # If omitted or null, 1.0 is used. ratio: 0.0001 # Configure remote_parent_sampled sampler. # If omitted or null, always_on is used. diff --git a/schema-docs.md b/schema-docs.md index 9173097b..c46d746a 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -773,8 +773,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `temporality_preference` | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | `false` | No constraints. | TODO | -| `default_histogram_aggregation` | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | `false` | No constraints. | TODO | +| `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 @@ -805,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" } } @@ -4054,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" } } @@ -4066,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" } }, @@ -4082,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" @@ -4136,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" @@ -4158,6 +4174,7 @@ Usages: "exclusiveMinimum": 0 }, "attribute_keys": { + "description": "Configure attribute keys retained in the resulting stream(s).", "$ref": "common.json#/$defs/IncludeExclude" } } @@ -5899,7 +5916,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | TODO | +| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | Configure exporter. |
Language support status @@ -5927,6 +5944,7 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -6290,7 +6308,7 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `ratio` | one of:
* `number`
* `null`
| `false` | * `minimum`: `0`
* `maximum`: `1`
| TODO | +| `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 @@ -6320,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" @@ -6578,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" @@ -6682,6 +6702,7 @@ Usages: "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -6805,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" @@ -6878,8 +6901,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `selector` | [`ViewSelector`](#viewselector) | `true` | No constraints. | TODO | -| `stream` | [`ViewStream`](#viewstream) | `true` | No constraints. | TODO | +| `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. |
Language support status @@ -6908,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" } }, @@ -6925,12 +6950,12 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `instrument_name` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `instrument_type` | [`InstrumentType`](#instrumenttype) | `false` | No constraints. | TODO | -| `unit` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `meter_name` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `meter_version` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `meter_schema_url` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `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 @@ -6962,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" @@ -7002,11 +7033,11 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `name` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `description` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `aggregation` | [`Aggregation`](#aggregation) | `false` | No constraints. | TODO | -| `aggregation_cardinality_limit` | one of:
* `integer`
* `null`
| `false` | * `exclusiveMinimum`: `0`
| TODO | -| `attribute_keys` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | TODO | +| `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 @@ -7037,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" @@ -7059,6 +7094,7 @@ Usages: "exclusiveMinimum": 0 }, "attribute_keys": { + "description": "Configure attribute keys retained in the resulting stream(s).", "$ref": "common.json#/$defs/IncludeExclude" } } @@ -7069,8 +7105,8 @@ Usages: | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `timeout` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `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 @@ -7101,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" diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 5d227401..1eafc38c 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -474,7 +474,6 @@ - type: SimpleSpanProcessor properties: - property: exporter - description: Configure exporter. isSdkExtensionPlugin: false - type: SpanExporter properties: @@ -516,9 +515,6 @@ - type: TraceIdRatioBasedSampler properties: - property: ratio - description: | - Configure trace_id_ratio. - If omitted or null, 1.0 is used. isSdkExtensionPlugin: false - type: TracerProvider properties: @@ -530,87 +526,34 @@ - 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: diff --git a/schema/meter_provider.json b/schema/meter_provider.json index 4f26a404..26a771b4 100644 --- a/schema/meter_provider.json +++ b/schema/meter_provider.json @@ -481,9 +481,11 @@ "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" } } @@ -493,9 +495,11 @@ "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" } }, @@ -509,33 +513,39 @@ "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" @@ -563,21 +573,25 @@ "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" @@ -585,6 +599,7 @@ "exclusiveMinimum": 0 }, "attribute_keys": { + "description": "Configure attribute keys retained in the resulting stream(s).", "$ref": "common.json#/$defs/IncludeExclude" } } diff --git a/schema/meter_provider.json5 b/schema/meter_provider.json5 index 56364fc3..43eaef80 100644 --- a/schema/meter_provider.json5 +++ b/schema/meter_provider.json5 @@ -539,9 +539,15 @@ If omitted or null, explicit_bucket_histogram is used.", "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" } } @@ -551,9 +557,12 @@ If omitted or null, explicit_bucket_histogram is used.", "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" } }, @@ -567,33 +576,46 @@ If omitted or null, explicit_bucket_histogram is used.", "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" @@ -621,21 +643,30 @@ If omitted or null, explicit_bucket_histogram is used.", "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" @@ -643,6 +674,7 @@ If omitted or null, explicit_bucket_histogram is used.", "exclusiveMinimum": 0 }, "attribute_keys": { + description: "Configure attribute keys retained in the resulting stream(s).", "$ref": "common.json#/$defs/IncludeExclude" } } diff --git a/schema/tracer_provider.json b/schema/tracer_provider.json index 13bb9bfc..a24dcf30 100644 --- a/schema/tracer_provider.json +++ b/schema/tracer_provider.json @@ -212,6 +212,7 @@ "additionalProperties": false, "properties": { "ratio": { + "description": "Configure trace_id_ratio.\n If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -316,6 +317,7 @@ "additionalProperties": false, "properties": { "exporter": { + "description": "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -439,12 +441,14 @@ "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" diff --git a/schema/tracer_provider.json5 b/schema/tracer_provider.json5 index b6ef77f4..4126e794 100644 --- a/schema/tracer_provider.json5 +++ b/schema/tracer_provider.json5 @@ -225,6 +225,8 @@ If omitted or null, 1.0 is used.", "additionalProperties": false, properties: { "ratio": { + description: "Configure trace_id_ratio.\n \ +If omitted or null, 1.0 is used.", "type": [ "number", "null" @@ -330,6 +332,7 @@ If omitted or null, 1.0 is used.", "additionalProperties": false, properties: { "exporter": { + description: "Configure exporter.", "$ref": "#/$defs/SpanExporter" } }, @@ -465,12 +468,17 @@ If omitted or null, 128 is used.", "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"