type: object additionalProperties: false properties: processors: type: array minItems: 1 items: $ref: "#/$defs/SpanProcessor" description: Configure span processors. limits: $ref: "#/$defs/SpanLimits" description: Configure span limits. See also attribute_limits. defaultBehavior: default values as described in SpanLimits are used sampler: $ref: "#/$defs/Sampler" description: | Configure the sampler. defaultBehavior: parent based sampler with a root of always_on is used id_generator: $ref: "#/$defs/IdGenerator" description: | Configure the trace and span ID generator. defaultBehavior: RandomIdGenerator is used tracer_configurator/development: $ref: "#/$defs/ExperimentalTracerConfigurator" description: | Configure tracers. defaultBehavior: all tracers use default values as described in ExperimentalTracerConfig required: - processors $defs: SpanKind: type: - string - "null" enum: - internal - server - client - producer - consumer enumDescriptions: internal: internal, an internal span. server: server, a server span. client: client, a client span. producer: producer, a producer span. consumer: consumer, a consumer span. ExperimentalSpanParent: type: - string - "null" enum: - none - remote - local enumDescriptions: none: none, no parent, i.e., the trace root. remote: remote, a remote parent. local: local, a local parent. BatchSpanProcessor: type: object additionalProperties: false properties: schedule_delay: type: - integer - "null" minimum: 0 description: | Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. defaultBehavior: 5000 is used export_timeout: type: - integer - "null" minimum: 0 description: | Configure maximum allowed time (in milliseconds) to export data. Value must be non-negative. A value of 0 indicates no limit (infinity). defaultBehavior: 30000 is used max_queue_size: type: - integer - "null" exclusiveMinimum: 0 description: | Configure maximum queue size. Value must be positive. defaultBehavior: 2048 is used max_export_batch_size: type: - integer - "null" exclusiveMinimum: 0 description: | Configure maximum batch size. Value must be positive. defaultBehavior: 512 is used exporter: $ref: "#/$defs/SpanExporter" description: Configure exporter. required: - exporter Sampler: type: object additionalProperties: type: - object - "null" minProperties: 1 maxProperties: 1 properties: always_off: $ref: "#/$defs/AlwaysOffSampler" description: Configure sampler to be always_off. defaultBehavior: ignore always_on: $ref: "#/$defs/AlwaysOnSampler" description: Configure sampler to be always_on. defaultBehavior: ignore always_record: $ref: "#/$defs/AlwaysRecordSampler" description: Configure sampler to be always_record. defaultBehavior: ignore composite/development: $ref: "#/$defs/ExperimentalComposableSampler" description: Configure sampler to be composite. defaultBehavior: ignore jaeger_remote/development: $ref: "#/$defs/ExperimentalJaegerRemoteSampler" description: Configure sampler to be jaeger_remote. defaultBehavior: ignore parent_based: $ref: "#/$defs/ParentBasedSampler" description: Configure sampler to be parent_based. defaultBehavior: ignore probability/development: $ref: "#/$defs/ExperimentalProbabilitySampler" description: Configure sampler to be probability. defaultBehavior: ignore trace_id_ratio_based: $ref: "#/$defs/TraceIdRatioBasedSampler" description: Configure sampler to be trace_id_ratio_based. defaultBehavior: ignore isSdkExtensionPlugin: true AlwaysOffSampler: type: - object - "null" additionalProperties: false AlwaysOnSampler: type: - object - "null" additionalProperties: false AlwaysRecordSampler: type: - object additionalProperties: false properties: root: $ref: "#/$defs/Sampler" description: | Configure the wrapped sampler which provides the original sampling decision that AlwaysRecord modifies. DROP decisions are converted to RECORD_ONLY, allowing processors to see all spans without sending them to exporters. required: - root ExperimentalJaegerRemoteSampler: type: - object - "null" additionalProperties: false properties: endpoint: type: - string description: Configure the endpoint of the jaeger remote sampling service. interval: type: - integer - "null" minimum: 0 description: Configure the polling interval (in milliseconds) to fetch from the remote sampling service. defaultBehavior: 60000 is used initial_sampler: $ref: "#/$defs/Sampler" description: Configure the initial sampler used before first configuration is fetched. required: - endpoint - initial_sampler ParentBasedSampler: type: - object - "null" additionalProperties: false properties: root: $ref: "#/$defs/Sampler" description: | Configure root sampler. defaultBehavior: always_on is used remote_parent_sampled: $ref: "#/$defs/Sampler" description: | Configure remote_parent_sampled sampler. defaultBehavior: always_on is used remote_parent_not_sampled: $ref: "#/$defs/Sampler" description: | Configure remote_parent_not_sampled sampler. defaultBehavior: always_off is used local_parent_sampled: $ref: "#/$defs/Sampler" description: | Configure local_parent_sampled sampler. defaultBehavior: always_on is used local_parent_not_sampled: $ref: "#/$defs/Sampler" description: | Configure local_parent_not_sampled sampler. defaultBehavior: always_off is used ExperimentalProbabilitySampler: type: - object - "null" additionalProperties: false properties: ratio: type: - number - "null" minimum: 0 maximum: 1 description: | Configure ratio. defaultBehavior: 1.0 is used TraceIdRatioBasedSampler: type: - object - "null" additionalProperties: false properties: ratio: type: - number - "null" minimum: 0 maximum: 1 description: | Configure trace_id_ratio. defaultBehavior: 1.0 is used ExperimentalComposableAlwaysOffSampler: type: - object - "null" additionalProperties: false ExperimentalComposableAlwaysOnSampler: type: - object - "null" additionalProperties: false ExperimentalComposableParentThresholdSampler: type: - object additionalProperties: false properties: root: $ref: "#/$defs/ExperimentalComposableSampler" description: Sampler to use when there is no parent. required: - root ExperimentalComposableProbabilitySampler: type: - object - "null" additionalProperties: false properties: ratio: type: - number - "null" minimum: 0 maximum: 1 description: | Configure ratio. defaultBehavior: 1.0 is used ExperimentalComposableRuleBasedSampler: type: - object - 'null' additionalProperties: false properties: rules: type: array minItems: 1 items: "$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRule" description: | The rules for the sampler, matched in order. Each rule can have multiple match conditions. All conditions must match for the rule to match. If no conditions are specified, the rule matches all spans that reach it. If no rules match, the span is not sampled. defaultBehavior: no span is sampled ExperimentalComposableRuleBasedSamplerRule: type: object description: | A rule for ExperimentalComposableRuleBasedSampler. A rule can have multiple match conditions - the sampler will be applied if all match. If no conditions are specified, the rule matches all spans that reach it. additionalProperties: false properties: attribute_values: "$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRuleAttributeValues" description: | Values to match against a single attribute. Non-string attributes are matched using their string representation: for example, a value of "404" would match the http.response.status_code 404. For array attributes, if any item matches, it is considered a match. defaultBehavior: ignore attribute_patterns: "$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRuleAttributePatterns" description: | Patterns to match against a single attribute. Non-string attributes are matched using their string representation: for example, a pattern of "4*" would match any http.response.status_code in 400-499. For array attributes, if any item matches, it is considered a match. defaultBehavior: ignore span_kinds: type: array minItems: 1 items: "$ref": "#/$defs/SpanKind" description: The span kinds to match. If the span's kind matches any of these, it matches. defaultBehavior: ignore parent: type: array minItems: 1 items: "$ref": "#/$defs/ExperimentalSpanParent" description: The parent span types to match. defaultBehavior: ignore sampler: "$ref": "#/$defs/ExperimentalComposableSampler" description: The sampler to use for matching spans. required: - sampler ExperimentalComposableRuleBasedSamplerRuleAttributeValues: type: object additionalProperties: false properties: key: type: string description: The attribute key to match against. values: type: array minItems: 1 items: type: string description: The attribute values to match against. If the attribute's value matches any of these, it matches. required: - key - values ExperimentalComposableRuleBasedSamplerRuleAttributePatterns: type: object additionalProperties: false properties: key: type: string description: The attribute key to match against. included: type: array minItems: 1 items: type: string description: | Configure list of value patterns to include. Matching is case-sensitive. 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. defaultBehavior: all values are included excluded: type: array minItems: 1 items: type: string description: | Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included). Matching is case-sensitive. 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. defaultBehavior: .included attributes are included required: - key ExperimentalComposableSampler: type: object additionalProperties: type: - object - "null" minProperties: 1 maxProperties: 1 properties: always_off: $ref: "#/$defs/ExperimentalComposableAlwaysOffSampler" description: Configure sampler to be always_off. defaultBehavior: ignore always_on: $ref: "#/$defs/ExperimentalComposableAlwaysOnSampler" description: Configure sampler to be always_on. defaultBehavior: ignore parent_threshold: $ref: "#/$defs/ExperimentalComposableParentThresholdSampler" description: | Configure sampler to be parent_threshold. defaultBehavior: ignore probability: $ref: "#/$defs/ExperimentalComposableProbabilitySampler" description: Configure sampler to be probability. defaultBehavior: ignore rule_based: $ref: "#/$defs/ExperimentalComposableRuleBasedSampler" description: Configure sampler to be rule_based. defaultBehavior: ignore IdGenerator: type: object additionalProperties: type: - object - "null" minProperties: 1 maxProperties: 1 properties: random: $ref: "#/$defs/RandomIdGenerator" description: Configure the ID generator to randomly generate TraceIds and SpanIds (spec default). defaultBehavior: ignore isSdkExtensionPlugin: true RandomIdGenerator: type: - object - "null" additionalProperties: false SimpleSpanProcessor: type: object additionalProperties: false properties: exporter: $ref: "#/$defs/SpanExporter" description: Configure exporter. required: - exporter SpanExporter: type: object additionalProperties: type: - object - "null" minProperties: 1 maxProperties: 1 properties: otlp_http: $ref: common.yaml#/$defs/OtlpHttpExporter description: Configure exporter to be OTLP with HTTP transport. defaultBehavior: ignore otlp_grpc: $ref: common.yaml#/$defs/OtlpGrpcExporter description: Configure exporter to be OTLP with gRPC transport. defaultBehavior: ignore otlp_file/development: $ref: common.yaml#/$defs/ExperimentalOtlpFileExporter description: | Configure exporter to be OTLP with file transport. defaultBehavior: ignore console: $ref: common.yaml#/$defs/ConsoleExporter description: Configure exporter to be console. defaultBehavior: ignore isSdkExtensionPlugin: true SpanLimits: type: object additionalProperties: false properties: attribute_value_length_limit: type: - integer - "null" minimum: 0 description: | Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. Value must be non-negative. defaultBehavior: there is no limit attribute_value_depth_limit: type: - integer - "null" minimum: 1 description: | Configure the maximum attribute value depth for nested array and map values. Overrides .attribute_limits.attribute_value_depth_limit. Depth starts at 1 for the top-level attribute value and increments when descending into array elements or map values. Array or map values deeper than the limit are replaced with an empty value. Value must be positive. defaultBehavior: 64 is used attribute_count_limit: type: - integer - "null" minimum: 0 description: | Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. Value must be non-negative. defaultBehavior: 128 is used event_count_limit: type: - integer - "null" minimum: 0 description: | Configure max span event count. Value must be non-negative. defaultBehavior: 128 is used link_count_limit: type: - integer - "null" minimum: 0 description: | Configure max span link count. Value must be non-negative. defaultBehavior: 128 is used event_attribute_count_limit: type: - integer - "null" minimum: 0 description: | Configure max attributes per span event. Value must be non-negative. defaultBehavior: 128 is used link_attribute_count_limit: type: - integer - "null" minimum: 0 description: | Configure max attributes per span link. Value must be non-negative. defaultBehavior: 128 is used SpanProcessor: type: object additionalProperties: type: - object - "null" minProperties: 1 maxProperties: 1 properties: batch: $ref: "#/$defs/BatchSpanProcessor" description: Configure a batch span processor. defaultBehavior: ignore simple: $ref: "#/$defs/SimpleSpanProcessor" description: Configure a simple span processor. defaultBehavior: ignore isSdkExtensionPlugin: true ExperimentalTracerConfigurator: type: - object additionalProperties: false properties: default_config: $ref: "#/$defs/ExperimentalTracerConfig" description: Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. defaultBehavior: unmatched .tracers use default values as described in ExperimentalTracerConfig tracers: type: array minItems: 1 items: $ref: "#/$defs/ExperimentalTracerMatcherAndConfig" description: Configure tracers. defaultBehavior: all tracers use .default_config ExperimentalTracerMatcherAndConfig: type: - object additionalProperties: false properties: name: type: - string description: | Configure tracer names to match. Matching is case-sensitive, 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: $ref: "#/$defs/ExperimentalTracerConfig" description: The tracer config. required: - name - config ExperimentalTracerConfig: type: - object additionalProperties: false properties: enabled: type: - boolean description: Configure if the tracer is enabled or not. defaultBehavior: true is used