diff --git a/examples/kitchen-sink.yaml b/examples/kitchen-sink.yaml
index 693df7ce..ed65b3b3 100644
--- a/examples/kitchen-sink.yaml
+++ b/examples/kitchen-sink.yaml
@@ -804,8 +804,14 @@ tracer_provider:
# Configure local_parent_sampled sampler.
# If omitted or null, always_on is used.
local_parent_sampled:
- # Configure sampler to be always_on.
- always_on:
+ # Configure sampler to be composite.
+ # This property is experimental and subject to breaking changes in minor versions.
+ composite/development:
+ # Configure sampler to be probability.
+ probability:
+ # 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.
local_parent_not_sampled:
diff --git a/schema-docs.md b/schema-docs.md
index e058af0a..223025b3 100644
--- a/schema-docs.md
+++ b/schema-docs.md
@@ -875,6 +875,242 @@ Usages:
}
+## ExperimentalComposableAlwaysOffSampler
+
+> [!WARNING]
+> This type is [experimental](README.md#experimental-features).
+
+No properties.
+
+Constraints:
+
+* `additionalProperties`: `false`
+
+Usages:
+
+* [`ExperimentalComposableSampler.always_off`](#experimentalcomposablesampler)
+
+
+JSON Schema
+
+[JSON Schema Source File](./schema/tracer_provider.json)
+{
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": false
+}
+
+
+## ExperimentalComposableAlwaysOnSampler
+
+> [!WARNING]
+> This type is [experimental](README.md#experimental-features).
+
+No properties.
+
+Constraints:
+
+* `additionalProperties`: `false`
+
+Usages:
+
+* [`ExperimentalComposableSampler.always_on`](#experimentalcomposablesampler)
+
+
+JSON Schema
+
+[JSON Schema Source File](./schema/tracer_provider.json)
+{
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": false
+}
+
+
+## ExperimentalComposableParentBasedSampler
+
+> [!WARNING]
+> This type is [experimental](README.md#experimental-features).
+
+| 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. |
+
+
+Language support status
+
+| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) |
+|---|---|---|---|---|
+| `root` | unknown | unknown | unknown | unknown |
+| `remote_parent_sampled` | unknown | unknown | unknown | unknown |
+| `remote_parent_not_sampled` | unknown | unknown | unknown | unknown |
+| `local_parent_sampled` | unknown | unknown | unknown | unknown |
+| `local_parent_not_sampled` | unknown | unknown | unknown | unknown |
+
+
+Constraints:
+
+* `additionalProperties`: `false`
+
+Usages:
+
+* [`ExperimentalComposableSampler.parent_based`](#experimentalcomposablesampler)
+
+
+JSON Schema
+
+[JSON Schema Source File](./schema/tracer_provider.json)
+{
+ "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
+
+> [!WARNING]
+> This type is [experimental](README.md#experimental-features).
+
+| 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.
|
+
+
+Language support status
+
+| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) |
+|---|---|---|---|---|
+| `ratio` | unknown | unknown | unknown | unknown |
+
+
+Constraints:
+
+* `additionalProperties`: `false`
+
+Usages:
+
+* [`ExperimentalComposableSampler.probability`](#experimentalcomposablesampler)
+
+
+JSON Schema
+
+[JSON Schema Source File](./schema/tracer_provider.json)
+{
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "ratio": {
+ "type": [
+ "number",
+ "null"
+ ],
+ "minimum": 0,
+ "maximum": 1
+ }
+ }
+}
+
+
+## ExperimentalComposableSampler
+
+> [!WARNING]
+> This type is [experimental](README.md#experimental-features).
+
+| 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. |
+
+
+Language support status
+
+| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) |
+|---|---|---|---|---|
+| `always_off` | unknown | unknown | unknown | unknown |
+| `always_on` | unknown | unknown | unknown | unknown |
+| `probability` | unknown | unknown | unknown | unknown |
+| `parent_based` | unknown | unknown | unknown | unknown |
+
+
+Constraints:
+
+* `additionalProperties`: `{"type":["object","null"]}`
+* `minProperties`: `1`
+* `maxProperties`: `1`
+
+Usages:
+
+* [`Sampler.composite/development`](#sampler)
+* [`ExperimentalComposableParentBasedSampler.root`](#experimentalcomposableparentbasedsampler)
+* [`ExperimentalComposableParentBasedSampler.remote_parent_sampled`](#experimentalcomposableparentbasedsampler)
+* [`ExperimentalComposableParentBasedSampler.remote_parent_not_sampled`](#experimentalcomposableparentbasedsampler)
+* [`ExperimentalComposableParentBasedSampler.local_parent_sampled`](#experimentalcomposableparentbasedsampler)
+* [`ExperimentalComposableParentBasedSampler.local_parent_not_sampled`](#experimentalcomposableparentbasedsampler)
+
+
+JSON Schema
+
+[JSON Schema Source File](./schema/tracer_provider.json)
+{
+ "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"
+ }
+ }
+}
+
+
## ExperimentalContainerResourceDetector
> [!WARNING]
@@ -5234,6 +5470,7 @@ Usages:
| `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. | Configure sampler to be composite. |
Language support status
@@ -5246,6 +5483,7 @@ Usages:
| `trace_id_ratio_based` | supported | unknown | supported | unknown |
| `probability/development` | supported | unknown | ignored | unknown |
| `jaeger_remote/development` | supported | unknown | supported | unknown |
+| `composite/development` | supported | unknown | supported | unknown |
Constraints:
@@ -5285,6 +5523,9 @@ Usages:
"always_on": {
"$ref": "#/$defs/AlwaysOnSampler"
},
+ "composite/development": {
+ "$ref": "#/$defs/ExperimentalComposableSampler"
+ },
"jaeger_remote/development": {
"$ref": "#/$defs/ExperimentalJaegerRemoteSampler"
},
@@ -5876,6 +6117,9 @@ Usages:
"always_on": {
"$ref": "#/$defs/AlwaysOnSampler"
},
+ "composite/development": {
+ "$ref": "#/$defs/ExperimentalComposableSampler"
+ },
"jaeger_remote/development": {
"$ref": "#/$defs/ExperimentalJaegerRemoteSampler"
},
@@ -5987,6 +6231,86 @@ Usages:
}
}
},
+ "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,
@@ -6435,6 +6759,11 @@ Latest supported file format: `1.0.0-rc.2`
| [`DefaultAggregation`](#defaultaggregation) | supported | | |
| [`DropAggregation`](#dropaggregation) | supported | | |
| [`ExemplarFilter`](#exemplarfilter) | not_implemented | | * `always_off`: not_implemented
* `always_on`: not_implemented
* `trace_based`: not_implemented
|
+| [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | unknown | | |
+| [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | unknown | | |
+| [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | unknown | | * `root`: unknown
* `remote_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `local_parent_not_sampled`: unknown
|
+| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
|
+| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `probability`: unknown
* `parent_based`: unknown
|
| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | not_implemented | | |
| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | not_applicable | | * `peer`: not_applicable
* `http`: not_applicable
|
| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | not_implemented | | |
@@ -6495,7 +6824,7 @@ Latest supported file format: `1.0.0-rc.2`
| [`PullMetricReader`](#pullmetricreader) | supported | | * `exporter`: supported
* `producers`: supported
* `cardinality_limits`: supported
|
| [`PushMetricExporter`](#pushmetricexporter) | supported | | * `otlp_http`: supported
* `otlp_grpc`: supported
* `otlp_file/development`: supported
* `console`: supported
|
| [`Resource`](#resource) | supported | | * `attributes`: supported
* `detection/development`: supported
* `schema_url`: supported
* `attributes_list`: supported
|
-| [`Sampler`](#sampler) | supported | | * `always_off`: supported
* `always_on`: supported
* `parent_based`: supported
* `trace_id_ratio_based`: supported
* `probability/development`: supported
* `jaeger_remote/development`: supported
|
+| [`Sampler`](#sampler) | supported | | * `always_off`: supported
* `always_on`: supported
* `parent_based`: supported
* `trace_id_ratio_based`: supported
* `probability/development`: supported
* `jaeger_remote/development`: supported
* `composite/development`: supported
|
| [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | supported | | * `exporter`: supported
|
| [`SimpleSpanProcessor`](#simplespanprocessor) | supported | | * `exporter`: supported
|
| [`SpanExporter`](#spanexporter) | supported | | * `otlp_http`: supported
* `otlp_grpc`: supported
* `otlp_file/development`: supported
* `console`: supported
* `zipkin`: supported
|
@@ -6536,6 +6865,11 @@ Latest supported file format: `0.3.0`
| [`DefaultAggregation`](#defaultaggregation) | unknown | | |
| [`DropAggregation`](#dropaggregation) | unknown | | |
| [`ExemplarFilter`](#exemplarfilter) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `trace_based`: unknown
|
+| [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | unknown | | |
+| [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | unknown | | |
+| [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | unknown | | * `root`: unknown
* `remote_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `local_parent_not_sampled`: unknown
|
+| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
|
+| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `probability`: unknown
* `parent_based`: unknown
|
| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | unknown | | |
| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | unknown | | * `peer`: unknown
* `http`: unknown
|
| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | unknown | | |
@@ -6596,7 +6930,7 @@ Latest supported file format: `0.3.0`
| [`PullMetricReader`](#pullmetricreader) | unknown | | * `exporter`: unknown
* `producers`: unknown
* `cardinality_limits`: unknown
|
| [`PushMetricExporter`](#pushmetricexporter) | unknown | | * `otlp_http`: unknown
* `otlp_grpc`: unknown
* `otlp_file/development`: unknown
* `console`: unknown
|
| [`Resource`](#resource) | unknown | | * `attributes`: unknown
* `detection/development`: unknown
* `schema_url`: unknown
* `attributes_list`: unknown
|
-| [`Sampler`](#sampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `trace_id_ratio_based`: unknown
* `probability/development`: unknown
* `jaeger_remote/development`: unknown
|
+| [`Sampler`](#sampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `trace_id_ratio_based`: unknown
* `probability/development`: unknown
* `jaeger_remote/development`: unknown
* `composite/development`: unknown
|
| [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | unknown | | * `exporter`: unknown
|
| [`SimpleSpanProcessor`](#simplespanprocessor) | unknown | | * `exporter`: unknown
|
| [`SpanExporter`](#spanexporter) | unknown | | * `otlp_http`: unknown
* `otlp_grpc`: unknown
* `otlp_file/development`: unknown
* `console`: unknown
* `zipkin`: unknown
|
@@ -6637,6 +6971,11 @@ Latest supported file format: `1.0.0-rc.1`
| [`DefaultAggregation`](#defaultaggregation) | supported | | |
| [`DropAggregation`](#dropaggregation) | supported | | |
| [`ExemplarFilter`](#exemplarfilter) | supported | | * `always_off`: supported
* `always_on`: supported
* `trace_based`: supported
|
+| [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | unknown | | |
+| [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | unknown | | |
+| [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | unknown | | * `root`: unknown
* `remote_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `local_parent_not_sampled`: unknown
|
+| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
|
+| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `probability`: unknown
* `parent_based`: unknown
|
| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | supported | | |
| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | supported | | * `peer`: supported
* `http`: supported
|
| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | supported | | |
@@ -6697,7 +7036,7 @@ Latest supported file format: `1.0.0-rc.1`
| [`PullMetricReader`](#pullmetricreader) | supported | | * `exporter`: supported
* `producers`: not_implemented
* `cardinality_limits`: supported
|
| [`PushMetricExporter`](#pushmetricexporter) | supported | | * `otlp_http`: supported
* `otlp_grpc`: supported
* `otlp_file/development`: supported
* `console`: supported
|
| [`Resource`](#resource) | supported | | * `attributes`: supported
* `detection/development`: supported
* `schema_url`: ignored
* `attributes_list`: supported
|
-| [`Sampler`](#sampler) | supported | | * `always_off`: supported
* `always_on`: supported
* `parent_based`: supported
* `trace_id_ratio_based`: supported
* `probability/development`: ignored
* `jaeger_remote/development`: supported
|
+| [`Sampler`](#sampler) | supported | | * `always_off`: supported
* `always_on`: supported
* `parent_based`: supported
* `trace_id_ratio_based`: supported
* `probability/development`: ignored
* `jaeger_remote/development`: supported
* `composite/development`: supported
|
| [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | supported | | * `exporter`: supported
|
| [`SimpleSpanProcessor`](#simplespanprocessor) | supported | | * `exporter`: supported
|
| [`SpanExporter`](#spanexporter) | supported | | * `otlp_http`: supported
* `otlp_grpc`: supported
* `otlp_file/development`: supported
* `console`: supported
* `zipkin`: supported
|
@@ -6738,6 +7077,11 @@ Latest supported file format: `1.0.0-rc.2`
| [`DefaultAggregation`](#defaultaggregation) | unknown | | |
| [`DropAggregation`](#dropaggregation) | unknown | | |
| [`ExemplarFilter`](#exemplarfilter) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `trace_based`: unknown
|
+| [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | unknown | | |
+| [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | unknown | | |
+| [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | unknown | | * `root`: unknown
* `remote_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `local_parent_not_sampled`: unknown
|
+| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
|
+| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `probability`: unknown
* `parent_based`: unknown
|
| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | unknown | | |
| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | unknown | | * `peer`: unknown
* `http`: unknown
|
| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | unknown | | |
@@ -6798,7 +7142,7 @@ Latest supported file format: `1.0.0-rc.2`
| [`PullMetricReader`](#pullmetricreader) | unknown | | * `exporter`: unknown
* `producers`: unknown
* `cardinality_limits`: unknown
|
| [`PushMetricExporter`](#pushmetricexporter) | unknown | | * `otlp_http`: unknown
* `otlp_grpc`: unknown
* `otlp_file/development`: unknown
* `console`: unknown
|
| [`Resource`](#resource) | unknown | | * `attributes`: unknown
* `detection/development`: unknown
* `schema_url`: unknown
* `attributes_list`: unknown
|
-| [`Sampler`](#sampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `trace_id_ratio_based`: unknown
* `probability/development`: unknown
* `jaeger_remote/development`: unknown
|
+| [`Sampler`](#sampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `trace_id_ratio_based`: unknown
* `probability/development`: unknown
* `jaeger_remote/development`: unknown
* `composite/development`: unknown
|
| [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | unknown | | * `exporter`: unknown
|
| [`SimpleSpanProcessor`](#simplespanprocessor) | unknown | | * `exporter`: unknown
|
| [`SpanExporter`](#spanexporter) | unknown | | * `otlp_http`: unknown
* `otlp_grpc`: unknown
* `otlp_file/development`: unknown
* `console`: unknown
* `zipkin`: unknown
|
diff --git a/schema/meta_schema_language_cpp.yaml b/schema/meta_schema_language_cpp.yaml
index 8f4d559f..419c1dae 100644
--- a/schema/meta_schema_language_cpp.yaml
+++ b/schema/meta_schema_language_cpp.yaml
@@ -72,6 +72,26 @@ typeSupportStatuses:
status: not_implemented
notes: ""
enumOverrides: []
+ - type: ExperimentalComposableAlwaysOffSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableAlwaysOnSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableParentBasedSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableProbabilitySampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
- type: ExperimentalContainerResourceDetector
status: not_implemented
notes: ""
diff --git a/schema/meta_schema_language_go.yaml b/schema/meta_schema_language_go.yaml
index cd7d466f..6ecb8cfb 100644
--- a/schema/meta_schema_language_go.yaml
+++ b/schema/meta_schema_language_go.yaml
@@ -72,6 +72,26 @@ typeSupportStatuses:
status: unknown
notes: ""
enumOverrides: []
+ - type: ExperimentalComposableAlwaysOffSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableAlwaysOnSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableParentBasedSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableProbabilitySampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
- type: ExperimentalContainerResourceDetector
status: unknown
notes: ""
diff --git a/schema/meta_schema_language_java.yaml b/schema/meta_schema_language_java.yaml
index b84ce238..91c13f22 100644
--- a/schema/meta_schema_language_java.yaml
+++ b/schema/meta_schema_language_java.yaml
@@ -78,6 +78,26 @@ typeSupportStatuses:
status: supported
notes: ""
enumOverrides: []
+ - type: ExperimentalComposableAlwaysOffSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableAlwaysOnSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableParentBasedSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableProbabilitySampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
- type: ExperimentalContainerResourceDetector
status: supported
notes: ""
diff --git a/schema/meta_schema_language_js.yaml b/schema/meta_schema_language_js.yaml
index 0673ccf2..38cbcf35 100644
--- a/schema/meta_schema_language_js.yaml
+++ b/schema/meta_schema_language_js.yaml
@@ -72,6 +72,26 @@ typeSupportStatuses:
status: unknown
notes: ""
enumOverrides: []
+ - type: ExperimentalComposableAlwaysOffSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableAlwaysOnSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableParentBasedSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableProbabilitySampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
+ - type: ExperimentalComposableSampler
+ status: unknown
+ notes: ""
+ propertyOverrides: []
- type: ExperimentalContainerResourceDetector
status: unknown
notes: ""
diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml
index ef780779..abd05523 100644
--- a/schema/meta_schema_types.yaml
+++ b/schema/meta_schema_types.yaml
@@ -960,6 +960,8 @@
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:
@@ -1161,3 +1163,40 @@
- property: initial_sampler
description: TODO
isSdkExtensionPlugin: false
+- type: ExperimentalComposableSampler
+ properties:
+ - property: always_off
+ description: Configure sampler to be always_off.
+ - property: always_on
+ description: Configure sampler to be always_on.
+ - property: probability
+ description: Configure sampler to be probability.
+ - property: parent_based
+ description: Configure sampler to be parent_based.
+ isSdkExtensionPlugin: false
+- type: ExperimentalComposableParentBasedSampler
+ properties:
+ - property: root
+ description: Configures the sampler for spans with no parent.
+ - property: remote_parent_sampled
+ description: Configures the sampler for spans with a remote parent that is sampled.
+ - property: remote_parent_not_sampled
+ description: Configures the sampler for spans with a remote parent that is not sampled.
+ - property: local_parent_sampled
+ description: Configures the sampler for spans with a local parent that is sampled.
+ - property: local_parent_not_sampled
+ description: Configures the sampler for spans with a local parent that is not sampled.
+ isSdkExtensionPlugin: false
+- type: ExperimentalComposableAlwaysOffSampler
+ properties: []
+ isSdkExtensionPlugin: false
+- type: ExperimentalComposableAlwaysOnSampler
+ properties: []
+ isSdkExtensionPlugin: false
+- type: ExperimentalComposableProbabilitySampler
+ properties:
+ - property: ratio
+ description: |
+ Configure ratio.
+ If omitted or null, 1.0 is used.
+ isSdkExtensionPlugin: false
diff --git a/schema/tracer_provider.json b/schema/tracer_provider.json
index bec14c90..f350f0a9 100644
--- a/schema/tracer_provider.json
+++ b/schema/tracer_provider.json
@@ -67,6 +67,9 @@
"always_on": {
"$ref": "#/$defs/AlwaysOnSampler"
},
+ "composite/development": {
+ "$ref": "#/$defs/ExperimentalComposableSampler"
+ },
"jaeger_remote/development": {
"$ref": "#/$defs/ExperimentalJaegerRemoteSampler"
},
@@ -148,6 +151,68 @@
}
}
},
+ "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,