diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml index a3228b4..0faad09 100644 --- a/examples/kitchen-sink.yaml +++ b/examples/kitchen-sink.yaml @@ -123,6 +123,26 @@ logger_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 + - # Configure a batch log record processor. + batch: + # Configure exporter. + exporter: + # Configure exporter to be OTLP with file transport. + otlp_file: + # 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: + # Configure exporter. + exporter: + # Configure exporter to be OTLP with file transport. + otlp_file: + # 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: # Configure exporter. @@ -297,6 +317,38 @@ meter_provider: # Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md. # If omitted or null, explicit_bucket_histogram is used. default_histogram_aggregation: base2_exponential_bucket_histogram + - # Configure a periodic metric reader. + periodic: + # Configure exporter. + exporter: + # Configure exporter to be OTLP with file transport. + otlp_file: + # 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 + # 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 + # 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: + # Configure exporter. + exporter: + # Configure exporter to be OTLP with file transport. + otlp_file: + # 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 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 + # 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: # Configure exporter. @@ -488,6 +540,26 @@ tracer_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 + - # Configure a batch span processor. + batch: + # Configure exporter. + exporter: + # Configure exporter to be OTLP with file transport. + otlp_file: + # Configure output stream. + # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. + # If omitted or null, stdout is used. + output_stream: file:///var/log/traces.jsonl + - # Configure a batch span processor. + batch: + # Configure exporter. + exporter: + # Configure exporter to be OTLP with file transport. + otlp_file: + # Configure output stream. + # Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. + # If omitted or null, stdout is used. + output_stream: stdout - # Configure a batch span processor. batch: # Configure exporter. diff --git a/schema/common.json b/schema/common.json index 6ee683f..acb52c4 100644 --- a/schema/common.json +++ b/schema/common.json @@ -116,6 +116,15 @@ } } }, + "OtlpFileExporter": { + "type": ["object", "null"], + "additionalProperties": false, + "properties": { + "output_stream": { + "type": ["string", "null"] + } + } + }, "ConsoleExporter": { "type": ["object", "null"], "additionalProperties": false diff --git a/schema/logger_provider.json b/schema/logger_provider.json index 36a8820..3b7bbd1 100644 --- a/schema/logger_provider.json +++ b/schema/logger_provider.json @@ -71,6 +71,9 @@ "otlp_grpc": { "$ref": "common.json#/$defs/OtlpGrpcExporter" }, + "otlp_file": { + "$ref": "common.json#/$defs/OtlpFileExporter" + }, "console": { "$ref": "common.json#/$defs/ConsoleExporter" } diff --git a/schema/meter_provider.json b/schema/meter_provider.json index 5dd33ad..25c4056 100644 --- a/schema/meter_provider.json +++ b/schema/meter_provider.json @@ -88,6 +88,9 @@ "otlp_grpc": { "$ref": "#/$defs/OtlpGrpcMetricExporter" }, + "otlp_file": { + "$ref": "#/$defs/OtlpFileMetricExporter" + }, "console": { "$ref": "common.json#/$defs/ConsoleExporter" } @@ -279,6 +282,21 @@ } } }, + "OtlpFileMetricExporter": { + "type": ["object", "null"], + "additionalProperties": false, + "properties": { + "output_stream": { + "type": ["string", "null"] + }, + "temporality_preference": { + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } + }, "View": { "type": "object", "additionalProperties": false, diff --git a/schema/tracer_provider.json b/schema/tracer_provider.json index e48d293..de4b9e9 100644 --- a/schema/tracer_provider.json +++ b/schema/tracer_provider.json @@ -143,6 +143,9 @@ "otlp_grpc": { "$ref": "common.json#/$defs/OtlpGrpcExporter" }, + "otlp_file": { + "$ref": "common.json#/$defs/OtlpFileExporter" + }, "console": { "$ref": "common.json#/$defs/ConsoleExporter" }, diff --git a/schema/type_descriptions.yaml b/schema/type_descriptions.yaml index 0ce19ba..d304e83 100644 --- a/schema/type_descriptions.yaml +++ b/schema/type_descriptions.yaml @@ -173,6 +173,7 @@ property_descriptions: otlp_http: Configure exporter to be OTLP with HTTP transport. otlp_grpc: Configure exporter to be OTLP with gRPC transport. + otlp_file: Configure exporter to be OTLP with file transport. console: Configure exporter to be console. path_patterns: - .logger_provider.processors[].*.exporter @@ -250,6 +251,7 @@ property_descriptions: otlp_http: Configure exporter to be OTLP with HTTP transport. otlp_grpc: Configure exporter to be OTLP with gRPC transport. + otlp_file: Configure exporter to be OTLP with file transport. zipkin: Configure exporter to be zipkin. console: Configure exporter to be console. path_patterns: @@ -409,6 +411,7 @@ prometheus: Configure exporter to be prometheus. otlp_http: Configure exporter to be OTLP with HTTP transport. otlp_grpc: Configure exporter to be OTLP with gRPC transport. + otlp_file: Configure exporter to be OTLP with file transport. console: Configure exporter to be console. path_patterns: - .meter_provider.readers[].*.exporter @@ -664,6 +667,18 @@ - .tracer_provider.processors[].*.exporter.otlp_grpc - .logger_provider.processors[].*.exporter.otlp_grpc - .meter_provider.readers[].periodic.exporter.otlp_grpc +- type: OtlpFileExporter + property_descriptions: + output_stream: > + Configure output stream. + + Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. + + If omitted or null, stdout is used. + path_patterns: + - .tracer_provider.processors[].*.exporter.otlp_file + - .logger_provider.processors[].*.exporter.otlp_file + - .meter_provider.readers[].periodic.exporter.otlp_file # END common # START Instrumentation