diff --git a/schema-docs.md b/schema-docs.md index 4387b3ce..25cf39d7 100644 --- a/schema-docs.md +++ b/schema-docs.md @@ -6,6 +6,7 @@ This document is an auto-generated view of the declarative configuration JSON schema and meta schema meant for improved consumability by humans. * [Types](#types) contains descriptions of all types and properties, with convenient linking between type references. [OpenTelemetryConfiguration](#opentelemetryconfiguration) is the root type and is a good starting point. +* [Experimental Types](#experimental-types) same as [Types](#types) but for experimental types subject to breaking changes. * [Language Support Status](#language-support-status) provides all the details about each language's support in a single place. (Alternatively, each type definition has a table showing support status across languages.) * [SDK Extension Plugins](#sdk-extension-plugins) lists all the SDK extension plugin points. @@ -881,12 +882,21 @@ Usages: } -## ExperimentalComposableAlwaysOffSampler +## ExplicitBucketHistogramAggregation -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `boundaries` | `array` of `number` | `false` | * `minItems`: `0`
| 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.
| -No properties. +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `boundaries` | supported | unknown | supported | unknown | +| `record_min_max` | supported | unknown | not_implemented | unknown | +
Constraints: @@ -894,72 +904,143 @@ Constraints: Usages: -* [`ExperimentalComposableSampler.always_off`](#experimentalcomposablesampler) +* [`Aggregation.explicit_bucket_histogram`](#aggregation)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
   "type": [
     "object",
     "null"
   ],
-  "additionalProperties": false
+  "additionalProperties": false,
+  "properties": {
+    "boundaries": {
+      "type": "array",
+      "minItems": 0,
+      "items": {
+        "type": "number"
+      }
+    },
+    "record_min_max": {
+      "type": [
+        "boolean",
+        "null"
+      ]
+    }
+  }
 }
-## ExperimentalComposableAlwaysOnSampler +## ExporterDefaultHistogramAggregation -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +This is a enum type. -No properties. +| Value | Description | +|---|---| +| `base2_exponential_bucket_histogram` | TODO | +| `explicit_bucket_histogram` | TODO | -Constraints: +
+Language support status -* `additionalProperties`: `false` +| Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `base2_exponential_bucket_histogram` | supported | unknown | supported | unknown | +| `explicit_bucket_histogram` | supported | unknown | supported | unknown | +
+ +No constraints. Usages: -* [`ExperimentalComposableSampler.always_on`](#experimentalcomposablesampler) +* [`OtlpHttpMetricExporter.default_histogram_aggregation`](#otlphttpmetricexporter) +* [`OtlpGrpcMetricExporter.default_histogram_aggregation`](#otlpgrpcmetricexporter) +* [`ExperimentalOtlpFileMetricExporter.default_histogram_aggregation`](#experimentalotlpfilemetricexporter) +* [`ConsoleMetricExporter.default_histogram_aggregation`](#consolemetricexporter)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
   "type": [
-    "object",
+    "string",
     "null"
   ],
-  "additionalProperties": false
+  "enum": [
+    "explicit_bucket_histogram",
+    "base2_exponential_bucket_histogram"
+  ]
 }
-## ExperimentalComposableParentBasedSampler +## ExporterTemporalityPreference -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +This is a enum type. + +| Value | Description | +|---|---| +| `cumulative` | TODO | +| `delta` | TODO | +| `low_memory` | TODO | + +
+Language support status + +| Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `cumulative` | supported | unknown | supported | unknown | +| `delta` | supported | unknown | supported | unknown | +| `low_memory` | supported | unknown | supported | unknown | +
+ +No constraints. + +Usages: + +* [`OtlpHttpMetricExporter.temporality_preference`](#otlphttpmetricexporter) +* [`OtlpGrpcMetricExporter.temporality_preference`](#otlpgrpcmetricexporter) +* [`ExperimentalOtlpFileMetricExporter.temporality_preference`](#experimentalotlpfilemetricexporter) +* [`ConsoleMetricExporter.temporality_preference`](#consolemetricexporter) + +
+JSON Schema + +[JSON Schema Source File](./schema/meter_provider.json) +
{
+  "type": [
+    "string",
+    "null"
+  ],
+  "enum": [
+    "cumulative",
+    "delta",
+    "low_memory"
+  ]
+}
+
+ +## GrpcTls | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `local_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a local 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. | -| `remote_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a remote parent that is not sampled. | -| `remote_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a remote parent that is sampled. | -| `root` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with no parent. | +| `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_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.
| +| `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.
| +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `local_parent_not_sampled` | unknown | unknown | unknown | unknown | -| `local_parent_sampled` | unknown | unknown | unknown | unknown | -| `remote_parent_not_sampled` | unknown | unknown | unknown | unknown | -| `remote_parent_sampled` | unknown | unknown | unknown | unknown | -| `root` | unknown | unknown | unknown | unknown | +| `certificate_file` | unknown | unknown | not_implemented | unknown | +| `client_certificate_file` | unknown | unknown | not_implemented | unknown | +| `client_key_file` | unknown | unknown | not_implemented | unknown | +| `insecure` | unknown | unknown | not_implemented | unknown |
Constraints: @@ -968,12 +1049,13 @@ Constraints: Usages: -* [`ExperimentalComposableSampler.parent_based`](#experimentalcomposablesampler) +* [`OtlpGrpcExporter.tls`](#otlpgrpcexporter) +* [`OtlpGrpcMetricExporter.tls`](#otlpgrpcmetricexporter)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/common.json)
{
   "type": [
     "object",
@@ -981,40 +1063,50 @@ Usages:
   ],
   "additionalProperties": false,
   "properties": {
-    "root": {
-      "$ref": "#/$defs/ExperimentalComposableSampler"
-    },
-    "remote_parent_sampled": {
-      "$ref": "#/$defs/ExperimentalComposableSampler"
+    "certificate_file": {
+      "type": [
+        "string",
+        "null"
+      ]
     },
-    "remote_parent_not_sampled": {
-      "$ref": "#/$defs/ExperimentalComposableSampler"
+    "client_key_file": {
+      "type": [
+        "string",
+        "null"
+      ]
     },
-    "local_parent_sampled": {
-      "$ref": "#/$defs/ExperimentalComposableSampler"
+    "client_certificate_file": {
+      "type": [
+        "string",
+        "null"
+      ]
     },
-    "local_parent_not_sampled": {
-      "$ref": "#/$defs/ExperimentalComposableSampler"
+    "insecure": {
+      "type": [
+        "boolean",
+        "null"
+      ]
     }
   }
 }
-## ExperimentalComposableProbabilitySampler - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +## HttpTls | 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.
| +| `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_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.
| +| `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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `ratio` | unknown | unknown | unknown | unknown | +| `certificate_file` | unknown | unknown | not_implemented | unknown | +| `client_certificate_file` | unknown | unknown | not_implemented | unknown | +| `client_key_file` | unknown | unknown | not_implemented | unknown |
Constraints: @@ -1023,12 +1115,13 @@ Constraints: Usages: -* [`ExperimentalComposableSampler.probability`](#experimentalcomposablesampler) +* [`OtlpHttpExporter.tls`](#otlphttpexporter) +* [`OtlpHttpMetricExporter.tls`](#otlphttpmetricexporter)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/common.json)
{
   "type": [
     "object",
@@ -1036,164 +1129,136 @@ Usages:
   ],
   "additionalProperties": false,
   "properties": {
-    "ratio": {
+    "certificate_file": {
       "type": [
-        "number",
+        "string",
         "null"
-      ],
-      "minimum": 0,
-      "maximum": 1
+      ]
+    },
+    "client_key_file": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "client_certificate_file": {
+      "type": [
+        "string",
+        "null"
+      ]
     }
   }
 }
-## ExperimentalComposableSampler - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +## IncludeExclude | 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. | -| `parent_based` | [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | `false` | No constraints. | Configure sampler to be parent_based. | -| `probability` | [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | `false` | No constraints. | Configure sampler to be probability. | +| `excluded` | `array` of `string` | `false` | * `minItems`: `1`
| 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` | * `minItems`: `1`
| 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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `always_off` | unknown | unknown | unknown | unknown | -| `always_on` | unknown | unknown | unknown | unknown | -| `parent_based` | unknown | unknown | unknown | unknown | -| `probability` | unknown | unknown | unknown | unknown | +| `excluded` | supported | unknown | supported | unknown | +| `included` | supported | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` +* `additionalProperties`: `false` 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) +* [`ExperimentalPrometheusMetricExporter.with_resource_constant_labels`](#experimentalprometheusmetricexporter) +* [`ViewStream.attribute_keys`](#viewstream) +* [`ExperimentalResourceDetection.attributes`](#experimentalresourcedetection)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/common.json)
{
   "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
+  "additionalProperties": false,
   "properties": {
-    "always_off": {
-      "$ref": "#/$defs/ExperimentalComposableAlwaysOffSampler"
-    },
-    "always_on": {
-      "$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler"
-    },
-    "parent_based": {
-      "$ref": "#/$defs/ExperimentalComposableParentBasedSampler"
+    "included": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "type": "string"
+      }
     },
-    "probability": {
-      "$ref": "#/$defs/ExperimentalComposableProbabilitySampler"
+    "excluded": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "type": "string"
+      }
     }
   }
 }
-## ExperimentalContainerResourceDetector - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -No properties. - -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`ExperimentalResourceDetector.container`](#experimentalresourcedetector) - -
-JSON Schema - -[JSON Schema Source File](./schema/resource.json) -
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false
-}
-
- -## ExperimentalGeneralInstrumentation +## InstrumentType -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +This is a enum type. -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `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. | Configure instrumentations following the peer semantic conventions.
See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/
| +| Value | Description | +|---|---| +| `counter` | TODO | +| `gauge` | TODO | +| `histogram` | TODO | +| `observable_counter` | TODO | +| `observable_gauge` | TODO | +| `observable_up_down_counter` | TODO | +| `up_down_counter` | TODO |
Language support status -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +| Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `http` | not_applicable | unknown | supported | unknown | -| `peer` | not_applicable | unknown | supported | unknown | +| `counter` | supported | unknown | supported | unknown | +| `gauge` | supported | unknown | supported | unknown | +| `histogram` | supported | unknown | supported | unknown | +| `observable_counter` | supported | unknown | supported | unknown | +| `observable_gauge` | supported | unknown | supported | unknown | +| `observable_up_down_counter` | supported | unknown | supported | unknown | +| `up_down_counter` | supported | unknown | supported | unknown |
-Constraints: - -* `additionalProperties`: `false` +No constraints. Usages: -* [`ExperimentalInstrumentation.general`](#experimentalinstrumentation) +* [`ViewSelector.instrument_type`](#viewselector)
JSON Schema -[JSON Schema Source File](./schema/instrumentation.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "peer": {
-      "$ref": "#/$defs/ExperimentalPeerInstrumentation"
-    },
-    "http": {
-      "$ref": "#/$defs/ExperimentalHttpInstrumentation"
-    }
-  }
+  "type": [
+    "string",
+    "null"
+  ],
+  "enum": [
+    "counter",
+    "gauge",
+    "histogram",
+    "observable_counter",
+    "observable_gauge",
+    "observable_up_down_counter",
+    "up_down_counter"
+  ]
 }
-## ExperimentalHostResourceDetector - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +## JaegerPropagator No properties. @@ -1203,12 +1268,12 @@ Constraints: Usages: -* [`ExperimentalResourceDetector.host`](#experimentalresourcedetector) +* [`TextMapPropagator.jaeger`](#textmappropagator)
JSON Schema -[JSON Schema Source File](./schema/resource.json) +[JSON Schema Source File](./schema/propagator.json)
{
   "type": [
     "object",
@@ -1218,76 +1283,9 @@ Usages:
 }
-## ExperimentalHttpClientInstrumentation - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `request_captured_headers` | `array` of `string` | `false` | * `minItems`: `1`
| 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 - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `request_captured_headers` | not_applicable | unknown | supported | unknown | -| `response_captured_headers` | not_applicable | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`ExperimentalHttpInstrumentation.client`](#experimentalhttpinstrumentation) - -
-JSON Schema - -[JSON Schema Source File](./schema/instrumentation.json) -
{
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "request_captured_headers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "type": "string"
-      }
-    },
-    "response_captured_headers": {
-      "type": "array",
-      "items": {
-        "type": "string"
-      }
-    }
-  }
-}
-
- -## ExperimentalHttpInstrumentation - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| 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. | - -
-Language support status +## LastValueAggregation -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `client` | not_applicable | unknown | supported | unknown | -| `server` | not_applicable | unknown | supported | unknown | -
+No properties. Constraints: @@ -1295,1574 +1293,1358 @@ Constraints: Usages: -* [`ExperimentalGeneralInstrumentation.http`](#experimentalgeneralinstrumentation) +* [`Aggregation.last_value`](#aggregation)
JSON Schema -[JSON Schema Source File](./schema/instrumentation.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "client": {
-      "$ref": "#/$defs/ExperimentalHttpClientInstrumentation"
-    },
-    "server": {
-      "$ref": "#/$defs/ExperimentalHttpServerInstrumentation"
-    }
-  }
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false
 }
-## ExperimentalHttpServerInstrumentation - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +## LoggerProvider | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `request_captured_headers` | `array` of `string` | `false` | * `minItems`: `1`
| Configure headers to capture for inbound http requests.
| -| `response_captured_headers` | `array` of `string` | `false` | * `minItems`: `1`
| Configure headers to capture for outbound http responses.
| +| `limits` | [`LogRecordLimits`](#logrecordlimits) | `false` | No constraints. | Configure log record limits. See also attribute_limits. | +| `processors` | `array` of [`LogRecordProcessor`](#logrecordprocessor) | `true` | * `minItems`: `1`
| Configure log record processors. | +| `logger_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | `false` | No constraints. | Configure loggers.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `request_captured_headers` | not_applicable | unknown | supported | unknown | -| `response_captured_headers` | not_applicable | unknown | supported | unknown | +| `limits` | supported | unknown | supported | unknown | +| `processors` | supported | unknown | supported | unknown | +| `logger_configurator/development` | supported | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` +* `required`: `["processors"]` Usages: -* [`ExperimentalHttpInstrumentation.server`](#experimentalhttpinstrumentation) +* [`OpenTelemetryConfiguration.logger_provider`](#opentelemetryconfiguration)
JSON Schema -[JSON Schema Source File](./schema/instrumentation.json) +[JSON Schema Source File](./schema/logger_provider.json)
{
+  "$id": "https://opentelemetry.io/otelconfig/logger_provider.json",
+  "$schema": "https://json-schema.org/draft/2020-12/schema",
   "type": "object",
   "additionalProperties": false,
   "properties": {
-    "request_captured_headers": {
+    "processors": {
       "type": "array",
       "minItems": 1,
       "items": {
-        "type": "string"
+        "$ref": "#/$defs/LogRecordProcessor"
       }
     },
-    "response_captured_headers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "type": "string"
-      }
-    }
-  }
-}
-
- -## ExperimentalInstrumentation - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `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.
| -| `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..
| -| `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 - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `cpp` | not_applicable | unknown | not_applicable | unknown | -| `dotnet` | not_applicable | unknown | not_applicable | unknown | -| `erlang` | not_applicable | unknown | not_applicable | unknown | -| `general` | not_applicable | unknown | supported | unknown | -| `go` | not_applicable | unknown | not_applicable | unknown | -| `java` | not_applicable | unknown | supported | unknown | -| `js` | not_applicable | unknown | not_applicable | unknown | -| `php` | not_applicable | unknown | not_applicable | unknown | -| `python` | not_applicable | unknown | not_applicable | unknown | -| `ruby` | not_applicable | unknown | not_applicable | unknown | -| `rust` | not_applicable | unknown | not_applicable | unknown | -| `swift` | not_applicable | unknown | not_applicable | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`OpenTelemetryConfiguration.instrumentation/development`](#opentelemetryconfiguration) - -
-JSON Schema - -[JSON Schema Source File](./schema/instrumentation.json) -
{
-  "$id": "https://opentelemetry.io/otelconfig/instrumentation.json",
-  "$schema": "https://json-schema.org/draft/2020-12/schema",
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "general": {
-      "$ref": "#/$defs/ExperimentalGeneralInstrumentation"
-    },
-    "cpp": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "dotnet": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "erlang": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "go": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "java": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "js": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "php": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "python": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "ruby": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "rust": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
-    },
-    "swift": {
-      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    "limits": {
+      "$ref": "#/$defs/LogRecordLimits"
+    },
+    "logger_configurator/development": {
+      "$ref": "#/$defs/ExperimentalLoggerConfigurator"
     }
   },
+  "required": [
+    "processors"
+  ],
   "$defs": {
-    "ExperimentalGeneralInstrumentation": {
+    "SimpleLogRecordProcessor": {
       "type": "object",
       "additionalProperties": false,
       "properties": {
-        "peer": {
-          "$ref": "#/$defs/ExperimentalPeerInstrumentation"
-        },
-        "http": {
-          "$ref": "#/$defs/ExperimentalHttpInstrumentation"
+        "exporter": {
+          "$ref": "#/$defs/LogRecordExporter"
         }
-      }
+      },
+      "required": [
+        "exporter"
+      ]
     },
-    "ExperimentalPeerInstrumentation": {
+    "BatchLogRecordProcessor": {
       "type": "object",
       "additionalProperties": false,
       "properties": {
-        "service_mapping": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "$ref": "#/$defs/ExperimentalPeerServiceMapping"
-          }
+        "schedule_delay": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "minimum": 0
+        },
+        "export_timeout": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "minimum": 0
+        },
+        "max_queue_size": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "max_export_batch_size": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "exporter": {
+          "$ref": "#/$defs/LogRecordExporter"
         }
-      }
+      },
+      "required": [
+        "exporter"
+      ]
     },
-    "ExperimentalPeerServiceMapping": {
+    "LogRecordExporter": {
       "type": "object",
-      "additionalProperties": false,
+      "additionalProperties": {
+        "type": [
+          "object",
+          "null"
+        ]
+      },
+      "minProperties": 1,
+      "maxProperties": 1,
       "properties": {
-        "peer": {
-          "type": "string"
+        "otlp_http": {
+          "$ref": "common.json#/$defs/OtlpHttpExporter"
         },
-        "service": {
-          "type": "string"
+        "otlp_grpc": {
+          "$ref": "common.json#/$defs/OtlpGrpcExporter"
+        },
+        "otlp_file/development": {
+          "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter"
+        },
+        "console": {
+          "$ref": "common.json#/$defs/ConsoleExporter"
         }
-      },
-      "required": [
-        "peer",
-        "service"
-      ]
+      }
     },
-    "ExperimentalHttpClientInstrumentation": {
+    "LogRecordLimits": {
       "type": "object",
       "additionalProperties": false,
       "properties": {
-        "request_captured_headers": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "type": "string"
-          }
+        "attribute_value_length_limit": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "minimum": 0
         },
-        "response_captured_headers": {
-          "type": "array",
-          "items": {
-            "type": "string"
-          }
+        "attribute_count_limit": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "minimum": 0
         }
       }
     },
-    "ExperimentalHttpServerInstrumentation": {
+    "LogRecordProcessor": {
       "type": "object",
+      "additionalProperties": {
+        "type": [
+          "object",
+          "null"
+        ]
+      },
+      "minProperties": 1,
+      "maxProperties": 1,
+      "properties": {
+        "batch": {
+          "$ref": "#/$defs/BatchLogRecordProcessor"
+        },
+        "simple": {
+          "$ref": "#/$defs/SimpleLogRecordProcessor"
+        }
+      }
+    },
+    "ExperimentalLoggerConfigurator": {
+      "type": [
+        "object"
+      ],
       "additionalProperties": false,
       "properties": {
-        "request_captured_headers": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "type": "string"
-          }
+        "default_config": {
+          "$ref": "#/$defs/ExperimentalLoggerConfig"
         },
-        "response_captured_headers": {
+        "loggers": {
           "type": "array",
           "minItems": 1,
           "items": {
-            "type": "string"
+            "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig"
           }
         }
       }
     },
-    "ExperimentalHttpInstrumentation": {
-      "type": "object",
+    "ExperimentalLoggerMatcherAndConfig": {
+      "type": [
+        "object"
+      ],
       "additionalProperties": false,
       "properties": {
-        "client": {
-          "$ref": "#/$defs/ExperimentalHttpClientInstrumentation"
+        "name": {
+          "type": [
+            "string"
+          ]
         },
-        "server": {
-          "$ref": "#/$defs/ExperimentalHttpServerInstrumentation"
+        "config": {
+          "$ref": "#/$defs/ExperimentalLoggerConfig"
+        }
+      },
+      "required": [
+        "name",
+        "config"
+      ]
+    },
+    "ExperimentalLoggerConfig": {
+      "type": [
+        "object"
+      ],
+      "additionalProperties": false,
+      "properties": {
+        "disabled": {
+          "type": [
+            "boolean",
+            "null"
+          ]
+        },
+        "minimum_severity": {
+          "$ref": "#/$defs/ExperimentalSeverityNumber"
+        },
+        "trace_based": {
+          "type": [
+            "boolean",
+            "null"
+          ]
         }
       }
-    },
-    "ExperimentalLanguageSpecificInstrumentation": {
-      "type": "object",
-      "additionalProperties": {
-        "type": "object"
-      }
+    },
+    "ExperimentalSeverityNumber": {
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "TRACE",
+        "TRACE2",
+        "TRACE3",
+        "TRACE4",
+        "DEBUG",
+        "DEBUG2",
+        "DEBUG3",
+        "DEBUG4",
+        "INFO",
+        "INFO2",
+        "INFO3",
+        "INFO4",
+        "WARN",
+        "WARN2",
+        "WARN3",
+        "WARN4",
+        "ERROR",
+        "ERROR2",
+        "ERROR3",
+        "ERROR4",
+        "FATAL",
+        "FATAL2",
+        "FATAL3",
+        "FATAL4"
+      ]
     }
   }
 }
-## ExperimentalJaegerRemoteSampler +## LogRecordExporter -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +`LogRecordExporter` is an [SDK extension plugin](#sdk-extension-plugins). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | -| `initial_sampler` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | -| `interval` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO | +| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. | +| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport. | +| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP 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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `endpoint` | not_implemented | unknown | ignored | unknown | -| `initial_sampler` | not_implemented | unknown | ignored | unknown | -| `interval` | not_implemented | unknown | ignored | unknown | +| `console` | supported | unknown | supported | unknown | +| `otlp_grpc` | supported | unknown | supported | unknown | +| `otlp_http` | supported | unknown | supported | unknown | +| `otlp_file/development` | supported | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `false` +* `additionalProperties`: `{"type":["object","null"]}` +* `minProperties`: `1` +* `maxProperties`: `1` Usages: -* [`Sampler.jaeger_remote/development`](#sampler) +* [`SimpleLogRecordProcessor.exporter`](#simplelogrecordprocessor) +* [`BatchLogRecordProcessor.exporter`](#batchlogrecordprocessor)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/logger_provider.json)
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false,
+  "type": "object",
+  "additionalProperties": {
+    "type": [
+      "object",
+      "null"
+    ]
+  },
+  "minProperties": 1,
+  "maxProperties": 1,
   "properties": {
-    "endpoint": {
-      "type": [
-        "string",
-        "null"
-      ]
+    "otlp_http": {
+      "$ref": "common.json#/$defs/OtlpHttpExporter"
     },
-    "interval": {
-      "type": [
-        "integer",
-        "null"
-      ],
-      "minimum": 0
+    "otlp_grpc": {
+      "$ref": "common.json#/$defs/OtlpGrpcExporter"
     },
-    "initial_sampler": {
-      "$ref": "#/$defs/Sampler"
+    "otlp_file/development": {
+      "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter"
+    },
+    "console": {
+      "$ref": "common.json#/$defs/ConsoleExporter"
     }
   }
 }
-## ExperimentalLanguageSpecificInstrumentation +## LogRecordLimits -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `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.
| -No properties. +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `attribute_count_limit` | supported | unknown | supported | unknown | +| `attribute_value_length_limit` | supported | unknown | supported | unknown | +
Constraints: -* `additionalProperties`: `{"type":"object"}` +* `additionalProperties`: `false` Usages: -* [`ExperimentalInstrumentation.cpp`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.dotnet`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.erlang`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.go`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.java`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.js`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.php`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.python`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.ruby`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.rust`](#experimentalinstrumentation) -* [`ExperimentalInstrumentation.swift`](#experimentalinstrumentation) +* [`LoggerProvider.limits`](#loggerprovider)
JSON Schema -[JSON Schema Source File](./schema/instrumentation.json) +[JSON Schema Source File](./schema/logger_provider.json)
{
   "type": "object",
-  "additionalProperties": {
-    "type": "object"
+  "additionalProperties": false,
+  "properties": {
+    "attribute_value_length_limit": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "minimum": 0
+    },
+    "attribute_count_limit": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "minimum": 0
+    }
   }
 }
-## ExperimentalLoggerConfig +## LogRecordProcessor -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +`LogRecordProcessor` is an [SDK extension plugin](#sdk-extension-plugins). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `disabled` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure if the logger is enabled or not.
If omitted or null, false is used.
| -| `minimum_severity` | [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | `false` | No constraints. | Configure severity filtering.
Log records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed.
Values include: TRACE, TRACE2, TRACE3, TRACE4, DEBUG, DEBUG2, DEBUG3, DEBUG4, INFO, INFO2, INFO3, INFO4, WARN, WARN2, WARN3, WARN4, ERROR, ERROR2, ERROR3, ERROR4, FATAL, FATAL2, FATAL3, FATAL4.
If omitted or null, severity filtering is not applied.
| -| `trace_based` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure trace based filtering.
If true, log records associated with unsampled trace contexts traces are not processed. If false, or if a log record is not associated with a trace context, trace based filtering is not applied.
If omitted or null, trace based filtering is not applied.
| +| `batch` | [`BatchLogRecordProcessor`](#batchlogrecordprocessor) | `false` | No constraints. | Configure a batch log record processor. | +| `simple` | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | `false` | No constraints. | Configure a simple log record processor. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `disabled` | not_implemented | unknown | supported | unknown | -| `minimum_severity` | not_implemented | unknown | not_implemented | unknown | -| `trace_based` | not_implemented | unknown | not_implemented | unknown | +| `batch` | supported | unknown | supported | unknown | +| `simple` | supported | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `false` +* `additionalProperties`: `{"type":["object","null"]}` +* `minProperties`: `1` +* `maxProperties`: `1` Usages: -* [`ExperimentalLoggerConfigurator.default_config`](#experimentalloggerconfigurator) -* [`ExperimentalLoggerMatcherAndConfig.config`](#experimentalloggermatcherandconfig) +* [`LoggerProvider.processors`](#loggerprovider)
JSON Schema [JSON Schema Source File](./schema/logger_provider.json)
{
-  "type": [
-    "object"
-  ],
-  "additionalProperties": false,
+  "type": "object",
+  "additionalProperties": {
+    "type": [
+      "object",
+      "null"
+    ]
+  },
+  "minProperties": 1,
+  "maxProperties": 1,
   "properties": {
-    "disabled": {
-      "type": [
-        "boolean",
-        "null"
-      ]
-    },
-    "minimum_severity": {
-      "$ref": "#/$defs/ExperimentalSeverityNumber"
+    "batch": {
+      "$ref": "#/$defs/BatchLogRecordProcessor"
     },
-    "trace_based": {
-      "type": [
-        "boolean",
-        "null"
-      ]
+    "simple": {
+      "$ref": "#/$defs/SimpleLogRecordProcessor"
     }
   }
 }
-## ExperimentalLoggerConfigurator - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +## MeterProvider | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `default_config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | No constraints. | Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. | -| `loggers` | `array` of [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | `false` | * `minItems`: `1`
| Configure loggers. | +| `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.
| +| `readers` | `array` of [`MetricReader`](#metricreader) | `true` | * `minItems`: `1`
| Configure metric readers. | +| `views` | `array` of [`View`](#view) | `false` | * `minItems`: `1`
| Configure views.
Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).
| +| `meter_configurator/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | `false` | No constraints. | Configure meters.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `default_config` | not_implemented | unknown | supported | unknown | -| `loggers` | not_implemented | unknown | supported | unknown | +| `exemplar_filter` | supported | unknown | supported | unknown | +| `readers` | supported | unknown | supported | unknown | +| `views` | supported | unknown | supported | unknown | +| `meter_configurator/development` | supported | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` +* `required`: `["readers"]` Usages: -* [`LoggerProvider.logger_configurator/development`](#loggerprovider) +* [`OpenTelemetryConfiguration.meter_provider`](#opentelemetryconfiguration)
JSON Schema -[JSON Schema Source File](./schema/logger_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": [
-    "object"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "default_config": {
-      "$ref": "#/$defs/ExperimentalLoggerConfig"
+  "$id": "https://opentelemetry.io/otelconfig/meter_provider.json",
+  "$schema": "https://json-schema.org/draft/2020-12/schema",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "readers": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/MetricReader"
+      }
     },
-    "loggers": {
+    "views": {
       "type": "array",
       "minItems": 1,
       "items": {
-        "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig"
+        "$ref": "#/$defs/View"
       }
-    }
-  }
-}
-
- -## ExperimentalLoggerMatcherAndConfig - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `true` | No constraints. | The logger config. | -| `name` | `string` | `true` | 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.
| - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `config` | not_implemented | unknown | supported | unknown | -| `name` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` -* `required`: `["name","config"]` - -Usages: - -* [`ExperimentalLoggerConfigurator.loggers`](#experimentalloggerconfigurator) - -
-JSON Schema - -[JSON Schema Source File](./schema/logger_provider.json) -
{
-  "type": [
-    "object"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "name": {
-      "type": [
-        "string"
-      ]
     },
-    "config": {
-      "$ref": "#/$defs/ExperimentalLoggerConfig"
+    "exemplar_filter": {
+      "$ref": "#/$defs/ExemplarFilter"
+    },
+    "meter_configurator/development": {
+      "$ref": "#/$defs/ExperimentalMeterConfigurator"
     }
   },
   "required": [
-    "name",
-    "config"
-  ]
-}
-
- -## ExperimentalMeterConfig - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | Configure if the meter is enabled or not. | - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `disabled` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`ExperimentalMeterConfigurator.default_config`](#experimentalmeterconfigurator) -* [`ExperimentalMeterMatcherAndConfig.config`](#experimentalmetermatcherandconfig) - -
-JSON Schema - -[JSON Schema Source File](./schema/meter_provider.json) -
{
-  "type": [
-    "object"
+    "readers"
   ],
-  "additionalProperties": false,
-  "properties": {
-    "disabled": {
+  "$defs": {
+    "ExemplarFilter": {
       "type": [
-        "boolean"
+        "string",
+        "null"
+      ],
+      "enum": [
+        "always_on",
+        "always_off",
+        "trace_based"
       ]
-    }
-  }
-}
-
- -## ExperimentalMeterConfigurator - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| 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` | * `minItems`: `1`
| Configure meters. | - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `default_config` | not_implemented | unknown | supported | unknown | -| `meters` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`MeterProvider.meter_configurator/development`](#meterprovider) - -
-JSON Schema - -[JSON Schema Source File](./schema/meter_provider.json) -
{
-  "type": [
-    "object"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "default_config": {
-      "$ref": "#/$defs/ExperimentalMeterConfig"
     },
-    "meters": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig"
-      }
-    }
-  }
-}
-
- -## ExperimentalMeterMatcherAndConfig - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `true` | No constraints. | The meter config. | -| `name` | `string` | `true` | 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.
| - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `config` | not_implemented | unknown | supported | unknown | -| `name` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` -* `required`: `["name","config"]` - -Usages: - -* [`ExperimentalMeterConfigurator.meters`](#experimentalmeterconfigurator) - -
-JSON Schema - -[JSON Schema Source File](./schema/meter_provider.json) -
{
-  "type": [
-    "object"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "name": {
-      "type": [
-        "string"
+    "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",
+          "minItems": 1,
+          "items": {
+            "$ref": "#/$defs/MetricProducer"
+          }
+        },
+        "cardinality_limits": {
+          "$ref": "#/$defs/CardinalityLimits"
+        }
+      },
+      "required": [
+        "exporter"
       ]
     },
-    "config": {
-      "$ref": "#/$defs/ExperimentalMeterConfig"
-    }
-  },
-  "required": [
-    "name",
-    "config"
-  ]
-}
-
- -## ExperimentalOtlpFileExporter - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| 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.
| - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `output_stream` | supported | unknown | not_implemented | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`LogRecordExporter.otlp_file/development`](#logrecordexporter) -* [`SpanExporter.otlp_file/development`](#spanexporter) - -
-JSON Schema - -[JSON Schema Source File](./schema/common.json) -
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "output_stream": {
-      "type": [
-        "string",
-        "null"
-      ]
-    }
-  }
-}
-
- -## ExperimentalOtlpFileMetricExporter - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `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. | 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.
| - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `default_histogram_aggregation` | supported | unknown | supported | unknown | -| `output_stream` | supported | unknown | not_implemented | unknown | -| `temporality_preference` | supported | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`PushMetricExporter.otlp_file/development`](#pushmetricexporter) - -
-JSON Schema - -[JSON Schema Source File](./schema/meter_provider.json) -
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "output_stream": {
-      "type": [
-        "string",
-        "null"
+    "PullMetricReader": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "exporter": {
+          "$ref": "#/$defs/PullMetricExporter"
+        },
+        "producers": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "$ref": "#/$defs/MetricProducer"
+          }
+        },
+        "cardinality_limits": {
+          "$ref": "#/$defs/CardinalityLimits"
+        }
+      },
+      "required": [
+        "exporter"
       ]
     },
-    "temporality_preference": {
-      "$ref": "#/$defs/ExporterTemporalityPreference"
+    "CardinalityLimits": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "default": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "counter": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "gauge": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "histogram": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "observable_counter": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "observable_gauge": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "observable_up_down_counter": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "up_down_counter": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        }
+      }
     },
-    "default_histogram_aggregation": {
-      "$ref": "#/$defs/ExporterDefaultHistogramAggregation"
-    }
-  }
-}
-
- -## ExperimentalPeerInstrumentation - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `service_mapping` | `array` of [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | `false` | * `minItems`: `1`
| 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 - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `service_mapping` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`ExperimentalGeneralInstrumentation.peer`](#experimentalgeneralinstrumentation) - -
-JSON Schema - -[JSON Schema Source File](./schema/instrumentation.json) -
{
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "service_mapping": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/ExperimentalPeerServiceMapping"
+    "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"
+        }
       }
-    }
-  }
-}
-
- -## ExperimentalPeerServiceMapping - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| 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.
| - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `peer` | not_implemented | unknown | supported | unknown | -| `service` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` -* `required`: `["peer","service"]` - -Usages: - -* [`ExperimentalPeerInstrumentation.service_mapping`](#experimentalpeerinstrumentation) - -
-JSON Schema - -[JSON Schema Source File](./schema/instrumentation.json) -
{
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "peer": {
-      "type": "string"
-    },
-    "service": {
-      "type": "string"
-    }
-  },
-  "required": [
-    "peer",
-    "service"
-  ]
-}
-
- -## ExperimentalProbabilitySampler - -> [!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` | not_implemented | unknown | ignored | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`Sampler.probability/development`](#sampler) - -
-JSON Schema - -[JSON Schema Source File](./schema/tracer_provider.json) -
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "ratio": {
-      "type": [
-        "number",
-        "null"
-      ],
-      "minimum": 0,
-      "maximum": 1
-    }
-  }
-}
-
- -## ExperimentalProcessResourceDetector - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -No properties. - -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`ExperimentalResourceDetector.process`](#experimentalresourcedetector) - -
-JSON Schema - -[JSON Schema Source File](./schema/resource.json) -
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false
-}
-
- -## ExperimentalPrometheusMetricExporter - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| 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.
| -| `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.
| -| `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. | -| `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.
| -| `without_target_info` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure Prometheus Exporter to produce metrics without a target info metric for the resource.
If omitted or null, false is used.
| - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `host` | supported | unknown | supported | unknown | -| `port` | supported | unknown | supported | unknown | -| `translation_strategy` | supported | unknown | not_implemented | unknown | -| `with_resource_constant_labels` | supported | unknown | supported | unknown | -| `without_scope_info` | unknown | unknown | ignored | unknown | -| `without_target_info` | unknown | unknown | ignored | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`PullMetricExporter.prometheus/development`](#pullmetricexporter) - -
-JSON Schema - -[JSON Schema Source File](./schema/meter_provider.json) -
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "host": {
-      "type": [
-        "string",
-        "null"
-      ]
     },
-    "port": {
-      "type": [
-        "integer",
-        "null"
-      ]
+    "PullMetricExporter": {
+      "type": "object",
+      "additionalProperties": {
+        "type": [
+          "object",
+          "null"
+        ]
+      },
+      "minProperties": 1,
+      "maxProperties": 1,
+      "properties": {
+        "prometheus/development": {
+          "$ref": "#/$defs/ExperimentalPrometheusMetricExporter"
+        }
+      }
     },
-    "without_scope_info": {
-      "type": [
-        "boolean",
-        "null"
-      ]
+    "MetricProducer": {
+      "type": "object",
+      "additionalProperties": {
+        "type": [
+          "object",
+          "null"
+        ]
+      },
+      "minProperties": 1,
+      "maxProperties": 1,
+      "properties": {
+        "opencensus": {
+          "$ref": "#/$defs/OpenCensusMetricProducer"
+        }
+      }
     },
-    "without_target_info": {
+    "OpenCensusMetricProducer": {
       "type": [
-        "boolean",
+        "object",
         "null"
-      ]
-    },
-    "with_resource_constant_labels": {
-      "$ref": "common.json#/$defs/IncludeExclude"
+      ],
+      "additionalProperties": false
     },
-    "translation_strategy": {
+    "ExperimentalPrometheusMetricExporter": {
       "type": [
-        "string",
+        "object",
         "null"
       ],
-      "enum": [
-        "UnderscoreEscapingWithSuffixes",
-        "UnderscoreEscapingWithoutSuffixes",
-        "NoUTF8EscapingWithSuffixes",
-        "NoTranslation"
-      ]
-    }
-  }
-}
-
- -## ExperimentalResourceDetection - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `attributes` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | Configure attributes provided by resource detectors. | -| `detectors` | `array` of [`ExperimentalResourceDetector`](#experimentalresourcedetector) | `false` | * `minItems`: `1`
| 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 - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `attributes` | not_implemented | unknown | supported | unknown | -| `detectors` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`Resource.detection/development`](#resource) - -
-JSON Schema - -[JSON Schema Source File](./schema/resource.json) -
{
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "attributes": {
-      "$ref": "common.json#/$defs/IncludeExclude"
+      "additionalProperties": false,
+      "properties": {
+        "host": {
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "port": {
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "without_scope_info": {
+          "type": [
+            "boolean",
+            "null"
+          ]
+        },
+        "without_target_info": {
+          "type": [
+            "boolean",
+            "null"
+          ]
+        },
+        "with_resource_constant_labels": {
+          "$ref": "common.json#/$defs/IncludeExclude"
+        },
+        "translation_strategy": {
+          "type": [
+            "string",
+            "null"
+          ],
+          "enum": [
+            "UnderscoreEscapingWithSuffixes",
+            "UnderscoreEscapingWithoutSuffixes",
+            "NoUTF8EscapingWithSuffixes",
+            "NoTranslation"
+          ]
+        }
+      }
     },
-    "detectors": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/ExperimentalResourceDetector"
+    "MetricReader": {
+      "type": "object",
+      "additionalProperties": false,
+      "minProperties": 1,
+      "maxProperties": 1,
+      "properties": {
+        "periodic": {
+          "$ref": "#/$defs/PeriodicMetricReader"
+        },
+        "pull": {
+          "$ref": "#/$defs/PullMetricReader"
+        }
       }
-    }
-  }
-}
-
- -## ExperimentalResourceDetector - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -`ExperimentalResourceDetector` is an [SDK extension plugin](#sdk-extension-plugins). - -| 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.
| - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `container` | not_implemented | unknown | supported | unknown | -| `host` | not_implemented | unknown | supported | unknown | -| `process` | not_implemented | unknown | supported | unknown | -| `service` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` - -Usages: - -* [`ExperimentalResourceDetection.detectors`](#experimentalresourcedetection) - -
-JSON Schema - -[JSON Schema Source File](./schema/resource.json) -
{
-  "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
-  "properties": {
-    "container": {
-      "$ref": "#/$defs/ExperimentalContainerResourceDetector"
     },
-    "host": {
-      "$ref": "#/$defs/ExperimentalHostResourceDetector"
+    "ExporterTemporalityPreference": {
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "cumulative",
+        "delta",
+        "low_memory"
+      ]
     },
-    "process": {
-      "$ref": "#/$defs/ExperimentalProcessResourceDetector"
+    "ExporterDefaultHistogramAggregation": {
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "explicit_bucket_histogram",
+        "base2_exponential_bucket_histogram"
+      ]
     },
-    "service": {
-      "$ref": "#/$defs/ExperimentalServiceResourceDetector"
-    }
-  }
-}
-
- -## ExperimentalServiceResourceDetector - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -No properties. - -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`ExperimentalResourceDetector.service`](#experimentalresourcedetector) - -
-JSON Schema - -[JSON Schema Source File](./schema/resource.json) -
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false
-}
-
- -## ExperimentalSeverityNumber - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -This is a enum type. - -| Value | Description | -|---|---| -| `DEBUG` | DEBUG, severity number 5. | -| `DEBUG2` | DEBUG2, severity number 6. | -| `DEBUG3` | DEBUG3, severity number 7. | -| `DEBUG4` | DEBUG4, severity number 8. | -| `ERROR` | ERROR, severity number 17. | -| `ERROR2` | ERROR2, severity number 18. | -| `ERROR3` | ERROR3, severity number 19. | -| `ERROR4` | ERROR4, severity number 20. | -| `FATAL` | FATAL, severity number 21. | -| `FATAL2` | FATAL2, severity number 22. | -| `FATAL3` | FATAL3, severity number 23. | -| `FATAL4` | FATAL4, severity number 24. | -| `INFO` | INFO, severity number 9. | -| `INFO2` | INFO2, severity number 10. | -| `INFO3` | INFO3, severity number 11. | -| `INFO4` | INFO4, severity number 12. | -| `TRACE` | TRACE, severity number 1. | -| `TRACE2` | TRACE2, severity number 2. | -| `TRACE3` | TRACE3, severity number 3. | -| `TRACE4` | TRACE4, severity number 4. | -| `WARN` | WARN, severity number 13. | -| `WARN2` | WARN2, severity number 14. | -| `WARN3` | WARN3, severity number 15. | -| `WARN4` | WARN4, severity number 16. | - -
-Language support status - -| Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `DEBUG` | unknown | unknown | unknown | unknown | -| `DEBUG2` | unknown | unknown | unknown | unknown | -| `DEBUG3` | unknown | unknown | unknown | unknown | -| `DEBUG4` | unknown | unknown | unknown | unknown | -| `ERROR` | unknown | unknown | unknown | unknown | -| `ERROR2` | unknown | unknown | unknown | unknown | -| `ERROR3` | unknown | unknown | unknown | unknown | -| `ERROR4` | unknown | unknown | unknown | unknown | -| `FATAL` | unknown | unknown | unknown | unknown | -| `FATAL2` | unknown | unknown | unknown | unknown | -| `FATAL3` | unknown | unknown | unknown | unknown | -| `FATAL4` | unknown | unknown | unknown | unknown | -| `INFO` | unknown | unknown | unknown | unknown | -| `INFO2` | unknown | unknown | unknown | unknown | -| `INFO3` | unknown | unknown | unknown | unknown | -| `INFO4` | unknown | unknown | unknown | unknown | -| `TRACE` | unknown | unknown | unknown | unknown | -| `TRACE2` | unknown | unknown | unknown | unknown | -| `TRACE3` | unknown | unknown | unknown | unknown | -| `TRACE4` | unknown | unknown | unknown | unknown | -| `WARN` | unknown | unknown | unknown | unknown | -| `WARN2` | unknown | unknown | unknown | unknown | -| `WARN3` | unknown | unknown | unknown | unknown | -| `WARN4` | unknown | unknown | unknown | unknown | -
- -No constraints. - -Usages: - -* [`ExperimentalLoggerConfig.minimum_severity`](#experimentalloggerconfig) - -
-JSON Schema - -[JSON Schema Source File](./schema/logger_provider.json) -
{
-  "type": [
-    "string",
-    "null"
-  ],
-  "enum": [
-    "TRACE",
-    "TRACE2",
-    "TRACE3",
-    "TRACE4",
-    "DEBUG",
-    "DEBUG2",
-    "DEBUG3",
-    "DEBUG4",
-    "INFO",
-    "INFO2",
-    "INFO3",
-    "INFO4",
-    "WARN",
-    "WARN2",
-    "WARN3",
-    "WARN4",
-    "ERROR",
-    "ERROR2",
-    "ERROR3",
-    "ERROR4",
-    "FATAL",
-    "FATAL2",
-    "FATAL3",
-    "FATAL4"
-  ]
-}
-
- -## ExperimentalTracerConfig - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `disabled` | `boolean` | `false` | No constraints. | Configure if the tracer is enabled or not. | - -
-Language support status - -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `disabled` | not_implemented | unknown | supported | unknown | -
- -Constraints: - -* `additionalProperties`: `false` - -Usages: - -* [`ExperimentalTracerConfigurator.default_config`](#experimentaltracerconfigurator) -* [`ExperimentalTracerMatcherAndConfig.config`](#experimentaltracermatcherandconfig) - -
-JSON Schema - -[JSON Schema Source File](./schema/tracer_provider.json) -
{
-  "type": [
-    "object"
-  ],
-  "additionalProperties": false,
-  "properties": {
-    "disabled": {
+    "OtlpHttpMetricExporter": {
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false,
+      "properties": {
+        "endpoint": {
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "tls": {
+          "$ref": "common.json#/$defs/HttpTls"
+        },
+        "headers": {
+          "type": "array",
+          "minItems": 1,
+          "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",
+          "minItems": 1,
+          "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",
+          "minItems": 0,
+          "items": {
+            "type": "number"
+          }
+        },
+        "record_min_max": {
+          "type": [
+            "boolean",
+            "null"
+          ]
+        }
+      }
+    },
+    "Base2ExponentialBucketHistogramAggregation": {
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false,
+      "properties": {
+        "max_scale": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "minimum": -10,
+          "maximum": 20
+        },
+        "max_size": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "minimum": 2
+        },
+        "record_min_max": {
+          "type": [
+            "boolean",
+            "null"
+          ]
+        }
+      }
+    },
+    "LastValueAggregation": {
       "type": [
-        "boolean"
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    },
+    "SumAggregation": {
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    },
+    "ExperimentalMeterConfigurator": {
+      "type": [
+        "object"
+      ],
+      "additionalProperties": false,
+      "properties": {
+        "default_config": {
+          "$ref": "#/$defs/ExperimentalMeterConfig"
+        },
+        "meters": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig"
+          }
+        }
+      }
+    },
+    "ExperimentalMeterMatcherAndConfig": {
+      "type": [
+        "object"
+      ],
+      "additionalProperties": false,
+      "properties": {
+        "name": {
+          "type": [
+            "string"
+          ]
+        },
+        "config": {
+          "$ref": "#/$defs/ExperimentalMeterConfig"
+        }
+      },
+      "required": [
+        "name",
+        "config"
       ]
+    },
+    "ExperimentalMeterConfig": {
+      "type": [
+        "object"
+      ],
+      "additionalProperties": false,
+      "properties": {
+        "disabled": {
+          "type": [
+            "boolean"
+          ]
+        }
+      }
     }
   }
 }
-## ExperimentalTracerConfigurator +## MetricProducer -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +`MetricProducer` is an [SDK extension plugin](#sdk-extension-plugins). | 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` | * `minItems`: `1`
| Configure tracers. | +| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | `false` | No constraints. | Configure metric producer to be opencensus. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `default_config` | not_implemented | unknown | supported | unknown | -| `tracers` | not_implemented | unknown | supported | unknown | +| `opencensus` | supported | unknown | ignored | unknown |
Constraints: -* `additionalProperties`: `false` +* `additionalProperties`: `{"type":["object","null"]}` +* `minProperties`: `1` +* `maxProperties`: `1` Usages: -* [`TracerProvider.tracer_configurator/development`](#tracerprovider) +* [`PeriodicMetricReader.producers`](#periodicmetricreader) +* [`PullMetricReader.producers`](#pullmetricreader)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": [
-    "object"
-  ],
-  "additionalProperties": false,
+  "type": "object",
+  "additionalProperties": {
+    "type": [
+      "object",
+      "null"
+    ]
+  },
+  "minProperties": 1,
+  "maxProperties": 1,
   "properties": {
-    "default_config": {
-      "$ref": "#/$defs/ExperimentalTracerConfig"
-    },
-    "tracers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig"
-      }
+    "opencensus": {
+      "$ref": "#/$defs/OpenCensusMetricProducer"
     }
   }
 }
-## ExperimentalTracerMatcherAndConfig - -> [!WARNING] -> This type is [experimental](README.md#experimental-features). +## MetricReader | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `true` | No constraints. | The tracer config. | -| `name` | `string` | `true` | 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.
| +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `config` | not_implemented | unknown | supported | unknown | -| `name` | not_implemented | unknown | supported | unknown | +| `periodic` | supported | unknown | supported | unknown | +| `pull` | supported | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` -* `required`: `["name","config"]` +* `minProperties`: `1` +* `maxProperties`: `1` Usages: -* [`ExperimentalTracerConfigurator.tracers`](#experimentaltracerconfigurator) +* [`MeterProvider.readers`](#meterprovider)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": [
-    "object"
-  ],
+  "type": "object",
   "additionalProperties": false,
+  "minProperties": 1,
+  "maxProperties": 1,
   "properties": {
-    "name": {
-      "type": [
-        "string"
-      ]
+    "periodic": {
+      "$ref": "#/$defs/PeriodicMetricReader"
     },
-    "config": {
-      "$ref": "#/$defs/ExperimentalTracerConfig"
+    "pull": {
+      "$ref": "#/$defs/PullMetricReader"
     }
-  },
-  "required": [
-    "name",
-    "config"
-  ]
+  }
 }
-## ExplicitBucketHistogramAggregation +## NameStringValuePair | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `boundaries` | `array` of `number` | `false` | * `minItems`: `0`
| 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.
| +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `boundaries` | supported | unknown | supported | unknown | -| `record_min_max` | supported | unknown | not_implemented | unknown | +| `name` | supported | unknown | supported | unknown | +| `value` | supported | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` +* `required`: `["name","value"]` Usages: -* [`Aggregation.explicit_bucket_histogram`](#aggregation) +* [`OtlpHttpExporter.headers`](#otlphttpexporter) +* [`OtlpGrpcExporter.headers`](#otlpgrpcexporter) +* [`OtlpHttpMetricExporter.headers`](#otlphttpmetricexporter) +* [`OtlpGrpcMetricExporter.headers`](#otlpgrpcmetricexporter)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/common.json)
{
-  "type": [
-    "object",
-    "null"
-  ],
+  "type": "object",
   "additionalProperties": false,
   "properties": {
-    "boundaries": {
-      "type": "array",
-      "minItems": 0,
-      "items": {
-        "type": "number"
-      }
+    "name": {
+      "type": "string"
     },
-    "record_min_max": {
+    "value": {
       "type": [
-        "boolean",
+        "string",
         "null"
       ]
     }
-  }
-}
-
- -## ExporterDefaultHistogramAggregation - -This is a enum type. - -| Value | Description | -|---|---| -| `base2_exponential_bucket_histogram` | TODO | -| `explicit_bucket_histogram` | TODO | - -
-Language support status - -| Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `base2_exponential_bucket_histogram` | supported | unknown | supported | unknown | -| `explicit_bucket_histogram` | supported | unknown | supported | unknown | -
- -No constraints. - -Usages: - -* [`OtlpHttpMetricExporter.default_histogram_aggregation`](#otlphttpmetricexporter) -* [`OtlpGrpcMetricExporter.default_histogram_aggregation`](#otlpgrpcmetricexporter) -* [`ExperimentalOtlpFileMetricExporter.default_histogram_aggregation`](#experimentalotlpfilemetricexporter) -* [`ConsoleMetricExporter.default_histogram_aggregation`](#consolemetricexporter) - -
-JSON Schema - -[JSON Schema Source File](./schema/meter_provider.json) -
{
-  "type": [
-    "string",
-    "null"
-  ],
-  "enum": [
-    "explicit_bucket_histogram",
-    "base2_exponential_bucket_histogram"
+  },
+  "required": [
+    "name",
+    "value"
   ]
 }
-## ExporterTemporalityPreference - -This is a enum type. - -| Value | Description | -|---|---| -| `cumulative` | TODO | -| `delta` | TODO | -| `low_memory` | TODO | +## OpenCensusMetricProducer -
-Language support status +No properties. -| Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `cumulative` | supported | unknown | supported | unknown | -| `delta` | supported | unknown | supported | unknown | -| `low_memory` | supported | unknown | supported | unknown | -
+Constraints: -No constraints. +* `additionalProperties`: `false` Usages: -* [`OtlpHttpMetricExporter.temporality_preference`](#otlphttpmetricexporter) -* [`OtlpGrpcMetricExporter.temporality_preference`](#otlpgrpcmetricexporter) -* [`ExperimentalOtlpFileMetricExporter.temporality_preference`](#experimentalotlpfilemetricexporter) -* [`ConsoleMetricExporter.temporality_preference`](#consolemetricexporter) +* [`MetricProducer.opencensus`](#metricproducer)
JSON Schema @@ -2870,101 +2652,193 @@ Usages: [JSON Schema Source File](./schema/meter_provider.json)
{
   "type": [
-    "string",
+    "object",
     "null"
   ],
-  "enum": [
-    "cumulative",
-    "delta",
-    "low_memory"
-  ]
+  "additionalProperties": false
 }
-## GrpcTls +## OpenTelemetryConfiguration | 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_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.
| -| `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.
| -| `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.
| +| `attribute_limits` | [`AttributeLimits`](#attributelimits) | `false` | No constraints. | Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
| +| `disabled` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure if the SDK is disabled or not.
If omitted or null, false 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
| +| `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.
| +| `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.
| +| `resource` | [`Resource`](#resource) | `false` | No constraints. | Configure resource for all signals.
If omitted, the default resource is used.
| +| `tracer_provider` | [`TracerProvider`](#tracerprovider) | `false` | No constraints. | Configure tracer provider.
If omitted, a noop tracer provider is used.
| +| `instrumentation/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalInstrumentation`](#experimentalinstrumentation) | `false` | No constraints. | Configure instrumentation.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `certificate_file` | unknown | unknown | not_implemented | unknown | -| `client_certificate_file` | unknown | unknown | not_implemented | unknown | -| `client_key_file` | unknown | unknown | not_implemented | unknown | -| `insecure` | unknown | unknown | not_implemented | unknown | +| `attribute_limits` | supported | unknown | supported | unknown | +| `disabled` | supported | unknown | supported | unknown | +| `file_format` | supported | unknown | supported | unknown | +| `log_level` | supported | unknown | not_implemented | unknown | +| `logger_provider` | supported | unknown | supported | unknown | +| `meter_provider` | supported | unknown | supported | unknown | +| `propagator` | supported | unknown | supported | unknown | +| `resource` | supported | unknown | supported | unknown | +| `tracer_provider` | supported | unknown | supported | unknown | +| `instrumentation/development` | supported | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `false` - -Usages: +* `additionalProperties`: `true` +* `required`: `["file_format"]` -* [`OtlpGrpcExporter.tls`](#otlpgrpcexporter) -* [`OtlpGrpcMetricExporter.tls`](#otlpgrpcmetricexporter) +No usages.
JSON Schema -[JSON Schema Source File](./schema/common.json) +[JSON Schema Source File](./schema/opentelemetry_configuration.json)
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false,
+  "$id": "https://opentelemetry.io/otelconfig/opentelemetry_configuration.json",
+  "$schema": "https://json-schema.org/draft/2020-12/schema",
+  "title": "OpenTelemetryConfiguration",
+  "type": "object",
+  "additionalProperties": true,
   "properties": {
-    "certificate_file": {
-      "type": [
-        "string",
-        "null"
-      ]
+    "file_format": {
+      "type": "string"
     },
-    "client_key_file": {
+    "disabled": {
       "type": [
-        "string",
+        "boolean",
         "null"
       ]
     },
-    "client_certificate_file": {
+    "log_level": {
       "type": [
         "string",
         "null"
       ]
     },
-    "insecure": {
-      "type": [
-        "boolean",
-        "null"
-      ]
+    "attribute_limits": {
+      "$ref": "#/$defs/AttributeLimits"
+    },
+    "logger_provider": {
+      "$ref": "#/$defs/LoggerProvider"
+    },
+    "meter_provider": {
+      "$ref": "#/$defs/MeterProvider"
+    },
+    "propagator": {
+      "$ref": "#/$defs/Propagator"
+    },
+    "tracer_provider": {
+      "$ref": "#/$defs/TracerProvider"
+    },
+    "resource": {
+      "$ref": "#/$defs/Resource"
+    },
+    "instrumentation/development": {
+      "$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"
     }
   }
 }
-## HttpTls +## OpenTracingPropagator + +No properties. + +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`TextMapPropagator.ottrace`](#textmappropagator) + +
+JSON Schema + +[JSON Schema Source File](./schema/propagator.json) +
{
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false
+}
+
+ +## OtlpGrpcExporter | 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_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.
| -| `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.
| +| `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.
| +| `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` | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| `false` | 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.
| +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `certificate_file` | unknown | unknown | not_implemented | unknown | -| `client_certificate_file` | unknown | unknown | not_implemented | unknown | -| `client_key_file` | unknown | unknown | not_implemented | unknown | +| `compression` | supported | unknown | supported | unknown | +| `endpoint` | supported | unknown | supported | unknown | +| `headers` | supported | unknown | supported | unknown | +| `headers_list` | supported | unknown | supported | unknown | +| `timeout` | supported | unknown | supported | unknown | +| `tls` | supported | unknown | ignored | unknown |
Constraints: @@ -2973,8 +2847,8 @@ Constraints: Usages: -* [`OtlpHttpExporter.tls`](#otlphttpexporter) -* [`OtlpHttpMetricExporter.tls`](#otlphttpmetricexporter) +* [`LogRecordExporter.otlp_grpc`](#logrecordexporter) +* [`SpanExporter.otlp_grpc`](#spanexporter)
JSON Schema @@ -2987,42 +2861,71 @@ Usages: ], "additionalProperties": false, "properties": { - "certificate_file": { + "endpoint": { "type": [ "string", "null" ] }, - "client_key_file": { + "tls": { + "$ref": "#/$defs/GrpcTls" + }, + "headers": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/NameStringValuePair" + } + }, + "headers_list": { "type": [ "string", "null" ] }, - "client_certificate_file": { + "compression": { "type": [ "string", "null" ] + }, + "timeout": { + "type": [ + "integer", + "null" + ], + "minimum": 0 } } }
-## IncludeExclude +## OtlpGrpcMetricExporter | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `excluded` | `array` of `string` | `false` | * `minItems`: `1`
| 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` | * `minItems`: `1`
| 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.
| +| `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.
| +| `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.
| +| `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` | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| `false` | 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.
| +| `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.
| +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `excluded` | supported | unknown | supported | unknown | -| `included` | supported | unknown | supported | unknown | +| `compression` | supported | unknown | supported | unknown | +| `default_histogram_aggregation` | supported | unknown | supported | unknown | +| `endpoint` | supported | unknown | supported | unknown | +| `headers` | supported | unknown | supported | unknown | +| `headers_list` | supported | unknown | supported | unknown | +| `temporality_preference` | supported | unknown | supported | unknown | +| `timeout` | supported | unknown | supported | unknown | +| `tls` | supported | unknown | ignored | unknown |
Constraints: @@ -3031,94 +2934,130 @@ Constraints: Usages: -* [`ExperimentalPrometheusMetricExporter.with_resource_constant_labels`](#experimentalprometheusmetricexporter) -* [`ViewStream.attribute_keys`](#viewstream) -* [`ExperimentalResourceDetection.attributes`](#experimentalresourcedetection) +* [`PushMetricExporter.otlp_grpc`](#pushmetricexporter)
JSON Schema -[JSON Schema Source File](./schema/common.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": "object",
+  "type": [
+    "object",
+    "null"
+  ],
   "additionalProperties": false,
   "properties": {
-    "included": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "type": "string"
-      }
+    "endpoint": {
+      "type": [
+        "string",
+        "null"
+      ]
     },
-    "excluded": {
+    "tls": {
+      "$ref": "common.json#/$defs/GrpcTls"
+    },
+    "headers": {
       "type": "array",
       "minItems": 1,
       "items": {
-        "type": "string"
+        "$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"
     }
   }
 }
-## InstrumentType +## OtlpHttpEncoding This is a enum type. | Value | Description | |---|---| -| `counter` | TODO | -| `gauge` | TODO | -| `histogram` | TODO | -| `observable_counter` | TODO | -| `observable_gauge` | TODO | -| `observable_up_down_counter` | TODO | -| `up_down_counter` | TODO | +| `json` | Protobuf JSON encoding. | +| `protobuf` | Protobuf binary encoding. |
Language support status | Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `counter` | supported | unknown | supported | unknown | -| `gauge` | supported | unknown | supported | unknown | -| `histogram` | supported | unknown | supported | unknown | -| `observable_counter` | supported | unknown | supported | unknown | -| `observable_gauge` | supported | unknown | supported | unknown | -| `observable_up_down_counter` | supported | unknown | supported | unknown | -| `up_down_counter` | supported | unknown | supported | unknown | +| `json` | supported | unknown | not_implemented | unknown | +| `protobuf` | supported | unknown | not_implemented | unknown |
No constraints. Usages: -* [`ViewSelector.instrument_type`](#viewselector) +* [`OtlpHttpExporter.encoding`](#otlphttpexporter) +* [`OtlpHttpMetricExporter.encoding`](#otlphttpmetricexporter)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/common.json)
{
   "type": [
     "string",
     "null"
   ],
   "enum": [
-    "counter",
-    "gauge",
-    "histogram",
-    "observable_counter",
-    "observable_gauge",
-    "observable_up_down_counter",
-    "up_down_counter"
+    "protobuf",
+    "json"
   ]
 }
-## JaegerPropagator +## OtlpHttpExporter -No properties. +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `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.
| +| `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.
| +| `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` | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| `false` | 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.
| +| `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` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. | + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `compression` | supported | unknown | supported | unknown | +| `encoding` | supported | unknown | not_implemented | unknown | +| `endpoint` | supported | unknown | supported | unknown | +| `headers` | supported | unknown | supported | unknown | +| `headers_list` | supported | unknown | supported | unknown | +| `timeout` | supported | unknown | supported | unknown | +| `tls` | supported | unknown | ignored | unknown | +
Constraints: @@ -3126,24 +3065,93 @@ Constraints: Usages: -* [`TextMapPropagator.jaeger`](#textmappropagator) +* [`LogRecordExporter.otlp_http`](#logrecordexporter) +* [`SpanExporter.otlp_http`](#spanexporter)
JSON Schema -[JSON Schema Source File](./schema/propagator.json) +[JSON Schema Source File](./schema/common.json)
{
   "type": [
     "object",
     "null"
   ],
-  "additionalProperties": false
+  "additionalProperties": false,
+  "properties": {
+    "endpoint": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "tls": {
+      "$ref": "#/$defs/HttpTls"
+    },
+    "headers": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/NameStringValuePair"
+      }
+    },
+    "headers_list": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "compression": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "timeout": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "minimum": 0
+    },
+    "encoding": {
+      "$ref": "#/$defs/OtlpHttpEncoding"
+    }
+  }
 }
-## LastValueAggregation +## OtlpHttpMetricExporter -No properties. +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `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.
| +| `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.
| +| `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.
| +| `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` | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| +| `headers_list` | one of:
* `string`
* `null`
| `false` | 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.
| +| `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.
| +| `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` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. | + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `compression` | supported | unknown | supported | unknown | +| `default_histogram_aggregation` | supported | unknown | supported | unknown | +| `encoding` | supported | unknown | not_implemented | unknown | +| `endpoint` | supported | unknown | supported | unknown | +| `endpoint` | supported | unknown | supported | unknown | +| `headers` | supported | unknown | supported | unknown | +| `headers_list` | supported | unknown | supported | unknown | +| `temporality_preference` | supported | unknown | supported | unknown | +| `timeout` | supported | unknown | supported | unknown | +| `tls` | supported | unknown | ignored | unknown | +
Constraints: @@ -3151,7 +3159,7 @@ Constraints: Usages: -* [`Aggregation.last_value`](#aggregation) +* [`PushMetricExporter.otlp_http`](#pushmetricexporter)
JSON Schema @@ -3162,356 +3170,203 @@ Usages: "object", "null" ], - "additionalProperties": false + "additionalProperties": false, + "properties": { + "endpoint": { + "type": [ + "string", + "null" + ] + }, + "tls": { + "$ref": "common.json#/$defs/HttpTls" + }, + "headers": { + "type": "array", + "minItems": 1, + "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" + } + } }
-## LoggerProvider +## ParentBasedSampler | Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `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.
| -| `processors` | `array` of [`LogRecordProcessor`](#logrecordprocessor) | `true` | * `minItems`: `1`
| Configure log record processors. | +|---|---|---|---|---| +| `local_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure local_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.
| +| `remote_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure remote_parent_not_sampled sampler.
If omitted or null, always_off is used.
| +| `remote_parent_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure remote_parent_sampled sampler.
If omitted or null, always_on is used.
| +| `root` | [`Sampler`](#sampler) | `false` | No constraints. | Configure root sampler.
If omitted or null, always_on is used.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `limits` | supported | unknown | supported | unknown | -| `logger_configurator/development` | supported | unknown | supported | unknown | -| `processors` | supported | unknown | supported | unknown | +| `local_parent_not_sampled` | supported | unknown | supported | unknown | +| `local_parent_sampled` | supported | unknown | supported | unknown | +| `remote_parent_not_sampled` | supported | unknown | supported | unknown | +| `remote_parent_sampled` | supported | unknown | supported | unknown | +| `root` | supported | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` -* `required`: `["processors"]` Usages: -* [`OpenTelemetryConfiguration.logger_provider`](#opentelemetryconfiguration) +* [`Sampler.parent_based`](#sampler)
JSON Schema -[JSON Schema Source File](./schema/logger_provider.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
-  "$id": "https://opentelemetry.io/otelconfig/logger_provider.json",
-  "$schema": "https://json-schema.org/draft/2020-12/schema",
-  "type": "object",
+  "type": [
+    "object",
+    "null"
+  ],
   "additionalProperties": false,
   "properties": {
-    "processors": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/LogRecordProcessor"
-      }
-    },
-    "limits": {
-      "$ref": "#/$defs/LogRecordLimits"
-    },
-    "logger_configurator/development": {
-      "$ref": "#/$defs/ExperimentalLoggerConfigurator"
-    }
-  },
-  "required": [
-    "processors"
-  ],
-  "$defs": {
-    "SimpleLogRecordProcessor": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "exporter": {
-          "$ref": "#/$defs/LogRecordExporter"
-        }
-      },
-      "required": [
-        "exporter"
-      ]
-    },
-    "BatchLogRecordProcessor": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "schedule_delay": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
-        },
-        "export_timeout": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
-        },
-        "max_queue_size": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "max_export_batch_size": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "exporter": {
-          "$ref": "#/$defs/LogRecordExporter"
-        }
-      },
-      "required": [
-        "exporter"
-      ]
-    },
-    "LogRecordExporter": {
-      "type": "object",
-      "additionalProperties": {
-        "type": [
-          "object",
-          "null"
-        ]
-      },
-      "minProperties": 1,
-      "maxProperties": 1,
-      "properties": {
-        "otlp_http": {
-          "$ref": "common.json#/$defs/OtlpHttpExporter"
-        },
-        "otlp_grpc": {
-          "$ref": "common.json#/$defs/OtlpGrpcExporter"
-        },
-        "otlp_file/development": {
-          "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter"
-        },
-        "console": {
-          "$ref": "common.json#/$defs/ConsoleExporter"
-        }
-      }
-    },
-    "LogRecordLimits": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "attribute_value_length_limit": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
-        },
-        "attribute_count_limit": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
-        }
-      }
-    },
-    "LogRecordProcessor": {
-      "type": "object",
-      "additionalProperties": {
-        "type": [
-          "object",
-          "null"
-        ]
-      },
-      "minProperties": 1,
-      "maxProperties": 1,
-      "properties": {
-        "batch": {
-          "$ref": "#/$defs/BatchLogRecordProcessor"
-        },
-        "simple": {
-          "$ref": "#/$defs/SimpleLogRecordProcessor"
-        }
-      }
-    },
-    "ExperimentalLoggerConfigurator": {
-      "type": [
-        "object"
-      ],
-      "additionalProperties": false,
-      "properties": {
-        "default_config": {
-          "$ref": "#/$defs/ExperimentalLoggerConfig"
-        },
-        "loggers": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig"
-          }
-        }
-      }
-    },
-    "ExperimentalLoggerMatcherAndConfig": {
-      "type": [
-        "object"
-      ],
-      "additionalProperties": false,
-      "properties": {
-        "name": {
-          "type": [
-            "string"
-          ]
-        },
-        "config": {
-          "$ref": "#/$defs/ExperimentalLoggerConfig"
-        }
-      },
-      "required": [
-        "name",
-        "config"
-      ]
+    "root": {
+      "$ref": "#/$defs/Sampler"
     },
-    "ExperimentalLoggerConfig": {
-      "type": [
-        "object"
-      ],
-      "additionalProperties": false,
-      "properties": {
-        "disabled": {
-          "type": [
-            "boolean",
-            "null"
-          ]
-        },
-        "minimum_severity": {
-          "$ref": "#/$defs/ExperimentalSeverityNumber"
-        },
-        "trace_based": {
-          "type": [
-            "boolean",
-            "null"
-          ]
-        }
-      }
+    "remote_parent_sampled": {
+      "$ref": "#/$defs/Sampler"
     },
-    "ExperimentalSeverityNumber": {
-      "type": [
-        "string",
-        "null"
-      ],
-      "enum": [
-        "TRACE",
-        "TRACE2",
-        "TRACE3",
-        "TRACE4",
-        "DEBUG",
-        "DEBUG2",
-        "DEBUG3",
-        "DEBUG4",
-        "INFO",
-        "INFO2",
-        "INFO3",
-        "INFO4",
-        "WARN",
-        "WARN2",
-        "WARN3",
-        "WARN4",
-        "ERROR",
-        "ERROR2",
-        "ERROR3",
-        "ERROR4",
-        "FATAL",
-        "FATAL2",
-        "FATAL3",
-        "FATAL4"
-      ]
+    "remote_parent_not_sampled": {
+      "$ref": "#/$defs/Sampler"
+    },
+    "local_parent_sampled": {
+      "$ref": "#/$defs/Sampler"
+    },
+    "local_parent_not_sampled": {
+      "$ref": "#/$defs/Sampler"
     }
   }
 }
-## LogRecordExporter - -`LogRecordExporter` is an [SDK extension plugin](#sdk-extension-plugins). +## PeriodicMetricReader | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. | -| `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_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport. | -| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP transport. | +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. | +| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | `true` | No constraints. | Configure exporter. | +| `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.
| +| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | * `minItems`: `1`
| Configure metric producers. | +| `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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `console` | supported | unknown | supported | unknown | -| `otlp_file/development` | supported | unknown | supported | unknown | -| `otlp_grpc` | supported | unknown | supported | unknown | -| `otlp_http` | supported | unknown | supported | unknown | +| `cardinality_limits` | supported | unknown | supported | unknown | +| `exporter` | supported | unknown | supported | unknown | +| `interval` | supported | unknown | supported | unknown | +| `producers` | supported | unknown | not_implemented | unknown | +| `timeout` | supported | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` +* `additionalProperties`: `false` +* `required`: `["exporter"]` Usages: -* [`SimpleLogRecordProcessor.exporter`](#simplelogrecordprocessor) -* [`BatchLogRecordProcessor.exporter`](#batchlogrecordprocessor) +* [`MetricReader.periodic`](#metricreader)
JSON Schema -[JSON Schema Source File](./schema/logger_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
   "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
+  "additionalProperties": false,
   "properties": {
-    "otlp_http": {
-      "$ref": "common.json#/$defs/OtlpHttpExporter"
+    "interval": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "minimum": 0
     },
-    "otlp_grpc": {
-      "$ref": "common.json#/$defs/OtlpGrpcExporter"
+    "timeout": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "minimum": 0
     },
-    "otlp_file/development": {
-      "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter"
+    "exporter": {
+      "$ref": "#/$defs/PushMetricExporter"
     },
-    "console": {
-      "$ref": "common.json#/$defs/ConsoleExporter"
+    "producers": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/MetricProducer"
+      }
+    },
+    "cardinality_limits": {
+      "$ref": "#/$defs/CardinalityLimits"
     }
-  }
+  },
+  "required": [
+    "exporter"
+  ]
 }
-## LogRecordLimits +## Propagator | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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.
| +| `composite` | `array` of [`TextMapPropagator`](#textmappropagator) | `false` | * `minItems`: `1`
| 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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `attribute_count_limit` | supported | unknown | supported | unknown | -| `attribute_value_length_limit` | supported | unknown | supported | unknown | +| `composite` | supported | unknown | supported | unknown | +| `composite_list` | supported | unknown | supported | unknown |
Constraints: @@ -3520,50 +3375,124 @@ Constraints: Usages: -* [`LoggerProvider.limits`](#loggerprovider) +* [`OpenTelemetryConfiguration.propagator`](#opentelemetryconfiguration)
JSON Schema -[JSON Schema Source File](./schema/logger_provider.json) +[JSON Schema Source File](./schema/propagator.json)
{
+  "$id": "https://opentelemetry.io/otelconfig/propagator.json",
+  "$schema": "https://json-schema.org/draft/2020-12/schema",
   "type": "object",
   "additionalProperties": false,
   "properties": {
-    "attribute_value_length_limit": {
+    "composite": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/TextMapPropagator"
+      }
+    },
+    "composite_list": {
       "type": [
-        "integer",
+        "string",
+        "null"
+      ]
+    }
+  },
+  "$defs": {
+    "TextMapPropagator": {
+      "type": "object",
+      "additionalProperties": {
+        "type": [
+          "object",
+          "null"
+        ]
+      },
+      "minProperties": 1,
+      "maxProperties": 1,
+      "properties": {
+        "tracecontext": {
+          "$ref": "#/$defs/TraceContextPropagator"
+        },
+        "baggage": {
+          "$ref": "#/$defs/BaggagePropagator"
+        },
+        "b3": {
+          "$ref": "#/$defs/B3Propagator"
+        },
+        "b3multi": {
+          "$ref": "#/$defs/B3MultiPropagator"
+        },
+        "jaeger": {
+          "$ref": "#/$defs/JaegerPropagator"
+        },
+        "ottrace": {
+          "$ref": "#/$defs/OpenTracingPropagator"
+        }
+      }
+    },
+    "TraceContextPropagator": {
+      "type": [
+        "object",
         "null"
       ],
-      "minimum": 0
+      "additionalProperties": false
     },
-    "attribute_count_limit": {
+    "BaggagePropagator": {
       "type": [
-        "integer",
+        "object",
         "null"
       ],
-      "minimum": 0
+      "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
     }
   }
 }
-## LogRecordProcessor +## PullMetricExporter -`LogRecordProcessor` is an [SDK extension plugin](#sdk-extension-plugins). +`PullMetricExporter` is an [SDK extension plugin](#sdk-extension-plugins). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `batch` | [`BatchLogRecordProcessor`](#batchlogrecordprocessor) | `false` | No constraints. | Configure a batch log record processor. | -| `simple` | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | `false` | No constraints. | Configure a simple log record processor. | +| `prometheus/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | `false` | No constraints. | Configure exporter to be prometheus.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `batch` | supported | unknown | supported | unknown | -| `simple` | supported | unknown | supported | unknown | +| `prometheus/development` | supported | unknown | supported | unknown |
Constraints: @@ -3574,12 +3503,12 @@ Constraints: Usages: -* [`LoggerProvider.processors`](#loggerprovider) +* [`PullMetricReader.exporter`](#pullmetricreader)
JSON Schema -[JSON Schema Source File](./schema/logger_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
   "type": "object",
   "additionalProperties": {
@@ -3591,773 +3520,672 @@ Usages:
   "minProperties": 1,
   "maxProperties": 1,
   "properties": {
-    "batch": {
-      "$ref": "#/$defs/BatchLogRecordProcessor"
+    "prometheus/development": {
+      "$ref": "#/$defs/ExperimentalPrometheusMetricExporter"
+    }
+  }
+}
+
+ +## PullMetricReader + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. | +| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | `true` | No constraints. | Configure exporter. | +| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | * `minItems`: `1`
| Configure metric producers. | + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `cardinality_limits` | supported | unknown | supported | unknown | +| `exporter` | supported | unknown | supported | unknown | +| `producers` | supported | unknown | not_implemented | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` +* `required`: `["exporter"]` + +Usages: + +* [`MetricReader.pull`](#metricreader) + +
+JSON Schema + +[JSON Schema Source File](./schema/meter_provider.json) +
{
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "exporter": {
+      "$ref": "#/$defs/PullMetricExporter"
     },
-    "simple": {
-      "$ref": "#/$defs/SimpleLogRecordProcessor"
+    "producers": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/MetricProducer"
+      }
+    },
+    "cardinality_limits": {
+      "$ref": "#/$defs/CardinalityLimits"
     }
-  }
+  },
+  "required": [
+    "exporter"
+  ]
 }
-## MeterProvider +## PushMetricExporter + +`PushMetricExporter` is an [SDK extension plugin](#sdk-extension-plugins). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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`
| Configure metric readers. | -| `views` | `array` of [`View`](#view) | `false` | * `minItems`: `1`
| Configure views.
Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).
| +| `console` | [`ConsoleMetricExporter`](#consolemetricexporter) | `false` | No constraints. | Configure exporter to be console.
| +| `otlp_grpc` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport.
| +| `otlp_http` | [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP 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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `exemplar_filter` | supported | unknown | supported | unknown | -| `meter_configurator/development` | supported | unknown | supported | unknown | -| `readers` | supported | unknown | supported | unknown | -| `views` | supported | unknown | supported | unknown | +| `console` | supported | unknown | supported | unknown | +| `otlp_grpc` | supported | unknown | supported | unknown | +| `otlp_http` | supported | unknown | supported | unknown | +| `otlp_file/development` | supported | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `false` -* `required`: `["readers"]` +* `additionalProperties`: `{"type":["object","null"]}` +* `minProperties`: `1` +* `maxProperties`: `1` Usages: -* [`OpenTelemetryConfiguration.meter_provider`](#opentelemetryconfiguration) +* [`PeriodicMetricReader.exporter`](#periodicmetricreader)
JSON Schema [JSON Schema Source File](./schema/meter_provider.json)
{
-  "$id": "https://opentelemetry.io/otelconfig/meter_provider.json",
-  "$schema": "https://json-schema.org/draft/2020-12/schema",
   "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "readers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/MetricReader"
-      }
-    },
-    "views": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/View"
-      }
-    },
-    "exemplar_filter": {
-      "$ref": "#/$defs/ExemplarFilter"
-    },
-    "meter_configurator/development": {
-      "$ref": "#/$defs/ExperimentalMeterConfigurator"
-    }
+  "additionalProperties": {
+    "type": [
+      "object",
+      "null"
+    ]
   },
-  "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",
-          "minItems": 1,
-          "items": {
-            "$ref": "#/$defs/MetricProducer"
-          }
-        },
-        "cardinality_limits": {
-          "$ref": "#/$defs/CardinalityLimits"
-        }
-      },
-      "required": [
-        "exporter"
-      ]
-    },
-    "PullMetricReader": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "exporter": {
-          "$ref": "#/$defs/PullMetricExporter"
-        },
-        "producers": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "$ref": "#/$defs/MetricProducer"
-          }
-        },
-        "cardinality_limits": {
-          "$ref": "#/$defs/CardinalityLimits"
-        }
-      },
-      "required": [
-        "exporter"
-      ]
-    },
-    "CardinalityLimits": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "default": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "counter": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "gauge": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "histogram": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "observable_counter": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "observable_gauge": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "observable_up_down_counter": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "up_down_counter": {
-          "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"
-        }
-      }
+  "minProperties": 1,
+  "maxProperties": 1,
+  "properties": {
+    "otlp_http": {
+      "$ref": "#/$defs/OtlpHttpMetricExporter"
     },
-    "MetricProducer": {
-      "type": "object",
-      "additionalProperties": {
-        "type": [
-          "object",
-          "null"
-        ]
-      },
-      "minProperties": 1,
-      "maxProperties": 1,
-      "properties": {
-        "opencensus": {
-          "$ref": "#/$defs/OpenCensusMetricProducer"
-        }
-      }
+    "otlp_grpc": {
+      "$ref": "#/$defs/OtlpGrpcMetricExporter"
     },
-    "OpenCensusMetricProducer": {
-      "type": [
-        "object",
-        "null"
-      ],
-      "additionalProperties": false
+    "otlp_file/development": {
+      "$ref": "#/$defs/ExperimentalOtlpFileMetricExporter"
     },
-    "ExperimentalPrometheusMetricExporter": {
-      "type": [
-        "object",
-        "null"
-      ],
-      "additionalProperties": false,
-      "properties": {
-        "host": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "port": {
-          "type": [
-            "integer",
-            "null"
-          ]
-        },
-        "without_scope_info": {
-          "type": [
-            "boolean",
-            "null"
-          ]
-        },
-        "without_target_info": {
-          "type": [
-            "boolean",
-            "null"
-          ]
-        },
-        "with_resource_constant_labels": {
-          "$ref": "common.json#/$defs/IncludeExclude"
-        },
-        "translation_strategy": {
-          "type": [
-            "string",
-            "null"
-          ],
-          "enum": [
-            "UnderscoreEscapingWithSuffixes",
-            "UnderscoreEscapingWithoutSuffixes",
-            "NoUTF8EscapingWithSuffixes",
-            "NoTranslation"
-          ]
-        }
+    "console": {
+      "$ref": "#/$defs/ConsoleMetricExporter"
+    }
+  }
+}
+
+ +## Resource + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `attributes` | `array` of [`AttributeNameValue`](#attributenamevalue) | `false` | * `minItems`: `1`
| Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
| +| `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.
| +| `schema_url` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure resource schema URL.
If omitted or null, no schema URL is used.
| +| `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.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `attributes` | supported | unknown | supported | unknown | +| `attributes_list` | supported | unknown | supported | unknown | +| `schema_url` | supported | unknown | ignored | unknown | +| `detection/development` | supported | unknown | supported | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`OpenTelemetryConfiguration.resource`](#opentelemetryconfiguration) + +
+JSON Schema + +[JSON Schema Source File](./schema/resource.json) +
{
+  "$id": "https://opentelemetry.io/otelconfig/resource.json",
+  "$schema": "https://json-schema.org/draft/2020-12/schema",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "attributes": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/AttributeNameValue"
       }
     },
-    "MetricReader": {
-      "type": "object",
-      "additionalProperties": false,
-      "minProperties": 1,
-      "maxProperties": 1,
-      "properties": {
-        "periodic": {
-          "$ref": "#/$defs/PeriodicMetricReader"
-        },
-        "pull": {
-          "$ref": "#/$defs/PullMetricReader"
-        }
-      }
+    "detection/development": {
+      "$ref": "#/$defs/ExperimentalResourceDetection"
     },
-    "ExporterTemporalityPreference": {
+    "schema_url": {
       "type": [
         "string",
         "null"
-      ],
-      "enum": [
-        "cumulative",
-        "delta",
-        "low_memory"
       ]
     },
-    "ExporterDefaultHistogramAggregation": {
+    "attributes_list": {
       "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",
-          "minItems": 1,
-          "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"
-      ],
+    }
+  },
+  "$defs": {
+    "AttributeNameValue": {
+      "type": "object",
       "additionalProperties": false,
       "properties": {
-        "endpoint": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "tls": {
-          "$ref": "common.json#/$defs/GrpcTls"
-        },
-        "headers": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "$ref": "common.json#/$defs/NameStringValuePair"
-          }
-        },
-        "headers_list": {
-          "type": [
-            "string",
-            "null"
-          ]
+        "name": {
+          "type": "string"
         },
-        "compression": {
-          "type": [
-            "string",
-            "null"
+        "value": {
+          "oneOf": [
+            {
+              "type": "string"
+            },
+            {
+              "type": "number"
+            },
+            {
+              "type": "boolean"
+            },
+            {
+              "type": "null"
+            },
+            {
+              "type": "array",
+              "items": {
+                "type": "string"
+              },
+              "minItems": 1
+            },
+            {
+              "type": "array",
+              "items": {
+                "type": "boolean"
+              },
+              "minItems": 1
+            },
+            {
+              "type": "array",
+              "items": {
+                "type": "number"
+              },
+              "minItems": 1
+            }
           ]
         },
-        "timeout": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
-        },
-        "temporality_preference": {
-          "$ref": "#/$defs/ExporterTemporalityPreference"
-        },
-        "default_histogram_aggregation": {
-          "$ref": "#/$defs/ExporterDefaultHistogramAggregation"
+        "type": {
+          "$ref": "#/$defs/AttributeType"
         }
-      }
+      },
+      "required": [
+        "name",
+        "value"
+      ]
     },
-    "ExperimentalOtlpFileMetricExporter": {
+    "AttributeType": {
       "type": [
-        "object",
+        "string",
         "null"
       ],
-      "additionalProperties": false,
-      "properties": {
-        "output_stream": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "temporality_preference": {
-          "$ref": "#/$defs/ExporterTemporalityPreference"
-        },
-        "default_histogram_aggregation": {
-          "$ref": "#/$defs/ExporterDefaultHistogramAggregation"
-        }
-      }
+      "enum": [
+        "string",
+        "bool",
+        "int",
+        "double",
+        "string_array",
+        "bool_array",
+        "int_array",
+        "double_array"
+      ]
     },
-    "ConsoleMetricExporter": {
-      "type": [
-        "object",
-        "null"
-      ],
+    "ExperimentalResourceDetection": {
+      "type": "object",
       "additionalProperties": false,
       "properties": {
-        "temporality_preference": {
-          "$ref": "#/$defs/ExporterTemporalityPreference"
+        "attributes": {
+          "$ref": "common.json#/$defs/IncludeExclude"
         },
-        "default_histogram_aggregation": {
-          "$ref": "#/$defs/ExporterDefaultHistogramAggregation"
+        "detectors": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "$ref": "#/$defs/ExperimentalResourceDetector"
+          }
         }
       }
     },
-    "View": {
+    "ExperimentalResourceDetector": {
       "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "selector": {
-          "$ref": "#/$defs/ViewSelector"
-        },
-        "stream": {
-          "$ref": "#/$defs/ViewStream"
-        }
+      "additionalProperties": {
+        "type": [
+          "object",
+          "null"
+        ]
       },
-      "required": [
-        "selector",
-        "stream"
-      ]
-    },
-    "ViewSelector": {
-      "type": "object",
-      "additionalProperties": false,
+      "minProperties": 1,
+      "maxProperties": 1,
       "properties": {
-        "instrument_name": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "instrument_type": {
-          "$ref": "#/$defs/InstrumentType"
-        },
-        "unit": {
-          "type": [
-            "string",
-            "null"
-          ]
+        "container": {
+          "$ref": "#/$defs/ExperimentalContainerResourceDetector"
         },
-        "meter_name": {
-          "type": [
-            "string",
-            "null"
-          ]
+        "host": {
+          "$ref": "#/$defs/ExperimentalHostResourceDetector"
         },
-        "meter_version": {
-          "type": [
-            "string",
-            "null"
-          ]
+        "process": {
+          "$ref": "#/$defs/ExperimentalProcessResourceDetector"
         },
-        "meter_schema_url": {
-          "type": [
-            "string",
-            "null"
-          ]
+        "service": {
+          "$ref": "#/$defs/ExperimentalServiceResourceDetector"
         }
       }
     },
-    "InstrumentType": {
+    "ExperimentalContainerResourceDetector": {
       "type": [
-        "string",
+        "object",
         "null"
       ],
-      "enum": [
-        "counter",
-        "gauge",
-        "histogram",
-        "observable_counter",
-        "observable_gauge",
-        "observable_up_down_counter",
-        "up_down_counter"
-      ]
+      "additionalProperties": false
     },
-    "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"
-        }
-      }
+    "ExperimentalHostResourceDetector": {
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    },
+    "ExperimentalProcessResourceDetector": {
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    },
+    "ExperimentalServiceResourceDetector": {
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    }
+  }
+}
+
+ +## Sampler + +`Sampler` is an [SDK extension plugin](#sdk-extension-plugins). + +| 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. | +| `composite/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configure sampler to be composite. | +| `jaeger_remote/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | `false` | No constraints. | TODO | +| `probability/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | `false` | No constraints. | Configure sampler to be probability. | + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `always_off` | supported | unknown | supported | unknown | +| `always_on` | supported | unknown | supported | unknown | +| `parent_based` | supported | unknown | supported | unknown | +| `trace_id_ratio_based` | supported | unknown | supported | unknown | +| `composite/development` | supported | unknown | supported | unknown | +| `jaeger_remote/development` | supported | unknown | supported | unknown | +| `probability/development` | supported | unknown | ignored | unknown | +
+ +Constraints: + +* `additionalProperties`: `{"type":["object","null"]}` +* `minProperties`: `1` +* `maxProperties`: `1` + +Usages: + +* [`TracerProvider.sampler`](#tracerprovider) +* [`ExperimentalJaegerRemoteSampler.initial_sampler`](#experimentaljaegerremotesampler) +* [`ParentBasedSampler.root`](#parentbasedsampler) +* [`ParentBasedSampler.remote_parent_sampled`](#parentbasedsampler) +* [`ParentBasedSampler.remote_parent_not_sampled`](#parentbasedsampler) +* [`ParentBasedSampler.local_parent_sampled`](#parentbasedsampler) +* [`ParentBasedSampler.local_parent_not_sampled`](#parentbasedsampler) + +
+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/AlwaysOffSampler"
     },
-    "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"
-        }
-      }
+    "always_on": {
+      "$ref": "#/$defs/AlwaysOnSampler"
     },
-    "DefaultAggregation": {
-      "type": [
-        "object",
-        "null"
-      ],
-      "additionalProperties": false
+    "composite/development": {
+      "$ref": "#/$defs/ExperimentalComposableSampler"
     },
-    "DropAggregation": {
-      "type": [
-        "object",
-        "null"
-      ],
-      "additionalProperties": false
+    "jaeger_remote/development": {
+      "$ref": "#/$defs/ExperimentalJaegerRemoteSampler"
     },
-    "ExplicitBucketHistogramAggregation": {
+    "parent_based": {
+      "$ref": "#/$defs/ParentBasedSampler"
+    },
+    "probability/development": {
+      "$ref": "#/$defs/ExperimentalProbabilitySampler"
+    },
+    "trace_id_ratio_based": {
+      "$ref": "#/$defs/TraceIdRatioBasedSampler"
+    }
+  }
+}
+
+ +## SimpleLogRecordProcessor + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `exporter` | [`LogRecordExporter`](#logrecordexporter) | `true` | No constraints. | Configure exporter. | + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `exporter` | supported | unknown | supported | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` +* `required`: `["exporter"]` + +Usages: + +* [`LogRecordProcessor.simple`](#logrecordprocessor) + +
+JSON Schema + +[JSON Schema Source File](./schema/logger_provider.json) +
{
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "exporter": {
+      "$ref": "#/$defs/LogRecordExporter"
+    }
+  },
+  "required": [
+    "exporter"
+  ]
+}
+
+ +## SimpleSpanProcessor + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | Configure exporter. | + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `exporter` | supported | unknown | supported | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` +* `required`: `["exporter"]` + +Usages: + +* [`SpanProcessor.simple`](#spanprocessor) + +
+JSON Schema + +[JSON Schema Source File](./schema/tracer_provider.json) +
{
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "exporter": {
+      "$ref": "#/$defs/SpanExporter"
+    }
+  },
+  "required": [
+    "exporter"
+  ]
+}
+
+ +## SpanExporter + +`SpanExporter` is an [SDK extension plugin](#sdk-extension-plugins). + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. | +| `otlp_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport. | +| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP transport. | +| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | `false` | No constraints. | Configure exporter to be zipkin. | +| `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.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `console` | supported | unknown | supported | unknown | +| `otlp_grpc` | supported | unknown | supported | unknown | +| `otlp_http` | supported | unknown | supported | unknown | +| `zipkin` | supported | unknown | supported | unknown | +| `otlp_file/development` | supported | unknown | supported | unknown | +
+ +Constraints: + +* `additionalProperties`: `{"type":["object","null"]}` +* `minProperties`: `1` +* `maxProperties`: `1` + +Usages: + +* [`BatchSpanProcessor.exporter`](#batchspanprocessor) +* [`SimpleSpanProcessor.exporter`](#simplespanprocessor) + +
+JSON Schema + +[JSON Schema Source File](./schema/tracer_provider.json) +
{
+  "type": "object",
+  "additionalProperties": {
+    "type": [
+      "object",
+      "null"
+    ]
+  },
+  "minProperties": 1,
+  "maxProperties": 1,
+  "properties": {
+    "otlp_http": {
+      "$ref": "common.json#/$defs/OtlpHttpExporter"
+    },
+    "otlp_grpc": {
+      "$ref": "common.json#/$defs/OtlpGrpcExporter"
+    },
+    "otlp_file/development": {
+      "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter"
+    },
+    "console": {
+      "$ref": "common.json#/$defs/ConsoleExporter"
+    },
+    "zipkin": {
+      "$ref": "#/$defs/ZipkinSpanExporter"
+    }
+  }
+}
+
+ +## SpanLimits + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `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.
| +| `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.
| +| `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_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.
| +| `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.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `attribute_count_limit` | supported | unknown | supported | unknown | +| `attribute_value_length_limit` | supported | unknown | supported | unknown | +| `event_attribute_count_limit` | supported | unknown | supported | unknown | +| `event_count_limit` | supported | unknown | supported | unknown | +| `link_attribute_count_limit` | supported | unknown | supported | unknown | +| `link_count_limit` | supported | unknown | supported | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`TracerProvider.limits`](#tracerprovider) + +
+JSON Schema + +[JSON Schema Source File](./schema/tracer_provider.json) +
{
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "attribute_value_length_limit": {
       "type": [
-        "object",
+        "integer",
         "null"
       ],
-      "additionalProperties": false,
-      "properties": {
-        "boundaries": {
-          "type": "array",
-          "minItems": 0,
-          "items": {
-            "type": "number"
-          }
-        },
-        "record_min_max": {
-          "type": [
-            "boolean",
-            "null"
-          ]
-        }
-      }
+      "minimum": 0
     },
-    "Base2ExponentialBucketHistogramAggregation": {
+    "attribute_count_limit": {
       "type": [
-        "object",
+        "integer",
         "null"
       ],
-      "additionalProperties": false,
-      "properties": {
-        "max_scale": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": -10,
-          "maximum": 20
-        },
-        "max_size": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 2
-        },
-        "record_min_max": {
-          "type": [
-            "boolean",
-            "null"
-          ]
-        }
-      }
+      "minimum": 0
     },
-    "LastValueAggregation": {
+    "event_count_limit": {
       "type": [
-        "object",
+        "integer",
         "null"
       ],
-      "additionalProperties": false
+      "minimum": 0
     },
-    "SumAggregation": {
+    "link_count_limit": {
       "type": [
-        "object",
+        "integer",
         "null"
       ],
-      "additionalProperties": false
-    },
-    "ExperimentalMeterConfigurator": {
-      "type": [
-        "object"
-      ],
-      "additionalProperties": false,
-      "properties": {
-        "default_config": {
-          "$ref": "#/$defs/ExperimentalMeterConfig"
-        },
-        "meters": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig"
-          }
-        }
-      }
+      "minimum": 0
     },
-    "ExperimentalMeterMatcherAndConfig": {
+    "event_attribute_count_limit": {
       "type": [
-        "object"
+        "integer",
+        "null"
       ],
-      "additionalProperties": false,
-      "properties": {
-        "name": {
-          "type": [
-            "string"
-          ]
-        },
-        "config": {
-          "$ref": "#/$defs/ExperimentalMeterConfig"
-        }
-      },
-      "required": [
-        "name",
-        "config"
-      ]
+      "minimum": 0
     },
-    "ExperimentalMeterConfig": {
+    "link_attribute_count_limit": {
       "type": [
-        "object"
+        "integer",
+        "null"
       ],
-      "additionalProperties": false,
-      "properties": {
-        "disabled": {
-          "type": [
-            "boolean"
-          ]
-        }
-      }
+      "minimum": 0
     }
   }
 }
-## MetricProducer +## SpanProcessor -`MetricProducer` is an [SDK extension plugin](#sdk-extension-plugins). +`SpanProcessor` is an [SDK extension plugin](#sdk-extension-plugins). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `opencensus` | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | `false` | No constraints. | Configure metric producer to be opencensus. | +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `opencensus` | supported | unknown | ignored | unknown | +| `batch` | supported | unknown | supported | unknown | +| `simple` | supported | unknown | supported | unknown |
Constraints: @@ -4368,13 +4196,12 @@ Constraints: Usages: -* [`PeriodicMetricReader.producers`](#periodicmetricreader) -* [`PullMetricReader.producers`](#pullmetricreader) +* [`TracerProvider.processors`](#tracerprovider)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
   "type": "object",
   "additionalProperties": {
@@ -4386,115 +4213,152 @@ Usages:
   "minProperties": 1,
   "maxProperties": 1,
   "properties": {
-    "opencensus": {
-      "$ref": "#/$defs/OpenCensusMetricProducer"
+    "batch": {
+      "$ref": "#/$defs/BatchSpanProcessor"
+    },
+    "simple": {
+      "$ref": "#/$defs/SimpleSpanProcessor"
     }
   }
 }
-## MetricReader +## SumAggregation + +No properties. + +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`Aggregation.sum`](#aggregation) + +
+JSON Schema + +[JSON Schema Source File](./schema/meter_provider.json) +
{
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false
+}
+
+ +## TextMapPropagator + +`TextMapPropagator` is an [SDK extension plugin](#sdk-extension-plugins). | 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. | +| `b3` | [`B3Propagator`](#b3propagator) | `false` | No constraints. | Include the zipkin b3 propagator. | +| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | `false` | No constraints. | Include the zipkin b3 multi propagator. | +| `baggage` | [`BaggagePropagator`](#baggagepropagator) | `false` | No constraints. | Include the w3c baggage 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. | Include the w3c trace context propagator. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `periodic` | supported | unknown | supported | unknown | -| `pull` | supported | unknown | supported | unknown | +| `b3` | supported | unknown | supported | unknown | +| `b3multi` | supported | unknown | supported | unknown | +| `baggage` | supported | unknown | supported | unknown | +| `jaeger` | supported | unknown | supported | unknown | +| `ottrace` | supported | unknown | supported | unknown | +| `tracecontext` | supported | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `false` +* `additionalProperties`: `{"type":["object","null"]}` * `minProperties`: `1` * `maxProperties`: `1` Usages: -* [`MeterProvider.readers`](#meterprovider) +* [`Propagator.composite`](#propagator)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/propagator.json)
{
   "type": "object",
-  "additionalProperties": false,
+  "additionalProperties": {
+    "type": [
+      "object",
+      "null"
+    ]
+  },
   "minProperties": 1,
   "maxProperties": 1,
   "properties": {
-    "periodic": {
-      "$ref": "#/$defs/PeriodicMetricReader"
+    "tracecontext": {
+      "$ref": "#/$defs/TraceContextPropagator"
     },
-    "pull": {
-      "$ref": "#/$defs/PullMetricReader"
+    "baggage": {
+      "$ref": "#/$defs/BaggagePropagator"
+    },
+    "b3": {
+      "$ref": "#/$defs/B3Propagator"
+    },
+    "b3multi": {
+      "$ref": "#/$defs/B3MultiPropagator"
+    },
+    "jaeger": {
+      "$ref": "#/$defs/JaegerPropagator"
+    },
+    "ottrace": {
+      "$ref": "#/$defs/OpenTracingPropagator"
     }
   }
 }
-## NameStringValuePair - -| 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. | - -
-Language support status +## TraceContextPropagator -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `name` | supported | unknown | supported | unknown | -| `value` | supported | unknown | supported | unknown | -
+No properties. Constraints: * `additionalProperties`: `false` -* `required`: `["name","value"]` Usages: -* [`OtlpHttpExporter.headers`](#otlphttpexporter) -* [`OtlpGrpcExporter.headers`](#otlpgrpcexporter) -* [`OtlpHttpMetricExporter.headers`](#otlphttpmetricexporter) -* [`OtlpGrpcMetricExporter.headers`](#otlpgrpcmetricexporter) +* [`TextMapPropagator.tracecontext`](#textmappropagator)
JSON Schema -[JSON Schema Source File](./schema/common.json) +[JSON Schema Source File](./schema/propagator.json)
{
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "name": {
-      "type": "string"
-    },
-    "value": {
-      "type": [
-        "string",
-        "null"
-      ]
-    }
-  },
-  "required": [
-    "name",
-    "value"
-  ]
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false
 }
-## OpenCensusMetricProducer +## TraceIdRatioBasedSampler -No properties. +| 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.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `ratio` | supported | unknown | supported | unknown | +
Constraints: @@ -4502,201 +4366,595 @@ Constraints: Usages: -* [`MetricProducer.opencensus`](#metricproducer) +* [`Sampler.trace_id_ratio_based`](#sampler)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
   "type": [
     "object",
     "null"
   ],
-  "additionalProperties": false
+  "additionalProperties": false,
+  "properties": {
+    "ratio": {
+      "type": [
+        "number",
+        "null"
+      ],
+      "minimum": 0,
+      "maximum": 1
+    }
+  }
 }
-## OpenTelemetryConfiguration +## TracerProvider | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `attribute_limits` | [`AttributeLimits`](#attributelimits) | `false` | No constraints. | Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
| -| `disabled` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure if the SDK is disabled or not.
If omitted or null, false 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
| -| `instrumentation/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalInstrumentation`](#experimentalinstrumentation) | `false` | No constraints. | Configure instrumentation.
| -| `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.
| -| `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.
| -| `resource` | [`Resource`](#resource) | `false` | No constraints. | Configure resource for all signals.
If omitted, the default resource is used.
| -| `tracer_provider` | [`TracerProvider`](#tracerprovider) | `false` | No constraints. | Configure tracer provider.
If omitted, a noop tracer provider is used.
| +| `limits` | [`SpanLimits`](#spanlimits) | `false` | No constraints. | Configure span limits. See also attribute_limits. | +| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | `true` | * `minItems`: `1`
| Configure span processors. | +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `attribute_limits` | supported | unknown | supported | unknown | -| `disabled` | supported | unknown | supported | unknown | -| `file_format` | supported | unknown | supported | unknown | -| `instrumentation/development` | supported | unknown | supported | unknown | -| `log_level` | supported | unknown | not_implemented | unknown | -| `logger_provider` | supported | unknown | supported | unknown | -| `meter_provider` | supported | unknown | supported | unknown | -| `propagator` | supported | unknown | supported | unknown | -| `resource` | supported | unknown | supported | unknown | -| `tracer_provider` | supported | unknown | supported | unknown | +| `limits` | supported | unknown | supported | unknown | +| `processors` | supported | unknown | supported | unknown | +| `sampler` | supported | unknown | supported | unknown | +| `tracer_configurator/development` | supported | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `true` -* `required`: `["file_format"]` +* `additionalProperties`: `false` +* `required`: `["processors"]` -No usages. +Usages: + +* [`OpenTelemetryConfiguration.tracer_provider`](#opentelemetryconfiguration)
JSON Schema -[JSON Schema Source File](./schema/opentelemetry_configuration.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
-  "$id": "https://opentelemetry.io/otelconfig/opentelemetry_configuration.json",
+  "$id": "https://opentelemetry.io/otelconfig/tracer_provider.json",
   "$schema": "https://json-schema.org/draft/2020-12/schema",
-  "title": "OpenTelemetryConfiguration",
   "type": "object",
-  "additionalProperties": true,
+  "additionalProperties": false,
   "properties": {
-    "file_format": {
-      "type": "string"
+    "processors": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/SpanProcessor"
+      }
+    },
+    "limits": {
+      "$ref": "#/$defs/SpanLimits"
+    },
+    "sampler": {
+      "$ref": "#/$defs/Sampler"
+    },
+    "tracer_configurator/development": {
+      "$ref": "#/$defs/ExperimentalTracerConfigurator"
+    }
+  },
+  "required": [
+    "processors"
+  ],
+  "$defs": {
+    "BatchSpanProcessor": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "schedule_delay": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "minimum": 0
+        },
+        "export_timeout": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "minimum": 0
+        },
+        "max_queue_size": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "max_export_batch_size": {
+          "type": [
+            "integer",
+            "null"
+          ],
+          "exclusiveMinimum": 0
+        },
+        "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": {
+          "$ref": "#/$defs/Sampler"
+        },
+        "remote_parent_sampled": {
+          "$ref": "#/$defs/Sampler"
+        },
+        "remote_parent_not_sampled": {
+          "$ref": "#/$defs/Sampler"
+        },
+        "local_parent_sampled": {
+          "$ref": "#/$defs/Sampler"
+        },
+        "local_parent_not_sampled": {
+          "$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
+        }
+      }
     },
-    "disabled": {
+    "ExperimentalComposableAlwaysOffSampler": {
       "type": [
-        "boolean",
+        "object",
         "null"
-      ]
+      ],
+      "additionalProperties": false
     },
-    "log_level": {
+    "ExperimentalComposableAlwaysOnSampler": {
       "type": [
-        "string",
+        "object",
         "null"
-      ]
+      ],
+      "additionalProperties": false
     },
-    "attribute_limits": {
-      "$ref": "#/$defs/AttributeLimits"
+    "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"
+        }
+      }
     },
-    "logger_provider": {
-      "$ref": "#/$defs/LoggerProvider"
+    "ExperimentalComposableProbabilitySampler": {
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false,
+      "properties": {
+        "ratio": {
+          "type": [
+            "number",
+            "null"
+          ],
+          "minimum": 0,
+          "maximum": 1
+        }
+      }
     },
-    "meter_provider": {
-      "$ref": "#/$defs/MeterProvider"
+    "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"
+        }
+      }
     },
-    "propagator": {
-      "$ref": "#/$defs/Propagator"
+    "SimpleSpanProcessor": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "exporter": {
+          "$ref": "#/$defs/SpanExporter"
+        }
+      },
+      "required": [
+        "exporter"
+      ]
     },
-    "tracer_provider": {
-      "$ref": "#/$defs/TracerProvider"
+    "SpanExporter": {
+      "type": "object",
+      "additionalProperties": {
+        "type": [
+          "object",
+          "null"
+        ]
+      },
+      "minProperties": 1,
+      "maxProperties": 1,
+      "properties": {
+        "otlp_http": {
+          "$ref": "common.json#/$defs/OtlpHttpExporter"
+        },
+        "otlp_grpc": {
+          "$ref": "common.json#/$defs/OtlpGrpcExporter"
+        },
+        "otlp_file/development": {
+          "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter"
+        },
+        "console": {
+          "$ref": "common.json#/$defs/ConsoleExporter"
+        },
+        "zipkin": {
+          "$ref": "#/$defs/ZipkinSpanExporter"
+        }
+      }
     },
-    "resource": {
-      "$ref": "#/$defs/Resource"
+    "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
+        }
+      }
     },
-    "instrumentation/development": {
-      "$ref": "#/$defs/ExperimentalInstrumentation"
-    }
-  },
-  "required": [
-    "file_format"
-  ],
-  "$defs": {
-    "AttributeLimits": {
+    "SpanProcessor": {
       "type": "object",
+      "additionalProperties": {
+        "type": [
+          "object",
+          "null"
+        ]
+      },
+      "minProperties": 1,
+      "maxProperties": 1,
+      "properties": {
+        "batch": {
+          "$ref": "#/$defs/BatchSpanProcessor"
+        },
+        "simple": {
+          "$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": {
+          "$ref": "#/$defs/ExperimentalTracerConfig"
+        },
+        "tracers": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig"
+          }
+        }
+      }
+    },
+    "ExperimentalTracerMatcherAndConfig": {
+      "type": [
+        "object"
+      ],
       "additionalProperties": false,
       "properties": {
-        "attribute_value_length_limit": {
+        "name": {
           "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
+            "string"
+          ]
         },
-        "attribute_count_limit": {
+        "config": {
+          "$ref": "#/$defs/ExperimentalTracerConfig"
+        }
+      },
+      "required": [
+        "name",
+        "config"
+      ]
+    },
+    "ExperimentalTracerConfig": {
+      "type": [
+        "object"
+      ],
+      "additionalProperties": false,
+      "properties": {
+        "disabled": {
           "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
+            "boolean"
+          ]
         }
       }
-    },
-    "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"
     }
   }
 }
-## OpenTracingPropagator +## View -No properties. +| 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. | + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `selector` | supported | unknown | supported | unknown | +| `stream` | supported | unknown | supported | unknown | +
Constraints: * `additionalProperties`: `false` +* `required`: `["selector","stream"]` Usages: -* [`TextMapPropagator.ottrace`](#textmappropagator) +* [`MeterProvider.views`](#meterprovider)
JSON Schema -[JSON Schema Source File](./schema/propagator.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "selector": {
+      "$ref": "#/$defs/ViewSelector"
+    },
+    "stream": {
+      "$ref": "#/$defs/ViewStream"
+    }
+  },
+  "required": [
+    "selector",
+    "stream"
+  ]
 }
-## OtlpGrpcExporter +## ViewSelector | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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.
| -| `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` | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| `false` | 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.
| -| `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. | +| `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.
| +| `meter_name` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure meter name selection criteria.
If omitted or null, all meter names 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.
| +| `meter_version` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure meter version selection criteria.
If omitted or null, all meter versions match.
| +| `unit` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure the instrument unit selection criteria.
If omitted or null, all instrument units match.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `compression` | supported | unknown | supported | unknown | -| `endpoint` | supported | unknown | supported | unknown | -| `headers` | supported | unknown | supported | unknown | -| `headers_list` | supported | unknown | supported | unknown | -| `timeout` | supported | unknown | supported | unknown | -| `tls` | supported | unknown | ignored | unknown | +| `instrument_name` | supported | unknown | supported | unknown | +| `instrument_type` | supported | unknown | supported | unknown | +| `meter_name` | supported | unknown | supported | unknown | +| `meter_schema_url` | supported | unknown | supported | unknown | +| `meter_version` | supported | unknown | supported | unknown | +| `unit` | supported | unknown | ignored | unknown |
Constraints: @@ -4705,85 +4963,73 @@ Constraints: Usages: -* [`LogRecordExporter.otlp_grpc`](#logrecordexporter) -* [`SpanExporter.otlp_grpc`](#spanexporter) +* [`View.selector`](#view)
JSON Schema -[JSON Schema Source File](./schema/common.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": [
-    "object",
-    "null"
-  ],
+  "type": "object",
   "additionalProperties": false,
   "properties": {
-    "endpoint": {
+    "instrument_name": {
       "type": [
         "string",
         "null"
       ]
     },
-    "tls": {
-      "$ref": "#/$defs/GrpcTls"
+    "instrument_type": {
+      "$ref": "#/$defs/InstrumentType"
     },
-    "headers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/NameStringValuePair"
-      }
+    "unit": {
+      "type": [
+        "string",
+        "null"
+      ]
     },
-    "headers_list": {
+    "meter_name": {
       "type": [
         "string",
         "null"
       ]
     },
-    "compression": {
+    "meter_version": {
       "type": [
         "string",
         "null"
       ]
     },
-    "timeout": {
+    "meter_schema_url": {
       "type": [
-        "integer",
+        "string",
         "null"
-      ],
-      "minimum": 0
+      ]
     }
   }
 }
-## OtlpGrpcMetricExporter +## ViewStream | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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.
| -| `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.
| -| `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` | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| `false` | 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.
| -| `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.
| -| `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. | +| `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).
| +| `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.
| +| `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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `compression` | supported | unknown | supported | unknown | -| `default_histogram_aggregation` | supported | unknown | supported | unknown | -| `endpoint` | supported | unknown | supported | unknown | -| `headers` | supported | unknown | supported | unknown | -| `headers_list` | supported | unknown | supported | unknown | -| `temporality_preference` | supported | unknown | supported | unknown | -| `timeout` | supported | unknown | supported | unknown | -| `tls` | supported | unknown | ignored | unknown | +| `aggregation` | supported | unknown | supported | unknown | +| `aggregation_cardinality_limit` | supported | unknown | supported | unknown | +| `attribute_keys` | supported | unknown | supported | unknown | +| `description` | supported | unknown | supported | unknown | +| `name` | supported | unknown | supported | unknown |
Constraints: @@ -4792,42 +5038,81 @@ Constraints: Usages: -* [`PushMetricExporter.otlp_grpc`](#pushmetricexporter) +* [`View.stream`](#view)
JSON Schema [JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": [
-    "object",
-    "null"
-  ],
+  "type": "object",
   "additionalProperties": false,
   "properties": {
-    "endpoint": {
+    "name": {
       "type": [
         "string",
         "null"
       ]
     },
-    "tls": {
-      "$ref": "common.json#/$defs/GrpcTls"
-    },
-    "headers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "common.json#/$defs/NameStringValuePair"
-      }
-    },
-    "headers_list": {
+    "description": {
       "type": [
         "string",
         "null"
       ]
     },
-    "compression": {
+    "aggregation": {
+      "$ref": "#/$defs/Aggregation"
+    },
+    "aggregation_cardinality_limit": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "exclusiveMinimum": 0
+    },
+    "attribute_keys": {
+      "$ref": "common.json#/$defs/IncludeExclude"
+    }
+  }
+}
+
+ +## ZipkinSpanExporter + +| 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.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `endpoint` | supported | unknown | supported | unknown | +| `timeout` | supported | unknown | supported | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`SpanExporter.zipkin`](#spanexporter) + +
+JSON Schema + +[JSON Schema Source File](./schema/tracer_provider.json) +
{
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false,
+  "properties": {
+    "endpoint": {
       "type": [
         "string",
         "null"
@@ -4839,82 +5124,92 @@ Usages:
         "null"
       ],
       "minimum": 0
-    },
-    "temporality_preference": {
-      "$ref": "#/$defs/ExporterTemporalityPreference"
-    },
-    "default_histogram_aggregation": {
-      "$ref": "#/$defs/ExporterDefaultHistogramAggregation"
     }
   }
 }
-## OtlpHttpEncoding +# Experimental Types -This is a enum type. +## ExperimentalComposableAlwaysOffSampler -| Value | Description | -|---|---| -| `json` | Protobuf JSON encoding. | -| `protobuf` | Protobuf binary encoding. | +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +No properties. + +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`ExperimentalComposableSampler.always_off`](#experimentalcomposablesampler)
-Language support status +JSON Schema -| Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `json` | supported | unknown | not_implemented | unknown | -| `protobuf` | supported | unknown | not_implemented | unknown | +[JSON Schema Source File](./schema/tracer_provider.json) +
{
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false
+}
-No constraints. +## ExperimentalComposableAlwaysOnSampler + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +No properties. + +Constraints: + +* `additionalProperties`: `false` Usages: -* [`OtlpHttpExporter.encoding`](#otlphttpexporter) -* [`OtlpHttpMetricExporter.encoding`](#otlphttpmetricexporter) +* [`ExperimentalComposableSampler.always_on`](#experimentalcomposablesampler)
JSON Schema -[JSON Schema Source File](./schema/common.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
   "type": [
-    "string",
+    "object",
     "null"
   ],
-  "enum": [
-    "protobuf",
-    "json"
-  ]
+  "additionalProperties": false
 }
-## OtlpHttpExporter +## ExperimentalComposableParentBasedSampler + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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.
| -| `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.
| -| `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` | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| `false` | 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.
| -| `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` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `local_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a local 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. | +| `remote_parent_not_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a remote parent that is not sampled. | +| `remote_parent_sampled` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with a remote parent that is sampled. | +| `root` | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configures the sampler for spans with no parent. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `compression` | supported | unknown | supported | unknown | -| `encoding` | supported | unknown | not_implemented | unknown | -| `endpoint` | supported | unknown | supported | unknown | -| `headers` | supported | unknown | supported | unknown | -| `headers_list` | supported | unknown | supported | unknown | -| `timeout` | supported | unknown | supported | unknown | -| `tls` | supported | unknown | ignored | unknown | +| `local_parent_not_sampled` | unknown | unknown | unknown | unknown | +| `local_parent_sampled` | unknown | unknown | unknown | unknown | +| `remote_parent_not_sampled` | unknown | unknown | unknown | unknown | +| `remote_parent_sampled` | unknown | unknown | unknown | unknown | +| `root` | unknown | unknown | unknown | unknown |
Constraints: @@ -4923,13 +5218,12 @@ Constraints: Usages: -* [`LogRecordExporter.otlp_http`](#logrecordexporter) -* [`SpanExporter.otlp_http`](#spanexporter) +* [`ExperimentalComposableSampler.parent_based`](#experimentalcomposablesampler)
JSON Schema -[JSON Schema Source File](./schema/common.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
   "type": [
     "object",
@@ -4937,78 +5231,40 @@ Usages:
   ],
   "additionalProperties": false,
   "properties": {
-    "endpoint": {
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "tls": {
-      "$ref": "#/$defs/HttpTls"
-    },
-    "headers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/NameStringValuePair"
-      }
+    "root": {
+      "$ref": "#/$defs/ExperimentalComposableSampler"
     },
-    "headers_list": {
-      "type": [
-        "string",
-        "null"
-      ]
+    "remote_parent_sampled": {
+      "$ref": "#/$defs/ExperimentalComposableSampler"
     },
-    "compression": {
-      "type": [
-        "string",
-        "null"
-      ]
+    "remote_parent_not_sampled": {
+      "$ref": "#/$defs/ExperimentalComposableSampler"
     },
-    "timeout": {
-      "type": [
-        "integer",
-        "null"
-      ],
-      "minimum": 0
+    "local_parent_sampled": {
+      "$ref": "#/$defs/ExperimentalComposableSampler"
     },
-    "encoding": {
-      "$ref": "#/$defs/OtlpHttpEncoding"
+    "local_parent_not_sampled": {
+      "$ref": "#/$defs/ExperimentalComposableSampler"
     }
   }
 }
-## OtlpHttpMetricExporter +## ExperimentalComposableProbabilitySampler + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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.
| -| `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.
| -| `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.
| -| `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` | * `minItems`: `1`
| Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
| -| `headers_list` | one of:
* `string`
* `null`
| `false` | 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.
| -| `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.
| -| `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` | [`HttpTls`](#httptls) | `false` | No constraints. | Configure TLS settings for the exporter. | +| `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) | |---|---|---|---|---| -| `compression` | supported | unknown | supported | unknown | -| `default_histogram_aggregation` | supported | unknown | supported | unknown | -| `encoding` | supported | unknown | not_implemented | unknown | -| `endpoint` | supported | unknown | supported | unknown | -| `endpoint` | supported | unknown | supported | unknown | -| `headers` | supported | unknown | supported | unknown | -| `headers_list` | supported | unknown | supported | unknown | -| `temporality_preference` | supported | unknown | supported | unknown | -| `timeout` | supported | unknown | supported | unknown | -| `tls` | supported | unknown | ignored | unknown | +| `ratio` | unknown | unknown | unknown | unknown |
Constraints: @@ -5017,12 +5273,12 @@ Constraints: Usages: -* [`PushMetricExporter.otlp_http`](#pushmetricexporter) +* [`ExperimentalComposableSampler.probability`](#experimentalcomposablesampler)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
   "type": [
     "object",
@@ -5030,75 +5286,93 @@ Usages:
   ],
   "additionalProperties": false,
   "properties": {
-    "endpoint": {
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "tls": {
-      "$ref": "common.json#/$defs/HttpTls"
-    },
-    "headers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "common.json#/$defs/NameStringValuePair"
-      }
-    },
-    "headers_list": {
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "compression": {
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "timeout": {
+    "ratio": {
       "type": [
-        "integer",
+        "number",
         "null"
       ],
-      "minimum": 0
+      "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. | +| `parent_based` | [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | `false` | No constraints. | Configure sampler to be parent_based. | +| `probability` | [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | `false` | No constraints. | Configure sampler to be probability. | + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `always_off` | unknown | unknown | unknown | unknown | +| `always_on` | unknown | unknown | unknown | unknown | +| `parent_based` | unknown | unknown | unknown | unknown | +| `probability` | 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"
     },
-    "encoding": {
-      "$ref": "common.json#/$defs/OtlpHttpEncoding"
+    "always_on": {
+      "$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler"
     },
-    "temporality_preference": {
-      "$ref": "#/$defs/ExporterTemporalityPreference"
+    "parent_based": {
+      "$ref": "#/$defs/ExperimentalComposableParentBasedSampler"
     },
-    "default_histogram_aggregation": {
-      "$ref": "#/$defs/ExporterDefaultHistogramAggregation"
+    "probability": {
+      "$ref": "#/$defs/ExperimentalComposableProbabilitySampler"
     }
   }
 }
-## ParentBasedSampler - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `local_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure local_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.
| -| `remote_parent_not_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure remote_parent_not_sampled sampler.
If omitted or null, always_off is used.
| -| `remote_parent_sampled` | [`Sampler`](#sampler) | `false` | No constraints. | Configure remote_parent_sampled sampler.
If omitted or null, always_on is used.
| -| `root` | [`Sampler`](#sampler) | `false` | No constraints. | Configure root sampler.
If omitted or null, always_on is used.
| +## ExperimentalContainerResourceDetector -
-Language support status +> [!WARNING] +> This type is [experimental](README.md#experimental-features). -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `local_parent_not_sampled` | supported | unknown | supported | unknown | -| `local_parent_sampled` | supported | unknown | supported | unknown | -| `remote_parent_not_sampled` | supported | unknown | supported | unknown | -| `remote_parent_sampled` | supported | unknown | supported | unknown | -| `root` | supported | unknown | supported | unknown | -
+No properties. Constraints: @@ -5106,125 +5380,111 @@ Constraints: Usages: -* [`Sampler.parent_based`](#sampler) +* [`ExperimentalResourceDetector.container`](#experimentalresourcedetector)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/resource.json)
{
   "type": [
     "object",
     "null"
   ],
-  "additionalProperties": false,
-  "properties": {
-    "root": {
-      "$ref": "#/$defs/Sampler"
-    },
-    "remote_parent_sampled": {
-      "$ref": "#/$defs/Sampler"
-    },
-    "remote_parent_not_sampled": {
-      "$ref": "#/$defs/Sampler"
-    },
-    "local_parent_sampled": {
-      "$ref": "#/$defs/Sampler"
-    },
-    "local_parent_not_sampled": {
-      "$ref": "#/$defs/Sampler"
-    }
-  }
+  "additionalProperties": false
 }
-## PeriodicMetricReader +## ExperimentalGeneralInstrumentation + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. | -| `exporter` | [`PushMetricExporter`](#pushmetricexporter) | `true` | No constraints. | Configure exporter. | -| `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.
| -| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | * `minItems`: `1`
| Configure metric producers. | -| `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.
| +| `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. | Configure instrumentations following the peer semantic conventions.
See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `cardinality_limits` | supported | unknown | supported | unknown | -| `exporter` | supported | unknown | supported | unknown | -| `interval` | supported | unknown | supported | unknown | -| `producers` | supported | unknown | not_implemented | unknown | -| `timeout` | supported | unknown | supported | unknown | +| `http` | not_applicable | unknown | supported | unknown | +| `peer` | not_applicable | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` -* `required`: `["exporter"]` Usages: -* [`MetricReader.periodic`](#metricreader) +* [`ExperimentalInstrumentation.general`](#experimentalinstrumentation)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/instrumentation.json)
{
   "type": "object",
   "additionalProperties": false,
   "properties": {
-    "interval": {
-      "type": [
-        "integer",
-        "null"
-      ],
-      "minimum": 0
-    },
-    "timeout": {
-      "type": [
-        "integer",
-        "null"
-      ],
-      "minimum": 0
-    },
-    "exporter": {
-      "$ref": "#/$defs/PushMetricExporter"
-    },
-    "producers": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/MetricProducer"
-      }
+    "peer": {
+      "$ref": "#/$defs/ExperimentalPeerInstrumentation"
     },
-    "cardinality_limits": {
-      "$ref": "#/$defs/CardinalityLimits"
+    "http": {
+      "$ref": "#/$defs/ExperimentalHttpInstrumentation"
     }
-  },
-  "required": [
-    "exporter"
-  ]
+  }
 }
-## Propagator +## ExperimentalHostResourceDetector + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +No properties. + +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`ExperimentalResourceDetector.host`](#experimentalresourcedetector) + +
+JSON Schema + +[JSON Schema Source File](./schema/resource.json) +
{
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false
+}
+
+ +## ExperimentalHttpClientInstrumentation + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `composite` | `array` of [`TextMapPropagator`](#textmappropagator) | `false` | * `minItems`: `1`
| 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.
| +| `request_captured_headers` | `array` of `string` | `false` | * `minItems`: `1`
| 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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `composite` | supported | unknown | supported | unknown | -| `composite_list` | supported | unknown | supported | unknown | +| `request_captured_headers` | not_applicable | unknown | supported | unknown | +| `response_captured_headers` | not_applicable | unknown | supported | unknown |
Constraints: @@ -5233,294 +5493,347 @@ Constraints: Usages: -* [`OpenTelemetryConfiguration.propagator`](#opentelemetryconfiguration) +* [`ExperimentalHttpInstrumentation.client`](#experimentalhttpinstrumentation)
JSON Schema -[JSON Schema Source File](./schema/propagator.json) +[JSON Schema Source File](./schema/instrumentation.json)
{
-  "$id": "https://opentelemetry.io/otelconfig/propagator.json",
-  "$schema": "https://json-schema.org/draft/2020-12/schema",
   "type": "object",
   "additionalProperties": false,
   "properties": {
-    "composite": {
+    "request_captured_headers": {
       "type": "array",
       "minItems": 1,
       "items": {
-        "$ref": "#/$defs/TextMapPropagator"
-      }
-    },
-    "composite_list": {
-      "type": [
-        "string",
-        "null"
-      ]
-    }
-  },
-  "$defs": {
-    "TextMapPropagator": {
-      "type": "object",
-      "additionalProperties": {
-        "type": [
-          "object",
-          "null"
-        ]
-      },
-      "minProperties": 1,
-      "maxProperties": 1,
-      "properties": {
-        "tracecontext": {
-          "$ref": "#/$defs/TraceContextPropagator"
-        },
-        "baggage": {
-          "$ref": "#/$defs/BaggagePropagator"
-        },
-        "b3": {
-          "$ref": "#/$defs/B3Propagator"
-        },
-        "b3multi": {
-          "$ref": "#/$defs/B3MultiPropagator"
-        },
-        "jaeger": {
-          "$ref": "#/$defs/JaegerPropagator"
-        },
-        "ottrace": {
-          "$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
+        "type": "string"
+      }
     },
-    "OpenTracingPropagator": {
-      "type": [
-        "object",
-        "null"
-      ],
-      "additionalProperties": false
+    "response_captured_headers": {
+      "type": "array",
+      "items": {
+        "type": "string"
+      }
     }
   }
 }
-## PullMetricExporter +## ExperimentalHttpInstrumentation -`PullMetricExporter` is an [SDK extension plugin](#sdk-extension-plugins). +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | 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.
| +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `prometheus/development` | supported | unknown | supported | unknown | +| `client` | not_applicable | unknown | supported | unknown | +| `server` | not_applicable | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` +* `additionalProperties`: `false` Usages: -* [`PullMetricReader.exporter`](#pullmetricreader) +* [`ExperimentalGeneralInstrumentation.http`](#experimentalgeneralinstrumentation)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/instrumentation.json)
{
   "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
+  "additionalProperties": false,
   "properties": {
-    "prometheus/development": {
-      "$ref": "#/$defs/ExperimentalPrometheusMetricExporter"
+    "client": {
+      "$ref": "#/$defs/ExperimentalHttpClientInstrumentation"
+    },
+    "server": {
+      "$ref": "#/$defs/ExperimentalHttpServerInstrumentation"
     }
   }
 }
-## PullMetricReader +## ExperimentalHttpServerInstrumentation + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `cardinality_limits` | [`CardinalityLimits`](#cardinalitylimits) | `false` | No constraints. | Configure cardinality limits. | -| `exporter` | [`PullMetricExporter`](#pullmetricexporter) | `true` | No constraints. | Configure exporter. | -| `producers` | `array` of [`MetricProducer`](#metricproducer) | `false` | * `minItems`: `1`
| Configure metric producers. | +| `request_captured_headers` | `array` of `string` | `false` | * `minItems`: `1`
| Configure headers to capture for inbound http requests.
| +| `response_captured_headers` | `array` of `string` | `false` | * `minItems`: `1`
| Configure headers to capture for outbound http responses.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `cardinality_limits` | supported | unknown | supported | unknown | -| `exporter` | supported | unknown | supported | unknown | -| `producers` | supported | unknown | not_implemented | unknown | +| `request_captured_headers` | not_applicable | unknown | supported | unknown | +| `response_captured_headers` | not_applicable | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` -* `required`: `["exporter"]` Usages: -* [`MetricReader.pull`](#metricreader) +* [`ExperimentalHttpInstrumentation.server`](#experimentalhttpinstrumentation)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/instrumentation.json)
{
   "type": "object",
   "additionalProperties": false,
   "properties": {
-    "exporter": {
-      "$ref": "#/$defs/PullMetricExporter"
-    },
-    "producers": {
+    "request_captured_headers": {
       "type": "array",
       "minItems": 1,
       "items": {
-        "$ref": "#/$defs/MetricProducer"
+        "type": "string"
       }
     },
-    "cardinality_limits": {
-      "$ref": "#/$defs/CardinalityLimits"
+    "response_captured_headers": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "type": "string"
+      }
     }
-  },
-  "required": [
-    "exporter"
-  ]
+  }
 }
-## PushMetricExporter +## ExperimentalInstrumentation -`PushMetricExporter` is an [SDK extension plugin](#sdk-extension-plugins). +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `console` | [`ConsoleMetricExporter`](#consolemetricexporter) | `false` | No constraints. | Configure exporter to be console.
| -| `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.
| -| `otlp_grpc` | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport.
| -| `otlp_http` | [`OtlpHttpMetricExporter`](#otlphttpmetricexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP transport.
| +| `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.
| +| `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..
| +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `console` | supported | unknown | supported | unknown | -| `otlp_file/development` | supported | unknown | supported | unknown | -| `otlp_grpc` | supported | unknown | supported | unknown | -| `otlp_http` | supported | unknown | supported | unknown | +| `cpp` | not_applicable | unknown | not_applicable | unknown | +| `dotnet` | not_applicable | unknown | not_applicable | unknown | +| `erlang` | not_applicable | unknown | not_applicable | unknown | +| `general` | not_applicable | unknown | supported | unknown | +| `go` | not_applicable | unknown | not_applicable | unknown | +| `java` | not_applicable | unknown | supported | unknown | +| `js` | not_applicable | unknown | not_applicable | unknown | +| `php` | not_applicable | unknown | not_applicable | unknown | +| `python` | not_applicable | unknown | not_applicable | unknown | +| `ruby` | not_applicable | unknown | not_applicable | unknown | +| `rust` | not_applicable | unknown | not_applicable | unknown | +| `swift` | not_applicable | unknown | not_applicable | unknown |
Constraints: -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` +* `additionalProperties`: `false` Usages: -* [`PeriodicMetricReader.exporter`](#periodicmetricreader) +* [`OpenTelemetryConfiguration.instrumentation/development`](#opentelemetryconfiguration)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/instrumentation.json)
{
+  "$id": "https://opentelemetry.io/otelconfig/instrumentation.json",
+  "$schema": "https://json-schema.org/draft/2020-12/schema",
   "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
+  "additionalProperties": false,
   "properties": {
-    "otlp_http": {
-      "$ref": "#/$defs/OtlpHttpMetricExporter"
+    "general": {
+      "$ref": "#/$defs/ExperimentalGeneralInstrumentation"
     },
-    "otlp_grpc": {
-      "$ref": "#/$defs/OtlpGrpcMetricExporter"
+    "cpp": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "dotnet": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "erlang": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "go": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "java": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "js": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "php": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "python": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "ruby": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "rust": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    },
+    "swift": {
+      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation"
+    }
+  },
+  "$defs": {
+    "ExperimentalGeneralInstrumentation": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "peer": {
+          "$ref": "#/$defs/ExperimentalPeerInstrumentation"
+        },
+        "http": {
+          "$ref": "#/$defs/ExperimentalHttpInstrumentation"
+        }
+      }
+    },
+    "ExperimentalPeerInstrumentation": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "service_mapping": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "$ref": "#/$defs/ExperimentalPeerServiceMapping"
+          }
+        }
+      }
+    },
+    "ExperimentalPeerServiceMapping": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "peer": {
+          "type": "string"
+        },
+        "service": {
+          "type": "string"
+        }
+      },
+      "required": [
+        "peer",
+        "service"
+      ]
+    },
+    "ExperimentalHttpClientInstrumentation": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "request_captured_headers": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "type": "string"
+          }
+        },
+        "response_captured_headers": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        }
+      }
+    },
+    "ExperimentalHttpServerInstrumentation": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "request_captured_headers": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "type": "string"
+          }
+        },
+        "response_captured_headers": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "type": "string"
+          }
+        }
+      }
     },
-    "otlp_file/development": {
-      "$ref": "#/$defs/ExperimentalOtlpFileMetricExporter"
+    "ExperimentalHttpInstrumentation": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "client": {
+          "$ref": "#/$defs/ExperimentalHttpClientInstrumentation"
+        },
+        "server": {
+          "$ref": "#/$defs/ExperimentalHttpServerInstrumentation"
+        }
+      }
     },
-    "console": {
-      "$ref": "#/$defs/ConsoleMetricExporter"
+    "ExperimentalLanguageSpecificInstrumentation": {
+      "type": "object",
+      "additionalProperties": {
+        "type": "object"
+      }
     }
   }
 }
-## Resource +## ExperimentalJaegerRemoteSampler + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `attributes` | `array` of [`AttributeNameValue`](#attributenamevalue) | `false` | * `minItems`: `1`
| Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
| -| `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.
| -| `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.
| +| `endpoint` | one of:
* `string`
* `null`
| `false` | No constraints. | TODO | +| `initial_sampler` | [`Sampler`](#sampler) | `false` | No constraints. | TODO | +| `interval` | one of:
* `integer`
* `null`
| `false` | * `minimum`: `0`
| TODO |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `attributes` | supported | unknown | supported | unknown | -| `attributes_list` | supported | unknown | supported | unknown | -| `detection/development` | supported | unknown | supported | unknown | -| `schema_url` | supported | unknown | ignored | unknown | +| `endpoint` | not_implemented | unknown | ignored | unknown | +| `initial_sampler` | not_implemented | unknown | ignored | unknown | +| `interval` | not_implemented | unknown | ignored | unknown |
Constraints: @@ -5529,561 +5842,457 @@ Constraints: Usages: -* [`OpenTelemetryConfiguration.resource`](#opentelemetryconfiguration) +* [`Sampler.jaeger_remote/development`](#sampler)
JSON Schema -[JSON Schema Source File](./schema/resource.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
-  "$id": "https://opentelemetry.io/otelconfig/resource.json",
-  "$schema": "https://json-schema.org/draft/2020-12/schema",
-  "type": "object",
+  "type": [
+    "object",
+    "null"
+  ],
   "additionalProperties": false,
   "properties": {
-    "attributes": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/AttributeNameValue"
-      }
-    },
-    "detection/development": {
-      "$ref": "#/$defs/ExperimentalResourceDetection"
-    },
-    "schema_url": {
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "attributes_list": {
-      "type": [
-        "string",
-        "null"
-      ]
-    }
-  },
-  "$defs": {
-    "AttributeNameValue": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "name": {
-          "type": "string"
-        },
-        "value": {
-          "oneOf": [
-            {
-              "type": "string"
-            },
-            {
-              "type": "number"
-            },
-            {
-              "type": "boolean"
-            },
-            {
-              "type": "null"
-            },
-            {
-              "type": "array",
-              "items": {
-                "type": "string"
-              },
-              "minItems": 1
-            },
-            {
-              "type": "array",
-              "items": {
-                "type": "boolean"
-              },
-              "minItems": 1
-            },
-            {
-              "type": "array",
-              "items": {
-                "type": "number"
-              },
-              "minItems": 1
-            }
-          ]
-        },
-        "type": {
-          "$ref": "#/$defs/AttributeType"
-        }
-      },
-      "required": [
-        "name",
-        "value"
-      ]
-    },
-    "AttributeType": {
+    "endpoint": {
       "type": [
         "string",
         "null"
-      ],
-      "enum": [
-        "string",
-        "bool",
-        "int",
-        "double",
-        "string_array",
-        "bool_array",
-        "int_array",
-        "double_array"
       ]
     },
-    "ExperimentalResourceDetection": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "attributes": {
-          "$ref": "common.json#/$defs/IncludeExclude"
-        },
-        "detectors": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "$ref": "#/$defs/ExperimentalResourceDetector"
-          }
-        }
-      }
-    },
-    "ExperimentalResourceDetector": {
-      "type": "object",
-      "additionalProperties": {
-        "type": [
-          "object",
-          "null"
-        ]
-      },
-      "minProperties": 1,
-      "maxProperties": 1,
-      "properties": {
-        "container": {
-          "$ref": "#/$defs/ExperimentalContainerResourceDetector"
-        },
-        "host": {
-          "$ref": "#/$defs/ExperimentalHostResourceDetector"
-        },
-        "process": {
-          "$ref": "#/$defs/ExperimentalProcessResourceDetector"
-        },
-        "service": {
-          "$ref": "#/$defs/ExperimentalServiceResourceDetector"
-        }
-      }
-    },
-    "ExperimentalContainerResourceDetector": {
+    "interval": {
       "type": [
-        "object",
+        "integer",
         "null"
       ],
-      "additionalProperties": false
+      "minimum": 0
     },
-    "ExperimentalHostResourceDetector": {
+    "initial_sampler": {
+      "$ref": "#/$defs/Sampler"
+    }
+  }
+}
+
+ +## ExperimentalLanguageSpecificInstrumentation + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +No properties. + +Constraints: + +* `additionalProperties`: `{"type":"object"}` + +Usages: + +* [`ExperimentalInstrumentation.cpp`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.dotnet`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.erlang`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.go`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.java`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.js`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.php`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.python`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.ruby`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.rust`](#experimentalinstrumentation) +* [`ExperimentalInstrumentation.swift`](#experimentalinstrumentation) + +
+JSON Schema + +[JSON Schema Source File](./schema/instrumentation.json) +
{
+  "type": "object",
+  "additionalProperties": {
+    "type": "object"
+  }
+}
+
+ +## ExperimentalLoggerConfig + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `disabled` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure if the logger is enabled or not.
If omitted or null, false is used.
| +| `minimum_severity` | [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | `false` | No constraints. | Configure severity filtering.
Log records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed.
Values include: TRACE, TRACE2, TRACE3, TRACE4, DEBUG, DEBUG2, DEBUG3, DEBUG4, INFO, INFO2, INFO3, INFO4, WARN, WARN2, WARN3, WARN4, ERROR, ERROR2, ERROR3, ERROR4, FATAL, FATAL2, FATAL3, FATAL4.
If omitted or null, severity filtering is not applied.
| +| `trace_based` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure trace based filtering.
If true, log records associated with unsampled trace contexts traces are not processed. If false, or if a log record is not associated with a trace context, trace based filtering is not applied.
If omitted or null, trace based filtering is not applied.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `disabled` | not_implemented | unknown | supported | unknown | +| `minimum_severity` | not_implemented | unknown | not_implemented | unknown | +| `trace_based` | not_implemented | unknown | not_implemented | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`ExperimentalLoggerConfigurator.default_config`](#experimentalloggerconfigurator) +* [`ExperimentalLoggerMatcherAndConfig.config`](#experimentalloggermatcherandconfig) + +
+JSON Schema + +[JSON Schema Source File](./schema/logger_provider.json) +
{
+  "type": [
+    "object"
+  ],
+  "additionalProperties": false,
+  "properties": {
+    "disabled": {
       "type": [
-        "object",
+        "boolean",
         "null"
-      ],
-      "additionalProperties": false
+      ]
     },
-    "ExperimentalProcessResourceDetector": {
-      "type": [
-        "object",
-        "null"
-      ],
-      "additionalProperties": false
+    "minimum_severity": {
+      "$ref": "#/$defs/ExperimentalSeverityNumber"
     },
-    "ExperimentalServiceResourceDetector": {
+    "trace_based": {
       "type": [
-        "object",
+        "boolean",
         "null"
-      ],
-      "additionalProperties": false
+      ]
     }
   }
 }
-## Sampler +## ExperimentalLoggerConfigurator -`Sampler` is an [SDK extension plugin](#sdk-extension-plugins). +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | 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. | -| `composite/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | `false` | No constraints. | Configure sampler to be composite. | -| `jaeger_remote/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | `false` | No constraints. | TODO | -| `parent_based` | [`ParentBasedSampler`](#parentbasedsampler) | `false` | No constraints. | Configure sampler to be parent_based. | -| `probability/development`
**WARNING:** This property is [experimental](README.md#experimental-features). | [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | `false` | No constraints. | Configure sampler to be probability. | -| `trace_id_ratio_based` | [`TraceIdRatioBasedSampler`](#traceidratiobasedsampler) | `false` | No constraints. | Configure sampler to be trace_id_ratio_based. | +| `default_config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `false` | No constraints. | Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. | +| `loggers` | `array` of [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | `false` | * `minItems`: `1`
| Configure loggers. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `always_off` | supported | unknown | supported | unknown | -| `always_on` | supported | unknown | supported | unknown | -| `composite/development` | supported | unknown | supported | unknown | -| `jaeger_remote/development` | supported | unknown | supported | unknown | -| `parent_based` | supported | unknown | supported | unknown | -| `probability/development` | supported | unknown | ignored | unknown | -| `trace_id_ratio_based` | supported | unknown | supported | unknown | +| `default_config` | not_implemented | unknown | supported | unknown | +| `loggers` | not_implemented | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` +* `additionalProperties`: `false` Usages: -* [`TracerProvider.sampler`](#tracerprovider) -* [`ExperimentalJaegerRemoteSampler.initial_sampler`](#experimentaljaegerremotesampler) -* [`ParentBasedSampler.root`](#parentbasedsampler) -* [`ParentBasedSampler.remote_parent_sampled`](#parentbasedsampler) -* [`ParentBasedSampler.remote_parent_not_sampled`](#parentbasedsampler) -* [`ParentBasedSampler.local_parent_sampled`](#parentbasedsampler) -* [`ParentBasedSampler.local_parent_not_sampled`](#parentbasedsampler) +* [`LoggerProvider.logger_configurator/development`](#loggerprovider)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/logger_provider.json)
{
-  "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
+  "type": [
+    "object"
+  ],
+  "additionalProperties": false,
   "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"
+    "default_config": {
+      "$ref": "#/$defs/ExperimentalLoggerConfig"
     },
-    "trace_id_ratio_based": {
-      "$ref": "#/$defs/TraceIdRatioBasedSampler"
+    "loggers": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig"
+      }
     }
   }
 }
-## SimpleLogRecordProcessor +## ExperimentalLoggerMatcherAndConfig + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`LogRecordExporter`](#logrecordexporter) | `true` | No constraints. | Configure exporter. | +| `config` | [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | `true` | No constraints. | The logger config. | +| `name` | `string` | `true` | 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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `exporter` | supported | unknown | supported | unknown | +| `config` | not_implemented | unknown | supported | unknown | +| `name` | not_implemented | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` -* `required`: `["exporter"]` +* `required`: `["name","config"]` Usages: -* [`LogRecordProcessor.simple`](#logrecordprocessor) +* [`ExperimentalLoggerConfigurator.loggers`](#experimentalloggerconfigurator)
JSON Schema [JSON Schema Source File](./schema/logger_provider.json)
{
-  "type": "object",
+  "type": [
+    "object"
+  ],
   "additionalProperties": false,
   "properties": {
-    "exporter": {
-      "$ref": "#/$defs/LogRecordExporter"
+    "name": {
+      "type": [
+        "string"
+      ]
+    },
+    "config": {
+      "$ref": "#/$defs/ExperimentalLoggerConfig"
     }
   },
   "required": [
-    "exporter"
+    "name",
+    "config"
   ]
 }
-## SimpleSpanProcessor +## ExperimentalMeterConfig + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `exporter` | [`SpanExporter`](#spanexporter) | `true` | No constraints. | Configure exporter. | +| `disabled` | `boolean` | `false` | No constraints. | Configure if the meter is enabled or not. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `exporter` | supported | unknown | supported | unknown | +| `disabled` | not_implemented | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` -* `required`: `["exporter"]` Usages: -* [`SpanProcessor.simple`](#spanprocessor) +* [`ExperimentalMeterConfigurator.default_config`](#experimentalmeterconfigurator) +* [`ExperimentalMeterMatcherAndConfig.config`](#experimentalmetermatcherandconfig)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": "object",
+  "type": [
+    "object"
+  ],
   "additionalProperties": false,
   "properties": {
-    "exporter": {
-      "$ref": "#/$defs/SpanExporter"
+    "disabled": {
+      "type": [
+        "boolean"
+      ]
     }
-  },
-  "required": [
-    "exporter"
-  ]
+  }
 }
-## SpanExporter +## ExperimentalMeterConfigurator -`SpanExporter` is an [SDK extension plugin](#sdk-extension-plugins). +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `console` | [`ConsoleExporter`](#consoleexporter) | `false` | No constraints. | Configure exporter to be console. | -| `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_grpc` | [`OtlpGrpcExporter`](#otlpgrpcexporter) | `false` | No constraints. | Configure exporter to be OTLP with gRPC transport. | -| `otlp_http` | [`OtlpHttpExporter`](#otlphttpexporter) | `false` | No constraints. | Configure exporter to be OTLP with HTTP transport. | -| `zipkin` | [`ZipkinSpanExporter`](#zipkinspanexporter) | `false` | No constraints. | Configure exporter to be zipkin. | +| `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` | * `minItems`: `1`
| Configure meters. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `console` | supported | unknown | supported | unknown | -| `otlp_file/development` | supported | unknown | supported | unknown | -| `otlp_grpc` | supported | unknown | supported | unknown | -| `otlp_http` | supported | unknown | supported | unknown | -| `zipkin` | supported | unknown | supported | unknown | +| `default_config` | not_implemented | unknown | supported | unknown | +| `meters` | not_implemented | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` +* `additionalProperties`: `false` Usages: -* [`BatchSpanProcessor.exporter`](#batchspanprocessor) -* [`SimpleSpanProcessor.exporter`](#simplespanprocessor) +* [`MeterProvider.meter_configurator/development`](#meterprovider)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
+  "type": [
+    "object"
+  ],
+  "additionalProperties": false,
   "properties": {
-    "otlp_http": {
-      "$ref": "common.json#/$defs/OtlpHttpExporter"
-    },
-    "otlp_grpc": {
-      "$ref": "common.json#/$defs/OtlpGrpcExporter"
-    },
-    "otlp_file/development": {
-      "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter"
-    },
-    "console": {
-      "$ref": "common.json#/$defs/ConsoleExporter"
+    "default_config": {
+      "$ref": "#/$defs/ExperimentalMeterConfig"
     },
-    "zipkin": {
-      "$ref": "#/$defs/ZipkinSpanExporter"
+    "meters": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig"
+      }
     }
   }
 }
-## SpanLimits +## ExperimentalMeterMatcherAndConfig -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `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.
| -| `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.
| -| `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_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.
| -| `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.
| +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `config` | [`ExperimentalMeterConfig`](#experimentalmeterconfig) | `true` | No constraints. | The meter config. | +| `name` | `string` | `true` | 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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `attribute_count_limit` | supported | unknown | supported | unknown | -| `attribute_value_length_limit` | supported | unknown | supported | unknown | -| `event_attribute_count_limit` | supported | unknown | supported | unknown | -| `event_count_limit` | supported | unknown | supported | unknown | -| `link_attribute_count_limit` | supported | unknown | supported | unknown | -| `link_count_limit` | supported | unknown | supported | unknown | +| `config` | not_implemented | unknown | supported | unknown | +| `name` | not_implemented | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` +* `required`: `["name","config"]` Usages: -* [`TracerProvider.limits`](#tracerprovider) +* [`ExperimentalMeterConfigurator.meters`](#experimentalmeterconfigurator)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/meter_provider.json)
{
-  "type": "object",
+  "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": {
+    "name": {
       "type": [
-        "integer",
-        "null"
-      ],
-      "minimum": 0
+        "string"
+      ]
     },
-    "link_attribute_count_limit": {
-      "type": [
-        "integer",
-        "null"
-      ],
-      "minimum": 0
+    "config": {
+      "$ref": "#/$defs/ExperimentalMeterConfig"
     }
-  }
+  },
+  "required": [
+    "name",
+    "config"
+  ]
 }
-## SpanProcessor +## ExperimentalOtlpFileExporter -`SpanProcessor` is an [SDK extension plugin](#sdk-extension-plugins). +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | 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. | +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `batch` | supported | unknown | supported | unknown | -| `simple` | supported | unknown | supported | unknown | +| `output_stream` | supported | unknown | not_implemented | unknown |
Constraints: -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` +* `additionalProperties`: `false` Usages: -* [`TracerProvider.processors`](#tracerprovider) +* [`LogRecordExporter.otlp_file/development`](#logrecordexporter) +* [`SpanExporter.otlp_file/development`](#spanexporter)
JSON Schema -[JSON Schema Source File](./schema/tracer_provider.json) +[JSON Schema Source File](./schema/common.json)
{
-  "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false,
   "properties": {
-    "batch": {
-      "$ref": "#/$defs/BatchSpanProcessor"
-    },
-    "simple": {
-      "$ref": "#/$defs/SimpleSpanProcessor"
+    "output_stream": {
+      "type": [
+        "string",
+        "null"
+      ]
     }
   }
 }
-## SumAggregation +## ExperimentalOtlpFileMetricExporter -No properties. +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `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. | 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.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `default_histogram_aggregation` | supported | unknown | supported | unknown | +| `output_stream` | supported | unknown | not_implemented | unknown | +| `temporality_preference` | supported | unknown | supported | unknown | +
Constraints: @@ -6091,7 +6300,7 @@ Constraints: Usages: -* [`Aggregation.sum`](#aggregation) +* [`PushMetricExporter.otlp_file/development`](#pushmetricexporter)
JSON Schema @@ -6102,120 +6311,133 @@ Usages: "object", "null" ], - "additionalProperties": false + "additionalProperties": false, + "properties": { + "output_stream": { + "type": [ + "string", + "null" + ] + }, + "temporality_preference": { + "$ref": "#/$defs/ExporterTemporalityPreference" + }, + "default_histogram_aggregation": { + "$ref": "#/$defs/ExporterDefaultHistogramAggregation" + } + } }
-## TextMapPropagator +## ExperimentalPeerInstrumentation -`TextMapPropagator` is an [SDK extension plugin](#sdk-extension-plugins). +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `b3` | [`B3Propagator`](#b3propagator) | `false` | No constraints. | Include the zipkin b3 propagator. | -| `b3multi` | [`B3MultiPropagator`](#b3multipropagator) | `false` | No constraints. | Include the zipkin b3 multi propagator. | -| `baggage` | [`BaggagePropagator`](#baggagepropagator) | `false` | No constraints. | Include the w3c baggage 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. | Include the w3c trace context propagator. | +| `service_mapping` | `array` of [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | `false` | * `minItems`: `1`
| 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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `b3` | supported | unknown | supported | unknown | -| `b3multi` | supported | unknown | supported | unknown | -| `baggage` | supported | unknown | supported | unknown | -| `jaeger` | supported | unknown | supported | unknown | -| `ottrace` | supported | unknown | supported | unknown | -| `tracecontext` | supported | unknown | supported | unknown | +| `service_mapping` | not_implemented | unknown | supported | unknown |
Constraints: -* `additionalProperties`: `{"type":["object","null"]}` -* `minProperties`: `1` -* `maxProperties`: `1` +* `additionalProperties`: `false` Usages: -* [`Propagator.composite`](#propagator) +* [`ExperimentalGeneralInstrumentation.peer`](#experimentalgeneralinstrumentation)
JSON Schema -[JSON Schema Source File](./schema/propagator.json) +[JSON Schema Source File](./schema/instrumentation.json)
{
   "type": "object",
-  "additionalProperties": {
-    "type": [
-      "object",
-      "null"
-    ]
-  },
-  "minProperties": 1,
-  "maxProperties": 1,
+  "additionalProperties": false,
   "properties": {
-    "tracecontext": {
-      "$ref": "#/$defs/TraceContextPropagator"
-    },
-    "baggage": {
-      "$ref": "#/$defs/BaggagePropagator"
-    },
-    "b3": {
-      "$ref": "#/$defs/B3Propagator"
-    },
-    "b3multi": {
-      "$ref": "#/$defs/B3MultiPropagator"
-    },
-    "jaeger": {
-      "$ref": "#/$defs/JaegerPropagator"
-    },
-    "ottrace": {
-      "$ref": "#/$defs/OpenTracingPropagator"
+    "service_mapping": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/ExperimentalPeerServiceMapping"
+      }
     }
   }
 }
-## TraceContextPropagator +## ExperimentalPeerServiceMapping -No properties. +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +| 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.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `peer` | not_implemented | unknown | supported | unknown | +| `service` | not_implemented | unknown | supported | unknown | +
Constraints: * `additionalProperties`: `false` +* `required`: `["peer","service"]` Usages: -* [`TextMapPropagator.tracecontext`](#textmappropagator) +* [`ExperimentalPeerInstrumentation.service_mapping`](#experimentalpeerinstrumentation)
JSON Schema -[JSON Schema Source File](./schema/propagator.json) +[JSON Schema Source File](./schema/instrumentation.json)
{
-  "type": [
-    "object",
-    "null"
-  ],
-  "additionalProperties": false
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "peer": {
+      "type": "string"
+    },
+    "service": {
+      "type": "string"
+    }
+  },
+  "required": [
+    "peer",
+    "service"
+  ]
 }
-## TraceIdRatioBasedSampler +## ExperimentalProbabilitySampler + +> [!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 trace_id_ratio.
If omitted or null, 1.0 is used.
| +| `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` | supported | unknown | supported | unknown | +| `ratio` | not_implemented | unknown | ignored | unknown |
Constraints: @@ -6224,7 +6446,7 @@ Constraints: Usages: -* [`Sampler.trace_id_ratio_based`](#sampler) +* [`Sampler.probability/development`](#sampler)
JSON Schema @@ -6249,570 +6471,390 @@ Usages: }
-## TracerProvider - -| Property | Type | Required? | Constraints | Description | -|---|---|---|---|---| -| `limits` | [`SpanLimits`](#spanlimits) | `false` | No constraints. | Configure span limits. See also attribute_limits. | -| `processors` | `array` of [`SpanProcessor`](#spanprocessor) | `true` | * `minItems`: `1`
| Configure span processors. | -| `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.
| +## ExperimentalProcessResourceDetector -
-Language support status +> [!WARNING] +> This type is [experimental](README.md#experimental-features). -| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | -|---|---|---|---|---| -| `limits` | supported | unknown | supported | unknown | -| `processors` | supported | unknown | supported | unknown | -| `sampler` | supported | unknown | supported | unknown | -| `tracer_configurator/development` | supported | unknown | supported | unknown | -
+No properties. Constraints: -* `additionalProperties`: `false` -* `required`: `["processors"]` - -Usages: - -* [`OpenTelemetryConfiguration.tracer_provider`](#opentelemetryconfiguration) - -
-JSON Schema - -[JSON Schema Source File](./schema/tracer_provider.json) -
{
-  "$id": "https://opentelemetry.io/otelconfig/tracer_provider.json",
-  "$schema": "https://json-schema.org/draft/2020-12/schema",
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "processors": {
-      "type": "array",
-      "minItems": 1,
-      "items": {
-        "$ref": "#/$defs/SpanProcessor"
-      }
-    },
-    "limits": {
-      "$ref": "#/$defs/SpanLimits"
-    },
-    "sampler": {
-      "$ref": "#/$defs/Sampler"
-    },
-    "tracer_configurator/development": {
-      "$ref": "#/$defs/ExperimentalTracerConfigurator"
-    }
-  },
-  "required": [
-    "processors"
-  ],
-  "$defs": {
-    "BatchSpanProcessor": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "schedule_delay": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
-        },
-        "export_timeout": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
-        },
-        "max_queue_size": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "max_export_batch_size": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "exclusiveMinimum": 0
-        },
-        "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": {
-          "$ref": "#/$defs/Sampler"
-        },
-        "remote_parent_sampled": {
-          "$ref": "#/$defs/Sampler"
-        },
-        "remote_parent_not_sampled": {
-          "$ref": "#/$defs/Sampler"
-        },
-        "local_parent_sampled": {
-          "$ref": "#/$defs/Sampler"
-        },
-        "local_parent_not_sampled": {
-          "$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": {
+* `additionalProperties`: `false`
+
+Usages:
+
+* [`ExperimentalResourceDetector.process`](#experimentalresourcedetector)
+
+
+JSON Schema + +[JSON Schema Source File](./schema/resource.json) +
{
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false
+}
+
+ +## ExperimentalPrometheusMetricExporter + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +| 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.
| +| `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.
| +| `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. | +| `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.
| +| `without_target_info` | one of:
* `boolean`
* `null`
| `false` | No constraints. | Configure Prometheus Exporter to produce metrics without a target info metric for the resource.
If omitted or null, false is used.
| + +
+Language support status + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `host` | supported | unknown | supported | unknown | +| `port` | supported | unknown | supported | unknown | +| `translation_strategy` | supported | unknown | not_implemented | unknown | +| `with_resource_constant_labels` | supported | unknown | supported | unknown | +| `without_scope_info` | unknown | unknown | ignored | unknown | +| `without_target_info` | unknown | unknown | ignored | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`PullMetricExporter.prometheus/development`](#pullmetricexporter) + +
+JSON Schema + +[JSON Schema Source File](./schema/meter_provider.json) +
{
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false,
+  "properties": {
+    "host": {
       "type": [
-        "object",
+        "string",
         "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": {
+    "port": {
       "type": [
-        "object",
+        "integer",
         "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": {
-          "$ref": "common.json#/$defs/OtlpHttpExporter"
-        },
-        "otlp_grpc": {
-          "$ref": "common.json#/$defs/OtlpGrpcExporter"
-        },
-        "otlp_file/development": {
-          "$ref": "common.json#/$defs/ExperimentalOtlpFileExporter"
-        },
-        "console": {
-          "$ref": "common.json#/$defs/ConsoleExporter"
-        },
-        "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": {
-          "$ref": "#/$defs/BatchSpanProcessor"
-        },
-        "simple": {
-          "$ref": "#/$defs/SimpleSpanProcessor"
-        }
-      }
-    },
-    "ZipkinSpanExporter": {
+    "without_scope_info": {
       "type": [
-        "object",
+        "boolean",
         "null"
-      ],
-      "additionalProperties": false,
-      "properties": {
-        "endpoint": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
-        "timeout": {
-          "type": [
-            "integer",
-            "null"
-          ],
-          "minimum": 0
-        }
-      }
+      ]
     },
-    "ExperimentalTracerConfigurator": {
+    "without_target_info": {
       "type": [
-        "object"
-      ],
-      "additionalProperties": false,
-      "properties": {
-        "default_config": {
-          "$ref": "#/$defs/ExperimentalTracerConfig"
-        },
-        "tracers": {
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig"
-          }
-        }
-      }
+        "boolean",
+        "null"
+      ]
     },
-    "ExperimentalTracerMatcherAndConfig": {
+    "with_resource_constant_labels": {
+      "$ref": "common.json#/$defs/IncludeExclude"
+    },
+    "translation_strategy": {
       "type": [
-        "object"
+        "string",
+        "null"
       ],
-      "additionalProperties": false,
-      "properties": {
-        "name": {
-          "type": [
-            "string"
-          ]
-        },
-        "config": {
-          "$ref": "#/$defs/ExperimentalTracerConfig"
-        }
-      },
-      "required": [
-        "name",
-        "config"
+      "enum": [
+        "UnderscoreEscapingWithSuffixes",
+        "UnderscoreEscapingWithoutSuffixes",
+        "NoUTF8EscapingWithSuffixes",
+        "NoTranslation"
       ]
+    }
+  }
+}
+
+ +## ExperimentalResourceDetection + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +| Property | Type | Required? | Constraints | Description | +|---|---|---|---|---| +| `attributes` | [`IncludeExclude`](#includeexclude) | `false` | No constraints. | Configure attributes provided by resource detectors. | +| `detectors` | `array` of [`ExperimentalResourceDetector`](#experimentalresourcedetector) | `false` | * `minItems`: `1`
| 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 + +| Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `attributes` | not_implemented | unknown | supported | unknown | +| `detectors` | not_implemented | unknown | supported | unknown | +
+ +Constraints: + +* `additionalProperties`: `false` + +Usages: + +* [`Resource.detection/development`](#resource) + +
+JSON Schema + +[JSON Schema Source File](./schema/resource.json) +
{
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "attributes": {
+      "$ref": "common.json#/$defs/IncludeExclude"
     },
-    "ExperimentalTracerConfig": {
-      "type": [
-        "object"
-      ],
-      "additionalProperties": false,
-      "properties": {
-        "disabled": {
-          "type": [
-            "boolean"
-          ]
-        }
+    "detectors": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/ExperimentalResourceDetector"
       }
     }
   }
 }
-## View +## ExperimentalResourceDetector + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +`ExperimentalResourceDetector` is an [SDK extension plugin](#sdk-extension-plugins). | 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. | +| `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 | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `selector` | supported | unknown | supported | unknown | -| `stream` | supported | unknown | supported | unknown | +| `container` | not_implemented | unknown | supported | unknown | +| `host` | not_implemented | unknown | supported | unknown | +| `process` | not_implemented | unknown | supported | unknown | +| `service` | not_implemented | unknown | supported | unknown | +
+ +Constraints: + +* `additionalProperties`: `{"type":["object","null"]}` +* `minProperties`: `1` +* `maxProperties`: `1` + +Usages: + +* [`ExperimentalResourceDetection.detectors`](#experimentalresourcedetection) + +
+JSON Schema + +[JSON Schema Source File](./schema/resource.json) +
{
+  "type": "object",
+  "additionalProperties": {
+    "type": [
+      "object",
+      "null"
+    ]
+  },
+  "minProperties": 1,
+  "maxProperties": 1,
+  "properties": {
+    "container": {
+      "$ref": "#/$defs/ExperimentalContainerResourceDetector"
+    },
+    "host": {
+      "$ref": "#/$defs/ExperimentalHostResourceDetector"
+    },
+    "process": {
+      "$ref": "#/$defs/ExperimentalProcessResourceDetector"
+    },
+    "service": {
+      "$ref": "#/$defs/ExperimentalServiceResourceDetector"
+    }
+  }
+}
+## ExperimentalServiceResourceDetector + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +No properties. + Constraints: * `additionalProperties`: `false` -* `required`: `["selector","stream"]` Usages: -* [`MeterProvider.views`](#meterprovider) +* [`ExperimentalResourceDetector.service`](#experimentalresourcedetector) + +
+JSON Schema + +[JSON Schema Source File](./schema/resource.json) +
{
+  "type": [
+    "object",
+    "null"
+  ],
+  "additionalProperties": false
+}
+
+ +## ExperimentalSeverityNumber + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). + +This is a enum type. + +| Value | Description | +|---|---| +| `DEBUG` | DEBUG, severity number 5. | +| `DEBUG2` | DEBUG2, severity number 6. | +| `DEBUG3` | DEBUG3, severity number 7. | +| `DEBUG4` | DEBUG4, severity number 8. | +| `ERROR` | ERROR, severity number 17. | +| `ERROR2` | ERROR2, severity number 18. | +| `ERROR3` | ERROR3, severity number 19. | +| `ERROR4` | ERROR4, severity number 20. | +| `FATAL` | FATAL, severity number 21. | +| `FATAL2` | FATAL2, severity number 22. | +| `FATAL3` | FATAL3, severity number 23. | +| `FATAL4` | FATAL4, severity number 24. | +| `INFO` | INFO, severity number 9. | +| `INFO2` | INFO2, severity number 10. | +| `INFO3` | INFO3, severity number 11. | +| `INFO4` | INFO4, severity number 12. | +| `TRACE` | TRACE, severity number 1. | +| `TRACE2` | TRACE2, severity number 2. | +| `TRACE3` | TRACE3, severity number 3. | +| `TRACE4` | TRACE4, severity number 4. | +| `WARN` | WARN, severity number 13. | +| `WARN2` | WARN2, severity number 14. | +| `WARN3` | WARN3, severity number 15. | +| `WARN4` | WARN4, severity number 16. | + +
+Language support status + +| Value | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | +|---|---|---|---|---| +| `DEBUG` | unknown | unknown | unknown | unknown | +| `DEBUG2` | unknown | unknown | unknown | unknown | +| `DEBUG3` | unknown | unknown | unknown | unknown | +| `DEBUG4` | unknown | unknown | unknown | unknown | +| `ERROR` | unknown | unknown | unknown | unknown | +| `ERROR2` | unknown | unknown | unknown | unknown | +| `ERROR3` | unknown | unknown | unknown | unknown | +| `ERROR4` | unknown | unknown | unknown | unknown | +| `FATAL` | unknown | unknown | unknown | unknown | +| `FATAL2` | unknown | unknown | unknown | unknown | +| `FATAL3` | unknown | unknown | unknown | unknown | +| `FATAL4` | unknown | unknown | unknown | unknown | +| `INFO` | unknown | unknown | unknown | unknown | +| `INFO2` | unknown | unknown | unknown | unknown | +| `INFO3` | unknown | unknown | unknown | unknown | +| `INFO4` | unknown | unknown | unknown | unknown | +| `TRACE` | unknown | unknown | unknown | unknown | +| `TRACE2` | unknown | unknown | unknown | unknown | +| `TRACE3` | unknown | unknown | unknown | unknown | +| `TRACE4` | unknown | unknown | unknown | unknown | +| `WARN` | unknown | unknown | unknown | unknown | +| `WARN2` | unknown | unknown | unknown | unknown | +| `WARN3` | unknown | unknown | unknown | unknown | +| `WARN4` | unknown | unknown | unknown | unknown | +
+ +No constraints. + +Usages: + +* [`ExperimentalLoggerConfig.minimum_severity`](#experimentalloggerconfig)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/logger_provider.json)
{
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "selector": {
-      "$ref": "#/$defs/ViewSelector"
-    },
-    "stream": {
-      "$ref": "#/$defs/ViewStream"
-    }
-  },
-  "required": [
-    "selector",
-    "stream"
+  "type": [
+    "string",
+    "null"
+  ],
+  "enum": [
+    "TRACE",
+    "TRACE2",
+    "TRACE3",
+    "TRACE4",
+    "DEBUG",
+    "DEBUG2",
+    "DEBUG3",
+    "DEBUG4",
+    "INFO",
+    "INFO2",
+    "INFO3",
+    "INFO4",
+    "WARN",
+    "WARN2",
+    "WARN3",
+    "WARN4",
+    "ERROR",
+    "ERROR2",
+    "ERROR3",
+    "ERROR4",
+    "FATAL",
+    "FATAL2",
+    "FATAL3",
+    "FATAL4"
   ]
 }
-## ViewSelector +## ExperimentalTracerConfig + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | 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.
| -| `meter_name` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure meter name selection criteria.
If omitted or null, all meter names 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.
| -| `meter_version` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure meter version selection criteria.
If omitted or null, all meter versions match.
| -| `unit` | one of:
* `string`
* `null`
| `false` | No constraints. | Configure the instrument unit selection criteria.
If omitted or null, all instrument units match.
| +| `disabled` | `boolean` | `false` | No constraints. | Configure if the tracer is enabled or not. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `instrument_name` | supported | unknown | supported | unknown | -| `instrument_type` | supported | unknown | supported | unknown | -| `meter_name` | supported | unknown | supported | unknown | -| `meter_schema_url` | supported | unknown | supported | unknown | -| `meter_version` | supported | unknown | supported | unknown | -| `unit` | supported | unknown | ignored | unknown | +| `disabled` | not_implemented | unknown | supported | unknown |
Constraints: @@ -6821,73 +6863,45 @@ Constraints: Usages: -* [`View.selector`](#view) +* [`ExperimentalTracerConfigurator.default_config`](#experimentaltracerconfigurator) +* [`ExperimentalTracerMatcherAndConfig.config`](#experimentaltracermatcherandconfig)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
-  "type": "object",
+  "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": {
+    "disabled": {
       "type": [
-        "string",
-        "null"
+        "boolean"
       ]
     }
   }
 }
-## ViewStream +## ExperimentalTracerConfigurator + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | Property | Type | Required? | Constraints | Description | |---|---|---|---|---| -| `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).
| -| `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.
| -| `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.
| +| `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` | * `minItems`: `1`
| Configure tracers. |
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `aggregation` | supported | unknown | supported | unknown | -| `aggregation_cardinality_limit` | supported | unknown | supported | unknown | -| `attribute_keys` | supported | unknown | supported | unknown | -| `description` | supported | unknown | supported | unknown | -| `name` | supported | unknown | supported | unknown | +| `default_config` | not_implemented | unknown | supported | unknown | +| `tracers` | not_implemented | unknown | supported | unknown |
Constraints: @@ -6896,68 +6910,59 @@ Constraints: Usages: -* [`View.stream`](#view) +* [`TracerProvider.tracer_configurator/development`](#tracerprovider)
JSON Schema -[JSON Schema Source File](./schema/meter_provider.json) +[JSON Schema Source File](./schema/tracer_provider.json)
{
-  "type": "object",
+  "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
+    "default_config": {
+      "$ref": "#/$defs/ExperimentalTracerConfig"
     },
-    "attribute_keys": {
-      "$ref": "common.json#/$defs/IncludeExclude"
+    "tracers": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig"
+      }
     }
   }
 }
-## ZipkinSpanExporter +## ExperimentalTracerMatcherAndConfig + +> [!WARNING] +> This type is [experimental](README.md#experimental-features). | 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.
| +| `config` | [`ExperimentalTracerConfig`](#experimentaltracerconfig) | `true` | No constraints. | The tracer config. | +| `name` | `string` | `true` | 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.
|
Language support status | Property | [cpp](#cpp) | [go](#go) | [java](#java) | [js](#js) | |---|---|---|---|---| -| `endpoint` | supported | unknown | supported | unknown | -| `timeout` | supported | unknown | supported | unknown | +| `config` | not_implemented | unknown | supported | unknown | +| `name` | not_implemented | unknown | supported | unknown |
Constraints: * `additionalProperties`: `false` +* `required`: `["name","config"]` Usages: -* [`SpanExporter.zipkin`](#spanexporter) +* [`ExperimentalTracerConfigurator.tracers`](#experimentaltracerconfigurator)
JSON Schema @@ -6965,25 +6970,23 @@ Usages: [JSON Schema Source File](./schema/tracer_provider.json)
{
   "type": [
-    "object",
-    "null"
+    "object"
   ],
   "additionalProperties": false,
   "properties": {
-    "endpoint": {
+    "name": {
       "type": [
-        "string",
-        "null"
+        "string"
       ]
     },
-    "timeout": {
-      "type": [
-        "integer",
-        "null"
-      ],
-      "minimum": 0
+    "config": {
+      "$ref": "#/$defs/ExperimentalTracerConfig"
     }
-  }
+  },
+  "required": [
+    "name",
+    "config"
+  ]
 }
@@ -6995,58 +6998,24 @@ Latest supported file format: `1.0.0-rc.2` | Type | Status | Notes | Support Status Details | |---|---|---|---| -| [`Aggregation`](#aggregation) | supported | | * `base2_exponential_bucket_histogram`: supported
* `default`: supported
* `drop`: supported
* `explicit_bucket_histogram`: supported
* `last_value`: supported
* `sum`: supported
| -| [`AlwaysOffSampler`](#alwaysoffsampler) | supported | | | -| [`AlwaysOnSampler`](#alwaysonsampler) | supported | | | -| [`AttributeLimits`](#attributelimits) | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
| -| [`AttributeNameValue`](#attributenamevalue) | supported | | * `name`: supported
* `type`: supported
* `value`: supported
| -| [`AttributeType`](#attributetype) | supported | | * `bool`: supported
* `bool_array`: supported
* `double`: supported
* `double_array`: supported
* `int`: supported
* `int_array`: supported
* `string`: supported
* `string_array`: supported
| -| [`B3MultiPropagator`](#b3multipropagator) | supported | | | -| [`B3Propagator`](#b3propagator) | supported | | | -| [`BaggagePropagator`](#baggagepropagator) | supported | | | -| [`Base2ExponentialBucketHistogramAggregation`](#base2exponentialbuckethistogramaggregation) | supported | | * `max_scale`: supported
* `max_size`: supported
* `record_min_max`: supported
| -| [`BatchLogRecordProcessor`](#batchlogrecordprocessor) | supported | | * `export_timeout`: supported
* `exporter`: supported
* `max_export_batch_size`: supported
* `max_queue_size`: supported
* `schedule_delay`: supported
| -| [`BatchSpanProcessor`](#batchspanprocessor) | supported | | * `export_timeout`: supported
* `exporter`: supported
* `max_export_batch_size`: supported
* `max_queue_size`: supported
* `schedule_delay`: supported
| -| [`CardinalityLimits`](#cardinalitylimits) | not_implemented | | * `counter`: not_implemented
* `default`: not_implemented
* `gauge`: not_implemented
* `histogram`: not_implemented
* `observable_counter`: not_implemented
* `observable_gauge`: not_implemented
* `observable_up_down_counter`: not_implemented
* `up_down_counter`: not_implemented
| -| [`ConsoleExporter`](#consoleexporter) | supported | | | -| [`ConsoleMetricExporter`](#consolemetricexporter) | supported | | * `default_histogram_aggregation`: supported
* `temporality_preference`: supported
| -| [`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 | | * `local_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `remote_parent_sampled`: unknown
* `root`: unknown
| -| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
| -| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `probability`: unknown
| -| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | not_implemented | | | -| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | not_applicable | | * `http`: not_applicable
* `peer`: not_applicable
| -| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | not_implemented | | | -| [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | not_applicable | | * `request_captured_headers`: not_applicable
* `response_captured_headers`: not_applicable
| -| [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | not_applicable | | * `client`: not_applicable
* `server`: not_applicable
| -| [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | not_applicable | | * `request_captured_headers`: not_applicable
* `response_captured_headers`: not_applicable
| -| [`ExperimentalInstrumentation`](#experimentalinstrumentation) | not_applicable | | * `cpp`: not_applicable
* `dotnet`: not_applicable
* `erlang`: not_applicable
* `general`: not_applicable
* `go`: not_applicable
* `java`: not_applicable
* `js`: not_applicable
* `php`: not_applicable
* `python`: not_applicable
* `ruby`: not_applicable
* `rust`: not_applicable
* `swift`: not_applicable
| -| [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | not_implemented | | * `endpoint`: not_implemented
* `initial_sampler`: not_implemented
* `interval`: not_implemented
| -| [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | not_applicable | | | -| [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | not_implemented | | * `disabled`: not_implemented
* `minimum_severity`: not_implemented
* `trace_based`: not_implemented
| -| [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | not_implemented | | * `default_config`: not_implemented
* `loggers`: not_implemented
| -| [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | not_implemented | | * `config`: not_implemented
* `name`: not_implemented
| -| [`ExperimentalMeterConfig`](#experimentalmeterconfig) | not_implemented | | * `disabled`: not_implemented
| -| [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | not_implemented | | * `default_config`: not_implemented
* `meters`: not_implemented
| -| [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | not_implemented | | * `config`: not_implemented
* `name`: not_implemented
| -| [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | supported | | * `output_stream`: supported
| -| [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | supported | | * `default_histogram_aggregation`: supported
* `output_stream`: supported
* `temporality_preference`: supported
| -| [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | not_implemented | | * `service_mapping`: not_implemented
| -| [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | not_implemented | | * `peer`: not_implemented
* `service`: not_implemented
| -| [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | not_implemented | | * `ratio`: not_implemented
| -| [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | not_implemented | | | -| [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | supported | | * `host`: supported
* `port`: supported
* `translation_strategy`: supported
* `with_resource_constant_labels`: supported
* `without_scope_info`: unknown
* `without_target_info`: unknown
| -| [`ExperimentalResourceDetection`](#experimentalresourcedetection) | not_implemented | | * `attributes`: not_implemented
* `detectors`: not_implemented
| -| [`ExperimentalResourceDetector`](#experimentalresourcedetector) | not_implemented | | * `container`: not_implemented
* `host`: not_implemented
* `process`: not_implemented
* `service`: not_implemented
| -| [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | not_implemented | | | -| [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | unknown | | * `DEBUG`: unknown
* `DEBUG2`: unknown
* `DEBUG3`: unknown
* `DEBUG4`: unknown
* `ERROR`: unknown
* `ERROR2`: unknown
* `ERROR3`: unknown
* `ERROR4`: unknown
* `FATAL`: unknown
* `FATAL2`: unknown
* `FATAL3`: unknown
* `FATAL4`: unknown
* `INFO`: unknown
* `INFO2`: unknown
* `INFO3`: unknown
* `INFO4`: unknown
* `TRACE`: unknown
* `TRACE2`: unknown
* `TRACE3`: unknown
* `TRACE4`: unknown
* `WARN`: unknown
* `WARN2`: unknown
* `WARN3`: unknown
* `WARN4`: unknown
| -| [`ExperimentalTracerConfig`](#experimentaltracerconfig) | not_implemented | | * `disabled`: not_implemented
| -| [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | not_implemented | | * `default_config`: not_implemented
* `tracers`: not_implemented
| -| [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | not_implemented | | * `config`: not_implemented
* `name`: not_implemented
| +| [`Aggregation`](#aggregation) | supported | | * `base2_exponential_bucket_histogram`: supported
* `default`: supported
* `drop`: supported
* `explicit_bucket_histogram`: supported
* `last_value`: supported
* `sum`: supported
| +| [`AlwaysOffSampler`](#alwaysoffsampler) | supported | | | +| [`AlwaysOnSampler`](#alwaysonsampler) | supported | | | +| [`AttributeLimits`](#attributelimits) | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
| +| [`AttributeNameValue`](#attributenamevalue) | supported | | * `name`: supported
* `type`: supported
* `value`: supported
| +| [`AttributeType`](#attributetype) | supported | | * `bool`: supported
* `bool_array`: supported
* `double`: supported
* `double_array`: supported
* `int`: supported
* `int_array`: supported
* `string`: supported
* `string_array`: supported
| +| [`B3MultiPropagator`](#b3multipropagator) | supported | | | +| [`B3Propagator`](#b3propagator) | supported | | | +| [`BaggagePropagator`](#baggagepropagator) | supported | | | +| [`Base2ExponentialBucketHistogramAggregation`](#base2exponentialbuckethistogramaggregation) | supported | | * `max_scale`: supported
* `max_size`: supported
* `record_min_max`: supported
| +| [`BatchLogRecordProcessor`](#batchlogrecordprocessor) | supported | | * `export_timeout`: supported
* `exporter`: supported
* `max_export_batch_size`: supported
* `max_queue_size`: supported
* `schedule_delay`: supported
| +| [`BatchSpanProcessor`](#batchspanprocessor) | supported | | * `export_timeout`: supported
* `exporter`: supported
* `max_export_batch_size`: supported
* `max_queue_size`: supported
* `schedule_delay`: supported
| +| [`CardinalityLimits`](#cardinalitylimits) | not_implemented | | * `counter`: not_implemented
* `default`: not_implemented
* `gauge`: not_implemented
* `histogram`: not_implemented
* `observable_counter`: not_implemented
* `observable_gauge`: not_implemented
* `observable_up_down_counter`: not_implemented
* `up_down_counter`: not_implemented
| +| [`ConsoleExporter`](#consoleexporter) | supported | | | +| [`ConsoleMetricExporter`](#consolemetricexporter) | supported | | * `default_histogram_aggregation`: supported
* `temporality_preference`: supported
| +| [`DefaultAggregation`](#defaultaggregation) | supported | | | +| [`DropAggregation`](#dropaggregation) | supported | | | +| [`ExemplarFilter`](#exemplarfilter) | not_implemented | | * `always_off`: not_implemented
* `always_on`: not_implemented
* `trace_based`: not_implemented
| | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | supported | | * `boundaries`: supported
* `record_min_max`: supported
| | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | supported | | * `base2_exponential_bucket_histogram`: supported
* `explicit_bucket_histogram`: supported
| | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | supported | | * `cumulative`: supported
* `delta`: supported
* `low_memory`: supported
| @@ -7056,16 +7025,16 @@ Latest supported file format: `1.0.0-rc.2` | [`InstrumentType`](#instrumenttype) | supported | | * `counter`: supported
* `gauge`: supported
* `histogram`: supported
* `observable_counter`: supported
* `observable_gauge`: supported
* `observable_up_down_counter`: supported
* `up_down_counter`: supported
| | [`JaegerPropagator`](#jaegerpropagator) | supported | | | | [`LastValueAggregation`](#lastvalueaggregation) | supported | | | -| [`LoggerProvider`](#loggerprovider) | supported | | * `limits`: supported
* `logger_configurator/development`: supported
* `processors`: supported
| -| [`LogRecordExporter`](#logrecordexporter) | supported | | * `console`: supported
* `otlp_file/development`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
| +| [`LoggerProvider`](#loggerprovider) | supported | | * `limits`: supported
* `processors`: supported
* `logger_configurator/development`: supported
| +| [`LogRecordExporter`](#logrecordexporter) | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
| | [`LogRecordLimits`](#logrecordlimits) | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
| | [`LogRecordProcessor`](#logrecordprocessor) | supported | | * `batch`: supported
* `simple`: supported
| -| [`MeterProvider`](#meterprovider) | supported | | * `exemplar_filter`: supported
* `meter_configurator/development`: supported
* `readers`: supported
* `views`: supported
| +| [`MeterProvider`](#meterprovider) | supported | | * `exemplar_filter`: supported
* `readers`: supported
* `views`: supported
* `meter_configurator/development`: supported
| | [`MetricProducer`](#metricproducer) | supported | | * `opencensus`: supported
| | [`MetricReader`](#metricreader) | supported | | * `periodic`: supported
* `pull`: supported
| | [`NameStringValuePair`](#namestringvaluepair) | supported | | * `name`: supported
* `value`: supported
| | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | supported | | | -| [`OpenTelemetryConfiguration`](#opentelemetryconfiguration) | supported | | * `attribute_limits`: supported
* `disabled`: supported
* `file_format`: supported
* `instrumentation/development`: supported
* `log_level`: supported
* `logger_provider`: supported
* `meter_provider`: supported
* `propagator`: supported
* `resource`: supported
* `tracer_provider`: supported
| +| [`OpenTelemetryConfiguration`](#opentelemetryconfiguration) | supported | | * `attribute_limits`: supported
* `disabled`: supported
* `file_format`: supported
* `log_level`: supported
* `logger_provider`: supported
* `meter_provider`: supported
* `propagator`: supported
* `resource`: supported
* `tracer_provider`: supported
* `instrumentation/development`: supported
| | [`OpenTracingPropagator`](#opentracingpropagator) | not_implemented | | | | [`OtlpGrpcExporter`](#otlpgrpcexporter) | supported | | * `compression`: supported
* `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `timeout`: supported
* `tls`: supported
| | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | supported | | * `compression`: supported
* `default_histogram_aggregation`: supported
* `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `temporality_preference`: supported
* `timeout`: supported
* `tls`: supported
| @@ -7077,12 +7046,12 @@ Latest supported file format: `1.0.0-rc.2` | [`Propagator`](#propagator) | supported | | * `composite`: supported
* `composite_list`: supported
| | [`PullMetricExporter`](#pullmetricexporter) | supported | | * `prometheus/development`: supported
| | [`PullMetricReader`](#pullmetricreader) | supported | | * `cardinality_limits`: supported
* `exporter`: supported
* `producers`: supported
| -| [`PushMetricExporter`](#pushmetricexporter) | supported | | * `console`: supported
* `otlp_file/development`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
| -| [`Resource`](#resource) | supported | | * `attributes`: supported
* `attributes_list`: supported
* `detection/development`: supported
* `schema_url`: supported
| -| [`Sampler`](#sampler) | supported | | * `always_off`: supported
* `always_on`: supported
* `composite/development`: supported
* `jaeger_remote/development`: supported
* `parent_based`: supported
* `probability/development`: supported
* `trace_id_ratio_based`: supported
| +| [`PushMetricExporter`](#pushmetricexporter) | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
| +| [`Resource`](#resource) | supported | | * `attributes`: supported
* `attributes_list`: supported
* `schema_url`: supported
* `detection/development`: supported
| +| [`Sampler`](#sampler) | supported | | * `always_off`: supported
* `always_on`: supported
* `parent_based`: supported
* `trace_id_ratio_based`: supported
* `composite/development`: supported
* `jaeger_remote/development`: supported
* `probability/development`: supported
| | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | supported | | * `exporter`: supported
| | [`SimpleSpanProcessor`](#simplespanprocessor) | supported | | * `exporter`: supported
| -| [`SpanExporter`](#spanexporter) | supported | | * `console`: supported
* `otlp_file/development`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `zipkin`: supported
| +| [`SpanExporter`](#spanexporter) | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `zipkin`: supported
* `otlp_file/development`: supported
| | [`SpanLimits`](#spanlimits) | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
| | [`SpanProcessor`](#spanprocessor) | supported | | * `batch`: supported
* `simple`: supported
| | [`SumAggregation`](#sumaggregation) | supported | | | @@ -7094,6 +7063,40 @@ Latest supported file format: `1.0.0-rc.2` | [`ViewSelector`](#viewselector) | supported | | * `instrument_name`: supported
* `instrument_type`: supported
* `meter_name`: supported
* `meter_schema_url`: supported
* `meter_version`: supported
* `unit`: supported
| | [`ViewStream`](#viewstream) | supported | | * `aggregation`: supported
* `aggregation_cardinality_limit`: supported
* `attribute_keys`: supported
* `description`: supported
* `name`: supported
| | [`ZipkinSpanExporter`](#zipkinspanexporter) | supported | | * `endpoint`: supported
* `timeout`: supported
| +| [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | unknown | | | +| [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | unknown | | | +| [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | unknown | | * `local_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `remote_parent_sampled`: unknown
* `root`: unknown
| +| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
| +| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `probability`: unknown
| +| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | not_implemented | | | +| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | not_applicable | | * `http`: not_applicable
* `peer`: not_applicable
| +| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | not_implemented | | | +| [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | not_applicable | | * `request_captured_headers`: not_applicable
* `response_captured_headers`: not_applicable
| +| [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | not_applicable | | * `client`: not_applicable
* `server`: not_applicable
| +| [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | not_applicable | | * `request_captured_headers`: not_applicable
* `response_captured_headers`: not_applicable
| +| [`ExperimentalInstrumentation`](#experimentalinstrumentation) | not_applicable | | * `cpp`: not_applicable
* `dotnet`: not_applicable
* `erlang`: not_applicable
* `general`: not_applicable
* `go`: not_applicable
* `java`: not_applicable
* `js`: not_applicable
* `php`: not_applicable
* `python`: not_applicable
* `ruby`: not_applicable
* `rust`: not_applicable
* `swift`: not_applicable
| +| [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | not_implemented | | * `endpoint`: not_implemented
* `initial_sampler`: not_implemented
* `interval`: not_implemented
| +| [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | not_applicable | | | +| [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | not_implemented | | * `disabled`: not_implemented
* `minimum_severity`: not_implemented
* `trace_based`: not_implemented
| +| [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | not_implemented | | * `default_config`: not_implemented
* `loggers`: not_implemented
| +| [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | not_implemented | | * `config`: not_implemented
* `name`: not_implemented
| +| [`ExperimentalMeterConfig`](#experimentalmeterconfig) | not_implemented | | * `disabled`: not_implemented
| +| [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | not_implemented | | * `default_config`: not_implemented
* `meters`: not_implemented
| +| [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | not_implemented | | * `config`: not_implemented
* `name`: not_implemented
| +| [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | supported | | * `output_stream`: supported
| +| [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | supported | | * `default_histogram_aggregation`: supported
* `output_stream`: supported
* `temporality_preference`: supported
| +| [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | not_implemented | | * `service_mapping`: not_implemented
| +| [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | not_implemented | | * `peer`: not_implemented
* `service`: not_implemented
| +| [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | not_implemented | | * `ratio`: not_implemented
| +| [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | not_implemented | | | +| [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | supported | | * `host`: supported
* `port`: supported
* `translation_strategy`: supported
* `with_resource_constant_labels`: supported
* `without_scope_info`: unknown
* `without_target_info`: unknown
| +| [`ExperimentalResourceDetection`](#experimentalresourcedetection) | not_implemented | | * `attributes`: not_implemented
* `detectors`: not_implemented
| +| [`ExperimentalResourceDetector`](#experimentalresourcedetector) | not_implemented | | * `container`: not_implemented
* `host`: not_implemented
* `process`: not_implemented
* `service`: not_implemented
| +| [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | not_implemented | | | +| [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | unknown | | * `DEBUG`: unknown
* `DEBUG2`: unknown
* `DEBUG3`: unknown
* `DEBUG4`: unknown
* `ERROR`: unknown
* `ERROR2`: unknown
* `ERROR3`: unknown
* `ERROR4`: unknown
* `FATAL`: unknown
* `FATAL2`: unknown
* `FATAL3`: unknown
* `FATAL4`: unknown
* `INFO`: unknown
* `INFO2`: unknown
* `INFO3`: unknown
* `INFO4`: unknown
* `TRACE`: unknown
* `TRACE2`: unknown
* `TRACE3`: unknown
* `TRACE4`: unknown
* `WARN`: unknown
* `WARN2`: unknown
* `WARN3`: unknown
* `WARN4`: unknown
| +| [`ExperimentalTracerConfig`](#experimentaltracerconfig) | not_implemented | | * `disabled`: not_implemented
| +| [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | not_implemented | | * `default_config`: not_implemented
* `tracers`: not_implemented
| +| [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | not_implemented | | * `config`: not_implemented
* `name`: not_implemented
| ## go @@ -7120,40 +7123,6 @@ 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 | | * `local_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `remote_parent_sampled`: unknown
* `root`: unknown
| -| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
| -| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `probability`: unknown
| -| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | unknown | | | -| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | unknown | | * `http`: unknown
* `peer`: unknown
| -| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | unknown | | | -| [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | unknown | | * `request_captured_headers`: unknown
* `response_captured_headers`: unknown
| -| [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | unknown | | * `client`: unknown
* `server`: unknown
| -| [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | unknown | | * `request_captured_headers`: unknown
* `response_captured_headers`: unknown
| -| [`ExperimentalInstrumentation`](#experimentalinstrumentation) | unknown | | * `cpp`: unknown
* `dotnet`: unknown
* `erlang`: unknown
* `general`: unknown
* `go`: unknown
* `java`: unknown
* `js`: unknown
* `php`: unknown
* `python`: unknown
* `ruby`: unknown
* `rust`: unknown
* `swift`: unknown
| -| [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | unknown | | * `endpoint`: unknown
* `initial_sampler`: unknown
* `interval`: unknown
| -| [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | unknown | | | -| [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | unknown | | * `disabled`: unknown
* `minimum_severity`: unknown
* `trace_based`: unknown
| -| [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | unknown | | * `default_config`: unknown
* `loggers`: unknown
| -| [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| -| [`ExperimentalMeterConfig`](#experimentalmeterconfig) | unknown | | * `disabled`: unknown
| -| [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | unknown | | * `default_config`: unknown
* `meters`: unknown
| -| [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| -| [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | unknown | | * `output_stream`: unknown
| -| [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | unknown | | * `default_histogram_aggregation`: unknown
* `output_stream`: unknown
* `temporality_preference`: unknown
| -| [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | unknown | | * `service_mapping`: unknown
| -| [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | unknown | | * `peer`: unknown
* `service`: unknown
| -| [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | unknown | | * `ratio`: unknown
| -| [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | unknown | | | -| [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | unknown | | * `host`: unknown
* `port`: unknown
* `translation_strategy`: unknown
* `with_resource_constant_labels`: unknown
* `without_scope_info`: unknown
* `without_target_info`: unknown
| -| [`ExperimentalResourceDetection`](#experimentalresourcedetection) | unknown | | * `attributes`: unknown
* `detectors`: unknown
| -| [`ExperimentalResourceDetector`](#experimentalresourcedetector) | unknown | | * `container`: unknown
* `host`: unknown
* `process`: unknown
* `service`: unknown
| -| [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | unknown | | | -| [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | unknown | | * `DEBUG`: unknown
* `DEBUG2`: unknown
* `DEBUG3`: unknown
* `DEBUG4`: unknown
* `ERROR`: unknown
* `ERROR2`: unknown
* `ERROR3`: unknown
* `ERROR4`: unknown
* `FATAL`: unknown
* `FATAL2`: unknown
* `FATAL3`: unknown
* `FATAL4`: unknown
* `INFO`: unknown
* `INFO2`: unknown
* `INFO3`: unknown
* `INFO4`: unknown
* `TRACE`: unknown
* `TRACE2`: unknown
* `TRACE3`: unknown
* `TRACE4`: unknown
* `WARN`: unknown
* `WARN2`: unknown
* `WARN3`: unknown
* `WARN4`: unknown
| -| [`ExperimentalTracerConfig`](#experimentaltracerconfig) | unknown | | * `disabled`: unknown
| -| [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | unknown | | * `default_config`: unknown
* `tracers`: unknown
| -| [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | unknown | | * `boundaries`: unknown
* `record_min_max`: unknown
| | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | unknown | | * `base2_exponential_bucket_histogram`: unknown
* `explicit_bucket_histogram`: unknown
| | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | unknown | | * `cumulative`: unknown
* `delta`: unknown
* `low_memory`: unknown
| @@ -7163,16 +7132,16 @@ Latest supported file format: `0.3.0` | [`InstrumentType`](#instrumenttype) | unknown | | * `counter`: unknown
* `gauge`: unknown
* `histogram`: unknown
* `observable_counter`: unknown
* `observable_gauge`: unknown
* `observable_up_down_counter`: unknown
* `up_down_counter`: unknown
| | [`JaegerPropagator`](#jaegerpropagator) | unknown | | | | [`LastValueAggregation`](#lastvalueaggregation) | unknown | | | -| [`LoggerProvider`](#loggerprovider) | unknown | | * `limits`: unknown
* `logger_configurator/development`: unknown
* `processors`: unknown
| -| [`LogRecordExporter`](#logrecordexporter) | unknown | | * `console`: unknown
* `otlp_file/development`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
| +| [`LoggerProvider`](#loggerprovider) | unknown | | * `limits`: unknown
* `processors`: unknown
* `logger_configurator/development`: unknown
| +| [`LogRecordExporter`](#logrecordexporter) | unknown | | * `console`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
* `otlp_file/development`: unknown
| | [`LogRecordLimits`](#logrecordlimits) | unknown | | * `attribute_count_limit`: unknown
* `attribute_value_length_limit`: unknown
| | [`LogRecordProcessor`](#logrecordprocessor) | unknown | | * `batch`: unknown
* `simple`: unknown
| -| [`MeterProvider`](#meterprovider) | unknown | | * `exemplar_filter`: unknown
* `meter_configurator/development`: unknown
* `readers`: unknown
* `views`: unknown
| +| [`MeterProvider`](#meterprovider) | unknown | | * `exemplar_filter`: unknown
* `readers`: unknown
* `views`: unknown
* `meter_configurator/development`: unknown
| | [`MetricProducer`](#metricproducer) | unknown | | * `opencensus`: unknown
| | [`MetricReader`](#metricreader) | unknown | | * `periodic`: unknown
* `pull`: unknown
| | [`NameStringValuePair`](#namestringvaluepair) | unknown | | * `name`: unknown
* `value`: unknown
| | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | unknown | | | -| [`OpenTelemetryConfiguration`](#opentelemetryconfiguration) | unknown | | * `attribute_limits`: unknown
* `disabled`: unknown
* `file_format`: unknown
* `instrumentation/development`: unknown
* `log_level`: unknown
* `logger_provider`: unknown
* `meter_provider`: unknown
* `propagator`: unknown
* `resource`: unknown
* `tracer_provider`: unknown
| +| [`OpenTelemetryConfiguration`](#opentelemetryconfiguration) | unknown | | * `attribute_limits`: unknown
* `disabled`: unknown
* `file_format`: unknown
* `log_level`: unknown
* `logger_provider`: unknown
* `meter_provider`: unknown
* `propagator`: unknown
* `resource`: unknown
* `tracer_provider`: unknown
* `instrumentation/development`: unknown
| | [`OpenTracingPropagator`](#opentracingpropagator) | unknown | | | | [`OtlpGrpcExporter`](#otlpgrpcexporter) | unknown | | * `compression`: unknown
* `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `timeout`: unknown
* `tls`: unknown
| | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | unknown | | * `compression`: unknown
* `default_histogram_aggregation`: unknown
* `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `temporality_preference`: unknown
* `timeout`: unknown
* `tls`: unknown
| @@ -7184,12 +7153,12 @@ Latest supported file format: `0.3.0` | [`Propagator`](#propagator) | unknown | | * `composite`: unknown
* `composite_list`: unknown
| | [`PullMetricExporter`](#pullmetricexporter) | unknown | | * `prometheus/development`: unknown
| | [`PullMetricReader`](#pullmetricreader) | unknown | | * `cardinality_limits`: unknown
* `exporter`: unknown
* `producers`: unknown
| -| [`PushMetricExporter`](#pushmetricexporter) | unknown | | * `console`: unknown
* `otlp_file/development`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
| -| [`Resource`](#resource) | unknown | | * `attributes`: unknown
* `attributes_list`: unknown
* `detection/development`: unknown
* `schema_url`: unknown
| -| [`Sampler`](#sampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `composite/development`: unknown
* `jaeger_remote/development`: unknown
* `parent_based`: unknown
* `probability/development`: unknown
* `trace_id_ratio_based`: unknown
| +| [`PushMetricExporter`](#pushmetricexporter) | unknown | | * `console`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
* `otlp_file/development`: unknown
| +| [`Resource`](#resource) | unknown | | * `attributes`: unknown
* `attributes_list`: unknown
* `schema_url`: unknown
* `detection/development`: unknown
| +| [`Sampler`](#sampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `trace_id_ratio_based`: unknown
* `composite/development`: unknown
* `jaeger_remote/development`: unknown
* `probability/development`: unknown
| | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | unknown | | * `exporter`: unknown
| | [`SimpleSpanProcessor`](#simplespanprocessor) | unknown | | * `exporter`: unknown
| -| [`SpanExporter`](#spanexporter) | unknown | | * `console`: unknown
* `otlp_file/development`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
* `zipkin`: unknown
| +| [`SpanExporter`](#spanexporter) | unknown | | * `console`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
* `zipkin`: unknown
* `otlp_file/development`: unknown
| | [`SpanLimits`](#spanlimits) | unknown | | * `attribute_count_limit`: unknown
* `attribute_value_length_limit`: unknown
* `event_attribute_count_limit`: unknown
* `event_count_limit`: unknown
* `link_attribute_count_limit`: unknown
* `link_count_limit`: unknown
| | [`SpanProcessor`](#spanprocessor) | unknown | | * `batch`: unknown
* `simple`: unknown
| | [`SumAggregation`](#sumaggregation) | unknown | | | @@ -7201,6 +7170,40 @@ Latest supported file format: `0.3.0` | [`ViewSelector`](#viewselector) | unknown | | * `instrument_name`: unknown
* `instrument_type`: unknown
* `meter_name`: unknown
* `meter_schema_url`: unknown
* `meter_version`: unknown
* `unit`: unknown
| | [`ViewStream`](#viewstream) | unknown | | * `aggregation`: unknown
* `aggregation_cardinality_limit`: unknown
* `attribute_keys`: unknown
* `description`: unknown
* `name`: unknown
| | [`ZipkinSpanExporter`](#zipkinspanexporter) | unknown | | * `endpoint`: unknown
* `timeout`: unknown
| +| [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | unknown | | | +| [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | unknown | | | +| [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | unknown | | * `local_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `remote_parent_sampled`: unknown
* `root`: unknown
| +| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
| +| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `probability`: unknown
| +| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | unknown | | | +| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | unknown | | * `http`: unknown
* `peer`: unknown
| +| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | unknown | | | +| [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | unknown | | * `request_captured_headers`: unknown
* `response_captured_headers`: unknown
| +| [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | unknown | | * `client`: unknown
* `server`: unknown
| +| [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | unknown | | * `request_captured_headers`: unknown
* `response_captured_headers`: unknown
| +| [`ExperimentalInstrumentation`](#experimentalinstrumentation) | unknown | | * `cpp`: unknown
* `dotnet`: unknown
* `erlang`: unknown
* `general`: unknown
* `go`: unknown
* `java`: unknown
* `js`: unknown
* `php`: unknown
* `python`: unknown
* `ruby`: unknown
* `rust`: unknown
* `swift`: unknown
| +| [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | unknown | | * `endpoint`: unknown
* `initial_sampler`: unknown
* `interval`: unknown
| +| [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | unknown | | | +| [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | unknown | | * `disabled`: unknown
* `minimum_severity`: unknown
* `trace_based`: unknown
| +| [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | unknown | | * `default_config`: unknown
* `loggers`: unknown
| +| [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| +| [`ExperimentalMeterConfig`](#experimentalmeterconfig) | unknown | | * `disabled`: unknown
| +| [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | unknown | | * `default_config`: unknown
* `meters`: unknown
| +| [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| +| [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | unknown | | * `output_stream`: unknown
| +| [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | unknown | | * `default_histogram_aggregation`: unknown
* `output_stream`: unknown
* `temporality_preference`: unknown
| +| [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | unknown | | * `service_mapping`: unknown
| +| [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | unknown | | * `peer`: unknown
* `service`: unknown
| +| [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | unknown | | * `ratio`: unknown
| +| [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | unknown | | | +| [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | unknown | | * `host`: unknown
* `port`: unknown
* `translation_strategy`: unknown
* `with_resource_constant_labels`: unknown
* `without_scope_info`: unknown
* `without_target_info`: unknown
| +| [`ExperimentalResourceDetection`](#experimentalresourcedetection) | unknown | | * `attributes`: unknown
* `detectors`: unknown
| +| [`ExperimentalResourceDetector`](#experimentalresourcedetector) | unknown | | * `container`: unknown
* `host`: unknown
* `process`: unknown
* `service`: unknown
| +| [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | unknown | | | +| [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | unknown | | * `DEBUG`: unknown
* `DEBUG2`: unknown
* `DEBUG3`: unknown
* `DEBUG4`: unknown
* `ERROR`: unknown
* `ERROR2`: unknown
* `ERROR3`: unknown
* `ERROR4`: unknown
* `FATAL`: unknown
* `FATAL2`: unknown
* `FATAL3`: unknown
* `FATAL4`: unknown
* `INFO`: unknown
* `INFO2`: unknown
* `INFO3`: unknown
* `INFO4`: unknown
* `TRACE`: unknown
* `TRACE2`: unknown
* `TRACE3`: unknown
* `TRACE4`: unknown
* `WARN`: unknown
* `WARN2`: unknown
* `WARN3`: unknown
* `WARN4`: unknown
| +| [`ExperimentalTracerConfig`](#experimentaltracerconfig) | unknown | | * `disabled`: unknown
| +| [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | unknown | | * `default_config`: unknown
* `tracers`: unknown
| +| [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| ## java @@ -7227,40 +7230,6 @@ 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 | | * `local_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `remote_parent_sampled`: unknown
* `root`: unknown
| -| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
| -| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `probability`: unknown
| -| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | supported | | | -| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | supported | | * `http`: supported
* `peer`: supported
| -| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | supported | | | -| [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | supported | | * `request_captured_headers`: supported
* `response_captured_headers`: supported
| -| [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | supported | | * `client`: supported
* `server`: supported
| -| [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | supported | | * `request_captured_headers`: supported
* `response_captured_headers`: supported
| -| [`ExperimentalInstrumentation`](#experimentalinstrumentation) | supported | | * `cpp`: not_applicable
* `dotnet`: not_applicable
* `erlang`: not_applicable
* `general`: supported
* `go`: not_applicable
* `java`: supported
* `js`: not_applicable
* `php`: not_applicable
* `python`: not_applicable
* `ruby`: not_applicable
* `rust`: not_applicable
* `swift`: not_applicable
| -| [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | ignored | | * `endpoint`: ignored
* `initial_sampler`: ignored
* `interval`: ignored
| -| [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | supported | | | -| [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | supported | | * `disabled`: supported
* `minimum_severity`: not_implemented
* `trace_based`: not_implemented
| -| [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | supported | | * `default_config`: supported
* `loggers`: supported
| -| [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | supported | | * `config`: supported
* `name`: supported
| -| [`ExperimentalMeterConfig`](#experimentalmeterconfig) | supported | | * `disabled`: supported
| -| [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | supported | | * `default_config`: supported
* `meters`: supported
| -| [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | supported | | * `config`: supported
* `name`: supported
| -| [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | supported | | * `output_stream`: not_implemented
| -| [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | supported | | * `default_histogram_aggregation`: supported
* `output_stream`: not_implemented
* `temporality_preference`: supported
| -| [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | supported | | * `service_mapping`: supported
| -| [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | supported | | * `peer`: supported
* `service`: supported
| -| [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | ignored | | * `ratio`: ignored
| -| [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | supported | | | -| [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | supported | | * `host`: supported
* `port`: supported
* `translation_strategy`: not_implemented
* `with_resource_constant_labels`: supported
* `without_scope_info`: ignored
* `without_target_info`: ignored
| -| [`ExperimentalResourceDetection`](#experimentalresourcedetection) | supported | | * `attributes`: supported
* `detectors`: supported
| -| [`ExperimentalResourceDetector`](#experimentalresourcedetector) | supported | | * `container`: supported
* `host`: supported
* `process`: supported
* `service`: supported
| -| [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | supported | | | -| [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | unknown | | * `DEBUG`: unknown
* `DEBUG2`: unknown
* `DEBUG3`: unknown
* `DEBUG4`: unknown
* `ERROR`: unknown
* `ERROR2`: unknown
* `ERROR3`: unknown
* `ERROR4`: unknown
* `FATAL`: unknown
* `FATAL2`: unknown
* `FATAL3`: unknown
* `FATAL4`: unknown
* `INFO`: unknown
* `INFO2`: unknown
* `INFO3`: unknown
* `INFO4`: unknown
* `TRACE`: unknown
* `TRACE2`: unknown
* `TRACE3`: unknown
* `TRACE4`: unknown
* `WARN`: unknown
* `WARN2`: unknown
* `WARN3`: unknown
* `WARN4`: unknown
| -| [`ExperimentalTracerConfig`](#experimentaltracerconfig) | supported | | * `disabled`: supported
| -| [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | supported | | * `default_config`: supported
* `tracers`: supported
| -| [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | supported | | * `config`: supported
* `name`: supported
| | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | supported | | * `boundaries`: supported
* `record_min_max`: not_implemented
| | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | supported | | * `base2_exponential_bucket_histogram`: supported
* `explicit_bucket_histogram`: supported
| | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | supported | | * `cumulative`: supported
* `delta`: supported
* `low_memory`: supported
| @@ -7270,16 +7239,16 @@ Latest supported file format: `1.0.0-rc.1` | [`InstrumentType`](#instrumenttype) | supported | | * `counter`: supported
* `gauge`: supported
* `histogram`: supported
* `observable_counter`: supported
* `observable_gauge`: supported
* `observable_up_down_counter`: supported
* `up_down_counter`: supported
| | [`JaegerPropagator`](#jaegerpropagator) | supported | | | | [`LastValueAggregation`](#lastvalueaggregation) | supported | | | -| [`LoggerProvider`](#loggerprovider) | supported | | * `limits`: supported
* `logger_configurator/development`: supported
* `processors`: supported
| -| [`LogRecordExporter`](#logrecordexporter) | supported | | * `console`: supported
* `otlp_file/development`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
| +| [`LoggerProvider`](#loggerprovider) | supported | | * `limits`: supported
* `processors`: supported
* `logger_configurator/development`: supported
| +| [`LogRecordExporter`](#logrecordexporter) | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
| | [`LogRecordLimits`](#logrecordlimits) | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
| | [`LogRecordProcessor`](#logrecordprocessor) | supported | | * `batch`: supported
* `simple`: supported
| -| [`MeterProvider`](#meterprovider) | supported | | * `exemplar_filter`: supported
* `meter_configurator/development`: supported
* `readers`: supported
* `views`: supported
| +| [`MeterProvider`](#meterprovider) | supported | | * `exemplar_filter`: supported
* `readers`: supported
* `views`: supported
* `meter_configurator/development`: supported
| | [`MetricProducer`](#metricproducer) | ignored | | * `opencensus`: ignored
| | [`MetricReader`](#metricreader) | supported | | * `periodic`: supported
* `pull`: supported
| | [`NameStringValuePair`](#namestringvaluepair) | supported | | * `name`: supported
* `value`: supported
| | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | ignored | | | -| [`OpenTelemetryConfiguration`](#opentelemetryconfiguration) | supported | | * `attribute_limits`: supported
* `disabled`: supported
* `file_format`: supported
* `instrumentation/development`: supported
* `log_level`: not_implemented
* `logger_provider`: supported
* `meter_provider`: supported
* `propagator`: supported
* `resource`: supported
* `tracer_provider`: supported
| +| [`OpenTelemetryConfiguration`](#opentelemetryconfiguration) | supported | | * `attribute_limits`: supported
* `disabled`: supported
* `file_format`: supported
* `log_level`: not_implemented
* `logger_provider`: supported
* `meter_provider`: supported
* `propagator`: supported
* `resource`: supported
* `tracer_provider`: supported
* `instrumentation/development`: supported
| | [`OpenTracingPropagator`](#opentracingpropagator) | supported | | | | [`OtlpGrpcExporter`](#otlpgrpcexporter) | supported | | * `compression`: supported
* `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `timeout`: supported
* `tls`: ignored
| | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | supported | | * `compression`: supported
* `default_histogram_aggregation`: supported
* `endpoint`: supported
* `headers`: supported
* `headers_list`: supported
* `temporality_preference`: supported
* `timeout`: supported
* `tls`: ignored
| @@ -7291,12 +7260,12 @@ Latest supported file format: `1.0.0-rc.1` | [`Propagator`](#propagator) | supported | | * `composite`: supported
* `composite_list`: supported
| | [`PullMetricExporter`](#pullmetricexporter) | supported | | * `prometheus/development`: supported
| | [`PullMetricReader`](#pullmetricreader) | supported | | * `cardinality_limits`: supported
* `exporter`: supported
* `producers`: not_implemented
| -| [`PushMetricExporter`](#pushmetricexporter) | supported | | * `console`: supported
* `otlp_file/development`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
| -| [`Resource`](#resource) | supported | | * `attributes`: supported
* `attributes_list`: supported
* `detection/development`: supported
* `schema_url`: ignored
| -| [`Sampler`](#sampler) | supported | | * `always_off`: supported
* `always_on`: supported
* `composite/development`: supported
* `jaeger_remote/development`: supported
* `parent_based`: supported
* `probability/development`: ignored
* `trace_id_ratio_based`: supported
| +| [`PushMetricExporter`](#pushmetricexporter) | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `otlp_file/development`: supported
| +| [`Resource`](#resource) | supported | | * `attributes`: supported
* `attributes_list`: supported
* `schema_url`: ignored
* `detection/development`: supported
| +| [`Sampler`](#sampler) | supported | | * `always_off`: supported
* `always_on`: supported
* `parent_based`: supported
* `trace_id_ratio_based`: supported
* `composite/development`: supported
* `jaeger_remote/development`: supported
* `probability/development`: ignored
| | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | supported | | * `exporter`: supported
| | [`SimpleSpanProcessor`](#simplespanprocessor) | supported | | * `exporter`: supported
| -| [`SpanExporter`](#spanexporter) | supported | | * `console`: supported
* `otlp_file/development`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `zipkin`: supported
| +| [`SpanExporter`](#spanexporter) | supported | | * `console`: supported
* `otlp_grpc`: supported
* `otlp_http`: supported
* `zipkin`: supported
* `otlp_file/development`: supported
| | [`SpanLimits`](#spanlimits) | supported | | * `attribute_count_limit`: supported
* `attribute_value_length_limit`: supported
* `event_attribute_count_limit`: supported
* `event_count_limit`: supported
* `link_attribute_count_limit`: supported
* `link_count_limit`: supported
| | [`SpanProcessor`](#spanprocessor) | supported | | * `batch`: supported
* `simple`: supported
| | [`SumAggregation`](#sumaggregation) | supported | | | @@ -7308,6 +7277,40 @@ Latest supported file format: `1.0.0-rc.1` | [`ViewSelector`](#viewselector) | supported | | * `instrument_name`: supported
* `instrument_type`: supported
* `meter_name`: supported
* `meter_schema_url`: supported
* `meter_version`: supported
* `unit`: ignored
| | [`ViewStream`](#viewstream) | supported | | * `aggregation`: supported
* `aggregation_cardinality_limit`: supported
* `attribute_keys`: supported
* `description`: supported
* `name`: supported
| | [`ZipkinSpanExporter`](#zipkinspanexporter) | supported | | * `endpoint`: supported
* `timeout`: supported
| +| [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | unknown | | | +| [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | unknown | | | +| [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | unknown | | * `local_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `remote_parent_sampled`: unknown
* `root`: unknown
| +| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
| +| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `probability`: unknown
| +| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | supported | | | +| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | supported | | * `http`: supported
* `peer`: supported
| +| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | supported | | | +| [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | supported | | * `request_captured_headers`: supported
* `response_captured_headers`: supported
| +| [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | supported | | * `client`: supported
* `server`: supported
| +| [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | supported | | * `request_captured_headers`: supported
* `response_captured_headers`: supported
| +| [`ExperimentalInstrumentation`](#experimentalinstrumentation) | supported | | * `cpp`: not_applicable
* `dotnet`: not_applicable
* `erlang`: not_applicable
* `general`: supported
* `go`: not_applicable
* `java`: supported
* `js`: not_applicable
* `php`: not_applicable
* `python`: not_applicable
* `ruby`: not_applicable
* `rust`: not_applicable
* `swift`: not_applicable
| +| [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | ignored | | * `endpoint`: ignored
* `initial_sampler`: ignored
* `interval`: ignored
| +| [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | supported | | | +| [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | supported | | * `disabled`: supported
* `minimum_severity`: not_implemented
* `trace_based`: not_implemented
| +| [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | supported | | * `default_config`: supported
* `loggers`: supported
| +| [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | supported | | * `config`: supported
* `name`: supported
| +| [`ExperimentalMeterConfig`](#experimentalmeterconfig) | supported | | * `disabled`: supported
| +| [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | supported | | * `default_config`: supported
* `meters`: supported
| +| [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | supported | | * `config`: supported
* `name`: supported
| +| [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | supported | | * `output_stream`: not_implemented
| +| [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | supported | | * `default_histogram_aggregation`: supported
* `output_stream`: not_implemented
* `temporality_preference`: supported
| +| [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | supported | | * `service_mapping`: supported
| +| [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | supported | | * `peer`: supported
* `service`: supported
| +| [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | ignored | | * `ratio`: ignored
| +| [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | supported | | | +| [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | supported | | * `host`: supported
* `port`: supported
* `translation_strategy`: not_implemented
* `with_resource_constant_labels`: supported
* `without_scope_info`: ignored
* `without_target_info`: ignored
| +| [`ExperimentalResourceDetection`](#experimentalresourcedetection) | supported | | * `attributes`: supported
* `detectors`: supported
| +| [`ExperimentalResourceDetector`](#experimentalresourcedetector) | supported | | * `container`: supported
* `host`: supported
* `process`: supported
* `service`: supported
| +| [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | supported | | | +| [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | unknown | | * `DEBUG`: unknown
* `DEBUG2`: unknown
* `DEBUG3`: unknown
* `DEBUG4`: unknown
* `ERROR`: unknown
* `ERROR2`: unknown
* `ERROR3`: unknown
* `ERROR4`: unknown
* `FATAL`: unknown
* `FATAL2`: unknown
* `FATAL3`: unknown
* `FATAL4`: unknown
* `INFO`: unknown
* `INFO2`: unknown
* `INFO3`: unknown
* `INFO4`: unknown
* `TRACE`: unknown
* `TRACE2`: unknown
* `TRACE3`: unknown
* `TRACE4`: unknown
* `WARN`: unknown
* `WARN2`: unknown
* `WARN3`: unknown
* `WARN4`: unknown
| +| [`ExperimentalTracerConfig`](#experimentaltracerconfig) | supported | | * `disabled`: supported
| +| [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | supported | | * `default_config`: supported
* `tracers`: supported
| +| [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | supported | | * `config`: supported
* `name`: supported
| ## js @@ -7334,40 +7337,6 @@ 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 | | * `local_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `remote_parent_sampled`: unknown
* `root`: unknown
| -| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
| -| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `probability`: unknown
| -| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | unknown | | | -| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | unknown | | * `http`: unknown
* `peer`: unknown
| -| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | unknown | | | -| [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | unknown | | * `request_captured_headers`: unknown
* `response_captured_headers`: unknown
| -| [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | unknown | | * `client`: unknown
* `server`: unknown
| -| [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | unknown | | * `request_captured_headers`: unknown
* `response_captured_headers`: unknown
| -| [`ExperimentalInstrumentation`](#experimentalinstrumentation) | unknown | | * `cpp`: unknown
* `dotnet`: unknown
* `erlang`: unknown
* `general`: unknown
* `go`: unknown
* `java`: unknown
* `js`: unknown
* `php`: unknown
* `python`: unknown
* `ruby`: unknown
* `rust`: unknown
* `swift`: unknown
| -| [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | unknown | | * `endpoint`: unknown
* `initial_sampler`: unknown
* `interval`: unknown
| -| [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | unknown | | | -| [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | unknown | | * `disabled`: unknown
* `minimum_severity`: unknown
* `trace_based`: unknown
| -| [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | unknown | | * `default_config`: unknown
* `loggers`: unknown
| -| [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| -| [`ExperimentalMeterConfig`](#experimentalmeterconfig) | unknown | | * `disabled`: unknown
| -| [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | unknown | | * `default_config`: unknown
* `meters`: unknown
| -| [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| -| [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | unknown | | * `output_stream`: unknown
| -| [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | unknown | | * `default_histogram_aggregation`: unknown
* `output_stream`: unknown
* `temporality_preference`: unknown
| -| [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | unknown | | * `service_mapping`: unknown
| -| [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | unknown | | * `peer`: unknown
* `service`: unknown
| -| [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | unknown | | * `ratio`: unknown
| -| [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | unknown | | | -| [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | unknown | | * `host`: unknown
* `port`: unknown
* `translation_strategy`: unknown
* `with_resource_constant_labels`: unknown
* `without_scope_info`: unknown
* `without_target_info`: unknown
| -| [`ExperimentalResourceDetection`](#experimentalresourcedetection) | unknown | | * `attributes`: unknown
* `detectors`: unknown
| -| [`ExperimentalResourceDetector`](#experimentalresourcedetector) | unknown | | * `container`: unknown
* `host`: unknown
* `process`: unknown
* `service`: unknown
| -| [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | unknown | | | -| [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | unknown | | * `DEBUG`: unknown
* `DEBUG2`: unknown
* `DEBUG3`: unknown
* `DEBUG4`: unknown
* `ERROR`: unknown
* `ERROR2`: unknown
* `ERROR3`: unknown
* `ERROR4`: unknown
* `FATAL`: unknown
* `FATAL2`: unknown
* `FATAL3`: unknown
* `FATAL4`: unknown
* `INFO`: unknown
* `INFO2`: unknown
* `INFO3`: unknown
* `INFO4`: unknown
* `TRACE`: unknown
* `TRACE2`: unknown
* `TRACE3`: unknown
* `TRACE4`: unknown
* `WARN`: unknown
* `WARN2`: unknown
* `WARN3`: unknown
* `WARN4`: unknown
| -| [`ExperimentalTracerConfig`](#experimentaltracerconfig) | unknown | | * `disabled`: unknown
| -| [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | unknown | | * `default_config`: unknown
* `tracers`: unknown
| -| [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| | [`ExplicitBucketHistogramAggregation`](#explicitbuckethistogramaggregation) | unknown | | * `boundaries`: unknown
* `record_min_max`: unknown
| | [`ExporterDefaultHistogramAggregation`](#exporterdefaulthistogramaggregation) | unknown | | * `base2_exponential_bucket_histogram`: unknown
* `explicit_bucket_histogram`: unknown
| | [`ExporterTemporalityPreference`](#exportertemporalitypreference) | unknown | | * `cumulative`: unknown
* `delta`: unknown
* `low_memory`: unknown
| @@ -7377,16 +7346,16 @@ Latest supported file format: `1.0.0-rc.2` | [`InstrumentType`](#instrumenttype) | unknown | | * `counter`: unknown
* `gauge`: unknown
* `histogram`: unknown
* `observable_counter`: unknown
* `observable_gauge`: unknown
* `observable_up_down_counter`: unknown
* `up_down_counter`: unknown
| | [`JaegerPropagator`](#jaegerpropagator) | unknown | | | | [`LastValueAggregation`](#lastvalueaggregation) | unknown | | | -| [`LoggerProvider`](#loggerprovider) | unknown | | * `limits`: unknown
* `logger_configurator/development`: unknown
* `processors`: unknown
| -| [`LogRecordExporter`](#logrecordexporter) | unknown | | * `console`: unknown
* `otlp_file/development`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
| +| [`LoggerProvider`](#loggerprovider) | unknown | | * `limits`: unknown
* `processors`: unknown
* `logger_configurator/development`: unknown
| +| [`LogRecordExporter`](#logrecordexporter) | unknown | | * `console`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
* `otlp_file/development`: unknown
| | [`LogRecordLimits`](#logrecordlimits) | unknown | | * `attribute_count_limit`: unknown
* `attribute_value_length_limit`: unknown
| | [`LogRecordProcessor`](#logrecordprocessor) | unknown | | * `batch`: unknown
* `simple`: unknown
| -| [`MeterProvider`](#meterprovider) | unknown | | * `exemplar_filter`: unknown
* `meter_configurator/development`: unknown
* `readers`: unknown
* `views`: unknown
| +| [`MeterProvider`](#meterprovider) | unknown | | * `exemplar_filter`: unknown
* `readers`: unknown
* `views`: unknown
* `meter_configurator/development`: unknown
| | [`MetricProducer`](#metricproducer) | unknown | | * `opencensus`: unknown
| | [`MetricReader`](#metricreader) | unknown | | * `periodic`: unknown
* `pull`: unknown
| | [`NameStringValuePair`](#namestringvaluepair) | unknown | | * `name`: unknown
* `value`: unknown
| | [`OpenCensusMetricProducer`](#opencensusmetricproducer) | unknown | | | -| [`OpenTelemetryConfiguration`](#opentelemetryconfiguration) | unknown | | * `attribute_limits`: unknown
* `disabled`: unknown
* `file_format`: unknown
* `instrumentation/development`: unknown
* `log_level`: unknown
* `logger_provider`: unknown
* `meter_provider`: unknown
* `propagator`: unknown
* `resource`: unknown
* `tracer_provider`: unknown
| +| [`OpenTelemetryConfiguration`](#opentelemetryconfiguration) | unknown | | * `attribute_limits`: unknown
* `disabled`: unknown
* `file_format`: unknown
* `log_level`: unknown
* `logger_provider`: unknown
* `meter_provider`: unknown
* `propagator`: unknown
* `resource`: unknown
* `tracer_provider`: unknown
* `instrumentation/development`: unknown
| | [`OpenTracingPropagator`](#opentracingpropagator) | unknown | | | | [`OtlpGrpcExporter`](#otlpgrpcexporter) | unknown | | * `compression`: unknown
* `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `timeout`: unknown
* `tls`: unknown
| | [`OtlpGrpcMetricExporter`](#otlpgrpcmetricexporter) | unknown | | * `compression`: unknown
* `default_histogram_aggregation`: unknown
* `endpoint`: unknown
* `headers`: unknown
* `headers_list`: unknown
* `temporality_preference`: unknown
* `timeout`: unknown
* `tls`: unknown
| @@ -7398,12 +7367,12 @@ Latest supported file format: `1.0.0-rc.2` | [`Propagator`](#propagator) | unknown | | * `composite`: unknown
* `composite_list`: unknown
| | [`PullMetricExporter`](#pullmetricexporter) | unknown | | * `prometheus/development`: unknown
| | [`PullMetricReader`](#pullmetricreader) | unknown | | * `cardinality_limits`: unknown
* `exporter`: unknown
* `producers`: unknown
| -| [`PushMetricExporter`](#pushmetricexporter) | unknown | | * `console`: unknown
* `otlp_file/development`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
| -| [`Resource`](#resource) | unknown | | * `attributes`: unknown
* `attributes_list`: unknown
* `detection/development`: unknown
* `schema_url`: unknown
| -| [`Sampler`](#sampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `composite/development`: unknown
* `jaeger_remote/development`: unknown
* `parent_based`: unknown
* `probability/development`: unknown
* `trace_id_ratio_based`: unknown
| +| [`PushMetricExporter`](#pushmetricexporter) | unknown | | * `console`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
* `otlp_file/development`: unknown
| +| [`Resource`](#resource) | unknown | | * `attributes`: unknown
* `attributes_list`: unknown
* `schema_url`: unknown
* `detection/development`: unknown
| +| [`Sampler`](#sampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `trace_id_ratio_based`: unknown
* `composite/development`: unknown
* `jaeger_remote/development`: unknown
* `probability/development`: unknown
| | [`SimpleLogRecordProcessor`](#simplelogrecordprocessor) | unknown | | * `exporter`: unknown
| | [`SimpleSpanProcessor`](#simplespanprocessor) | unknown | | * `exporter`: unknown
| -| [`SpanExporter`](#spanexporter) | unknown | | * `console`: unknown
* `otlp_file/development`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
* `zipkin`: unknown
| +| [`SpanExporter`](#spanexporter) | unknown | | * `console`: unknown
* `otlp_grpc`: unknown
* `otlp_http`: unknown
* `zipkin`: unknown
* `otlp_file/development`: unknown
| | [`SpanLimits`](#spanlimits) | unknown | | * `attribute_count_limit`: unknown
* `attribute_value_length_limit`: unknown
* `event_attribute_count_limit`: unknown
* `event_count_limit`: unknown
* `link_attribute_count_limit`: unknown
* `link_count_limit`: unknown
| | [`SpanProcessor`](#spanprocessor) | unknown | | * `batch`: unknown
* `simple`: unknown
| | [`SumAggregation`](#sumaggregation) | unknown | | | @@ -7415,6 +7384,40 @@ Latest supported file format: `1.0.0-rc.2` | [`ViewSelector`](#viewselector) | unknown | | * `instrument_name`: unknown
* `instrument_type`: unknown
* `meter_name`: unknown
* `meter_schema_url`: unknown
* `meter_version`: unknown
* `unit`: unknown
| | [`ViewStream`](#viewstream) | unknown | | * `aggregation`: unknown
* `aggregation_cardinality_limit`: unknown
* `attribute_keys`: unknown
* `description`: unknown
* `name`: unknown
| | [`ZipkinSpanExporter`](#zipkinspanexporter) | unknown | | * `endpoint`: unknown
* `timeout`: unknown
| +| [`ExperimentalComposableAlwaysOffSampler`](#experimentalcomposablealwaysoffsampler) | unknown | | | +| [`ExperimentalComposableAlwaysOnSampler`](#experimentalcomposablealwaysonsampler) | unknown | | | +| [`ExperimentalComposableParentBasedSampler`](#experimentalcomposableparentbasedsampler) | unknown | | * `local_parent_not_sampled`: unknown
* `local_parent_sampled`: unknown
* `remote_parent_not_sampled`: unknown
* `remote_parent_sampled`: unknown
* `root`: unknown
| +| [`ExperimentalComposableProbabilitySampler`](#experimentalcomposableprobabilitysampler) | unknown | | * `ratio`: unknown
| +| [`ExperimentalComposableSampler`](#experimentalcomposablesampler) | unknown | | * `always_off`: unknown
* `always_on`: unknown
* `parent_based`: unknown
* `probability`: unknown
| +| [`ExperimentalContainerResourceDetector`](#experimentalcontainerresourcedetector) | unknown | | | +| [`ExperimentalGeneralInstrumentation`](#experimentalgeneralinstrumentation) | unknown | | * `http`: unknown
* `peer`: unknown
| +| [`ExperimentalHostResourceDetector`](#experimentalhostresourcedetector) | unknown | | | +| [`ExperimentalHttpClientInstrumentation`](#experimentalhttpclientinstrumentation) | unknown | | * `request_captured_headers`: unknown
* `response_captured_headers`: unknown
| +| [`ExperimentalHttpInstrumentation`](#experimentalhttpinstrumentation) | unknown | | * `client`: unknown
* `server`: unknown
| +| [`ExperimentalHttpServerInstrumentation`](#experimentalhttpserverinstrumentation) | unknown | | * `request_captured_headers`: unknown
* `response_captured_headers`: unknown
| +| [`ExperimentalInstrumentation`](#experimentalinstrumentation) | unknown | | * `cpp`: unknown
* `dotnet`: unknown
* `erlang`: unknown
* `general`: unknown
* `go`: unknown
* `java`: unknown
* `js`: unknown
* `php`: unknown
* `python`: unknown
* `ruby`: unknown
* `rust`: unknown
* `swift`: unknown
| +| [`ExperimentalJaegerRemoteSampler`](#experimentaljaegerremotesampler) | unknown | | * `endpoint`: unknown
* `initial_sampler`: unknown
* `interval`: unknown
| +| [`ExperimentalLanguageSpecificInstrumentation`](#experimentallanguagespecificinstrumentation) | unknown | | | +| [`ExperimentalLoggerConfig`](#experimentalloggerconfig) | unknown | | * `disabled`: unknown
* `minimum_severity`: unknown
* `trace_based`: unknown
| +| [`ExperimentalLoggerConfigurator`](#experimentalloggerconfigurator) | unknown | | * `default_config`: unknown
* `loggers`: unknown
| +| [`ExperimentalLoggerMatcherAndConfig`](#experimentalloggermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| +| [`ExperimentalMeterConfig`](#experimentalmeterconfig) | unknown | | * `disabled`: unknown
| +| [`ExperimentalMeterConfigurator`](#experimentalmeterconfigurator) | unknown | | * `default_config`: unknown
* `meters`: unknown
| +| [`ExperimentalMeterMatcherAndConfig`](#experimentalmetermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| +| [`ExperimentalOtlpFileExporter`](#experimentalotlpfileexporter) | unknown | | * `output_stream`: unknown
| +| [`ExperimentalOtlpFileMetricExporter`](#experimentalotlpfilemetricexporter) | unknown | | * `default_histogram_aggregation`: unknown
* `output_stream`: unknown
* `temporality_preference`: unknown
| +| [`ExperimentalPeerInstrumentation`](#experimentalpeerinstrumentation) | unknown | | * `service_mapping`: unknown
| +| [`ExperimentalPeerServiceMapping`](#experimentalpeerservicemapping) | unknown | | * `peer`: unknown
* `service`: unknown
| +| [`ExperimentalProbabilitySampler`](#experimentalprobabilitysampler) | unknown | | * `ratio`: unknown
| +| [`ExperimentalProcessResourceDetector`](#experimentalprocessresourcedetector) | unknown | | | +| [`ExperimentalPrometheusMetricExporter`](#experimentalprometheusmetricexporter) | unknown | | * `host`: unknown
* `port`: unknown
* `translation_strategy`: unknown
* `with_resource_constant_labels`: unknown
* `without_scope_info`: unknown
* `without_target_info`: unknown
| +| [`ExperimentalResourceDetection`](#experimentalresourcedetection) | unknown | | * `attributes`: unknown
* `detectors`: unknown
| +| [`ExperimentalResourceDetector`](#experimentalresourcedetector) | unknown | | * `container`: unknown
* `host`: unknown
* `process`: unknown
* `service`: unknown
| +| [`ExperimentalServiceResourceDetector`](#experimentalserviceresourcedetector) | unknown | | | +| [`ExperimentalSeverityNumber`](#experimentalseveritynumber) | unknown | | * `DEBUG`: unknown
* `DEBUG2`: unknown
* `DEBUG3`: unknown
* `DEBUG4`: unknown
* `ERROR`: unknown
* `ERROR2`: unknown
* `ERROR3`: unknown
* `ERROR4`: unknown
* `FATAL`: unknown
* `FATAL2`: unknown
* `FATAL3`: unknown
* `FATAL4`: unknown
* `INFO`: unknown
* `INFO2`: unknown
* `INFO3`: unknown
* `INFO4`: unknown
* `TRACE`: unknown
* `TRACE2`: unknown
* `TRACE3`: unknown
* `TRACE4`: unknown
* `WARN`: unknown
* `WARN2`: unknown
* `WARN3`: unknown
* `WARN4`: unknown
| +| [`ExperimentalTracerConfig`](#experimentaltracerconfig) | unknown | | * `disabled`: unknown
| +| [`ExperimentalTracerConfigurator`](#experimentaltracerconfigurator) | unknown | | * `default_config`: unknown
* `tracers`: unknown
| +| [`ExperimentalTracerMatcherAndConfig`](#experimentaltracermatcherandconfig) | unknown | | * `config`: unknown
* `name`: unknown
| # SDK Extension Plugins diff --git a/schema/meta_schema_language_cpp.yaml b/schema/meta_schema_language_cpp.yaml index 75181902..d45a0a01 100644 --- a/schema/meta_schema_language_cpp.yaml +++ b/schema/meta_schema_language_cpp.yaml @@ -54,112 +54,6 @@ typeSupportStatuses: - type: ExemplarFilter status: not_implemented enumOverrides: [] - - type: ExperimentalComposableAlwaysOffSampler - status: unknown - propertyOverrides: [] - - type: ExperimentalComposableAlwaysOnSampler - status: unknown - propertyOverrides: [] - - type: ExperimentalComposableParentBasedSampler - status: unknown - propertyOverrides: [] - - type: ExperimentalComposableProbabilitySampler - status: unknown - propertyOverrides: [] - - type: ExperimentalComposableSampler - status: unknown - propertyOverrides: [] - - type: ExperimentalContainerResourceDetector - status: not_implemented - propertyOverrides: [] - - type: ExperimentalGeneralInstrumentation - status: not_applicable - propertyOverrides: [] - - type: ExperimentalHostResourceDetector - status: not_implemented - propertyOverrides: [] - - type: ExperimentalHttpClientInstrumentation - status: not_applicable - propertyOverrides: [] - - type: ExperimentalHttpInstrumentation - status: not_applicable - propertyOverrides: [] - - type: ExperimentalHttpServerInstrumentation - status: not_applicable - propertyOverrides: [] - - type: ExperimentalInstrumentation - status: not_applicable - propertyOverrides: [] - - type: ExperimentalJaegerRemoteSampler - status: not_implemented - propertyOverrides: [] - - type: ExperimentalLanguageSpecificInstrumentation - status: not_applicable - propertyOverrides: [] - - type: ExperimentalLoggerConfig - status: not_implemented - propertyOverrides: [] - - type: ExperimentalLoggerConfigurator - status: not_implemented - propertyOverrides: [] - - type: ExperimentalLoggerMatcherAndConfig - status: not_implemented - propertyOverrides: [] - - type: ExperimentalMeterConfig - status: not_implemented - propertyOverrides: [] - - type: ExperimentalMeterConfigurator - status: not_implemented - propertyOverrides: [] - - type: ExperimentalMeterMatcherAndConfig - status: not_implemented - propertyOverrides: [] - - type: ExperimentalOtlpFileExporter - status: supported - propertyOverrides: [] - - type: ExperimentalOtlpFileMetricExporter - status: supported - propertyOverrides: [] - - type: ExperimentalPeerInstrumentation - status: not_implemented - propertyOverrides: [] - - type: ExperimentalPeerServiceMapping - status: not_implemented - propertyOverrides: [] - - type: ExperimentalProbabilitySampler - status: not_implemented - propertyOverrides: [] - - type: ExperimentalProcessResourceDetector - status: not_implemented - propertyOverrides: [] - - type: ExperimentalPrometheusMetricExporter - status: supported - propertyOverrides: - - property: without_scope_info - status: unknown - - property: without_target_info - status: unknown - - type: ExperimentalResourceDetection - status: not_implemented - propertyOverrides: [] - - type: ExperimentalResourceDetector - status: not_implemented - propertyOverrides: [] - - type: ExperimentalServiceResourceDetector - status: not_implemented - propertyOverrides: [] - - type: ExperimentalSeverityNumber - status: unknown - enumOverrides: [] - - type: ExperimentalTracerConfig - status: not_implemented - propertyOverrides: [] - - type: ExperimentalTracerConfigurator - status: not_implemented - propertyOverrides: [] - - type: ExperimentalTracerMatcherAndConfig - status: not_implemented - propertyOverrides: [] - type: ExplicitBucketHistogramAggregation status: supported propertyOverrides: [] @@ -301,3 +195,109 @@ typeSupportStatuses: - type: ZipkinSpanExporter status: supported propertyOverrides: [] + - type: ExperimentalComposableAlwaysOffSampler + status: unknown + propertyOverrides: [] + - type: ExperimentalComposableAlwaysOnSampler + status: unknown + propertyOverrides: [] + - type: ExperimentalComposableParentBasedSampler + status: unknown + propertyOverrides: [] + - type: ExperimentalComposableProbabilitySampler + status: unknown + propertyOverrides: [] + - type: ExperimentalComposableSampler + status: unknown + propertyOverrides: [] + - type: ExperimentalContainerResourceDetector + status: not_implemented + propertyOverrides: [] + - type: ExperimentalGeneralInstrumentation + status: not_applicable + propertyOverrides: [] + - type: ExperimentalHostResourceDetector + status: not_implemented + propertyOverrides: [] + - type: ExperimentalHttpClientInstrumentation + status: not_applicable + propertyOverrides: [] + - type: ExperimentalHttpInstrumentation + status: not_applicable + propertyOverrides: [] + - type: ExperimentalHttpServerInstrumentation + status: not_applicable + propertyOverrides: [] + - type: ExperimentalInstrumentation + status: not_applicable + propertyOverrides: [] + - type: ExperimentalJaegerRemoteSampler + status: not_implemented + propertyOverrides: [] + - type: ExperimentalLanguageSpecificInstrumentation + status: not_applicable + propertyOverrides: [] + - type: ExperimentalLoggerConfig + status: not_implemented + propertyOverrides: [] + - type: ExperimentalLoggerConfigurator + status: not_implemented + propertyOverrides: [] + - type: ExperimentalLoggerMatcherAndConfig + status: not_implemented + propertyOverrides: [] + - type: ExperimentalMeterConfig + status: not_implemented + propertyOverrides: [] + - type: ExperimentalMeterConfigurator + status: not_implemented + propertyOverrides: [] + - type: ExperimentalMeterMatcherAndConfig + status: not_implemented + propertyOverrides: [] + - type: ExperimentalOtlpFileExporter + status: supported + propertyOverrides: [] + - type: ExperimentalOtlpFileMetricExporter + status: supported + propertyOverrides: [] + - type: ExperimentalPeerInstrumentation + status: not_implemented + propertyOverrides: [] + - type: ExperimentalPeerServiceMapping + status: not_implemented + propertyOverrides: [] + - type: ExperimentalProbabilitySampler + status: not_implemented + propertyOverrides: [] + - type: ExperimentalProcessResourceDetector + status: not_implemented + propertyOverrides: [] + - type: ExperimentalPrometheusMetricExporter + status: supported + propertyOverrides: + - property: without_scope_info + status: unknown + - property: without_target_info + status: unknown + - type: ExperimentalResourceDetection + status: not_implemented + propertyOverrides: [] + - type: ExperimentalResourceDetector + status: not_implemented + propertyOverrides: [] + - type: ExperimentalServiceResourceDetector + status: not_implemented + propertyOverrides: [] + - type: ExperimentalSeverityNumber + status: unknown + enumOverrides: [] + - type: ExperimentalTracerConfig + status: not_implemented + propertyOverrides: [] + - type: ExperimentalTracerConfigurator + status: not_implemented + propertyOverrides: [] + - type: ExperimentalTracerMatcherAndConfig + status: not_implemented + propertyOverrides: [] diff --git a/schema/meta_schema_language_go.yaml b/schema/meta_schema_language_go.yaml index 41ef9846..20cae541 100644 --- a/schema/meta_schema_language_go.yaml +++ b/schema/meta_schema_language_go.yaml @@ -54,246 +54,246 @@ typeSupportStatuses: - type: ExemplarFilter status: unknown enumOverrides: [] - - type: ExperimentalComposableAlwaysOffSampler + - type: ExplicitBucketHistogramAggregation status: unknown propertyOverrides: [] - - type: ExperimentalComposableAlwaysOnSampler + - type: ExporterDefaultHistogramAggregation status: unknown - propertyOverrides: [] - - type: ExperimentalComposableParentBasedSampler + enumOverrides: [] + - type: ExporterTemporalityPreference status: unknown - propertyOverrides: [] - - type: ExperimentalComposableProbabilitySampler + enumOverrides: [] + - type: GrpcTls status: unknown propertyOverrides: [] - - type: ExperimentalComposableSampler + - type: HttpTls status: unknown propertyOverrides: [] - - type: ExperimentalContainerResourceDetector + - type: IncludeExclude status: unknown propertyOverrides: [] - - type: ExperimentalGeneralInstrumentation + - type: InstrumentType status: unknown - propertyOverrides: [] - - type: ExperimentalHostResourceDetector + enumOverrides: [] + - type: JaegerPropagator status: unknown propertyOverrides: [] - - type: ExperimentalHttpClientInstrumentation + - type: LastValueAggregation status: unknown propertyOverrides: [] - - type: ExperimentalHttpInstrumentation + - type: LoggerProvider status: unknown propertyOverrides: [] - - type: ExperimentalHttpServerInstrumentation + - type: LogRecordExporter status: unknown propertyOverrides: [] - - type: ExperimentalInstrumentation + - type: LogRecordLimits status: unknown propertyOverrides: [] - - type: ExperimentalJaegerRemoteSampler + - type: LogRecordProcessor status: unknown propertyOverrides: [] - - type: ExperimentalLanguageSpecificInstrumentation + - type: MeterProvider status: unknown propertyOverrides: [] - - type: ExperimentalLoggerConfig + - type: MetricProducer status: unknown propertyOverrides: [] - - type: ExperimentalLoggerConfigurator + - type: MetricReader status: unknown propertyOverrides: [] - - type: ExperimentalLoggerMatcherAndConfig + - type: NameStringValuePair status: unknown propertyOverrides: [] - - type: ExperimentalMeterConfig + - type: OpenCensusMetricProducer status: unknown propertyOverrides: [] - - type: ExperimentalMeterConfigurator + - type: OpenTelemetryConfiguration status: unknown propertyOverrides: [] - - type: ExperimentalMeterMatcherAndConfig + - type: OpenTracingPropagator status: unknown propertyOverrides: [] - - type: ExperimentalOtlpFileExporter + - type: OtlpGrpcExporter status: unknown propertyOverrides: [] - - type: ExperimentalOtlpFileMetricExporter + - type: OtlpGrpcMetricExporter status: unknown propertyOverrides: [] - - type: ExperimentalPeerInstrumentation + - type: OtlpHttpEncoding status: unknown - propertyOverrides: [] - - type: ExperimentalPeerServiceMapping + enumOverrides: [] + - type: OtlpHttpExporter status: unknown propertyOverrides: [] - - type: ExperimentalProbabilitySampler + - type: OtlpHttpMetricExporter status: unknown propertyOverrides: [] - - type: ExperimentalProcessResourceDetector + - type: ParentBasedSampler status: unknown propertyOverrides: [] - - type: ExperimentalPrometheusMetricExporter + - type: PeriodicMetricReader status: unknown propertyOverrides: [] - - type: ExperimentalResourceDetection + - type: Propagator status: unknown propertyOverrides: [] - - type: ExperimentalResourceDetector + - type: PullMetricExporter status: unknown propertyOverrides: [] - - type: ExperimentalServiceResourceDetector + - type: PullMetricReader status: unknown propertyOverrides: [] - - type: ExperimentalSeverityNumber - status: unknown - enumOverrides: [] - - type: ExperimentalTracerConfig + - type: PushMetricExporter status: unknown propertyOverrides: [] - - type: ExperimentalTracerConfigurator + - type: Resource status: unknown propertyOverrides: [] - - type: ExperimentalTracerMatcherAndConfig + - type: Sampler status: unknown propertyOverrides: [] - - type: ExplicitBucketHistogramAggregation + - type: SimpleLogRecordProcessor status: unknown propertyOverrides: [] - - type: ExporterDefaultHistogramAggregation + - type: SimpleSpanProcessor status: unknown - enumOverrides: [] - - type: ExporterTemporalityPreference + propertyOverrides: [] + - type: SpanExporter status: unknown - enumOverrides: [] - - type: GrpcTls + propertyOverrides: [] + - type: SpanLimits status: unknown propertyOverrides: [] - - type: HttpTls + - type: SpanProcessor status: unknown propertyOverrides: [] - - type: IncludeExclude + - type: SumAggregation status: unknown propertyOverrides: [] - - type: InstrumentType + - type: TextMapPropagator status: unknown - enumOverrides: [] - - type: JaegerPropagator + propertyOverrides: [] + - type: TraceContextPropagator status: unknown propertyOverrides: [] - - type: LastValueAggregation + - type: TraceIdRatioBasedSampler status: unknown propertyOverrides: [] - - type: LoggerProvider + - type: TracerProvider status: unknown propertyOverrides: [] - - type: LogRecordExporter + - type: View status: unknown propertyOverrides: [] - - type: LogRecordLimits + - type: ViewSelector status: unknown propertyOverrides: [] - - type: LogRecordProcessor + - type: ViewStream status: unknown propertyOverrides: [] - - type: MeterProvider + - type: ZipkinSpanExporter status: unknown propertyOverrides: [] - - type: MetricProducer + - type: ExperimentalComposableAlwaysOffSampler status: unknown propertyOverrides: [] - - type: MetricReader + - type: ExperimentalComposableAlwaysOnSampler status: unknown propertyOverrides: [] - - type: NameStringValuePair + - type: ExperimentalComposableParentBasedSampler status: unknown propertyOverrides: [] - - type: OpenCensusMetricProducer + - type: ExperimentalComposableProbabilitySampler status: unknown propertyOverrides: [] - - type: OpenTelemetryConfiguration + - type: ExperimentalComposableSampler status: unknown propertyOverrides: [] - - type: OpenTracingPropagator + - type: ExperimentalContainerResourceDetector status: unknown propertyOverrides: [] - - type: OtlpGrpcExporter + - type: ExperimentalGeneralInstrumentation status: unknown propertyOverrides: [] - - type: OtlpGrpcMetricExporter + - type: ExperimentalHostResourceDetector status: unknown propertyOverrides: [] - - type: OtlpHttpEncoding + - type: ExperimentalHttpClientInstrumentation status: unknown - enumOverrides: [] - - type: OtlpHttpExporter + propertyOverrides: [] + - type: ExperimentalHttpInstrumentation status: unknown propertyOverrides: [] - - type: OtlpHttpMetricExporter + - type: ExperimentalHttpServerInstrumentation status: unknown propertyOverrides: [] - - type: ParentBasedSampler + - type: ExperimentalInstrumentation status: unknown propertyOverrides: [] - - type: PeriodicMetricReader + - type: ExperimentalJaegerRemoteSampler status: unknown propertyOverrides: [] - - type: Propagator + - type: ExperimentalLanguageSpecificInstrumentation status: unknown propertyOverrides: [] - - type: PullMetricExporter + - type: ExperimentalLoggerConfig status: unknown propertyOverrides: [] - - type: PullMetricReader + - type: ExperimentalLoggerConfigurator status: unknown propertyOverrides: [] - - type: PushMetricExporter + - type: ExperimentalLoggerMatcherAndConfig status: unknown propertyOverrides: [] - - type: Resource + - type: ExperimentalMeterConfig status: unknown propertyOverrides: [] - - type: Sampler + - type: ExperimentalMeterConfigurator status: unknown propertyOverrides: [] - - type: SimpleLogRecordProcessor + - type: ExperimentalMeterMatcherAndConfig status: unknown propertyOverrides: [] - - type: SimpleSpanProcessor + - type: ExperimentalOtlpFileExporter status: unknown propertyOverrides: [] - - type: SpanExporter + - type: ExperimentalOtlpFileMetricExporter status: unknown propertyOverrides: [] - - type: SpanLimits + - type: ExperimentalPeerInstrumentation status: unknown propertyOverrides: [] - - type: SpanProcessor + - type: ExperimentalPeerServiceMapping status: unknown propertyOverrides: [] - - type: SumAggregation + - type: ExperimentalProbabilitySampler status: unknown propertyOverrides: [] - - type: TextMapPropagator + - type: ExperimentalProcessResourceDetector status: unknown propertyOverrides: [] - - type: TraceContextPropagator + - type: ExperimentalPrometheusMetricExporter status: unknown propertyOverrides: [] - - type: TraceIdRatioBasedSampler + - type: ExperimentalResourceDetection status: unknown propertyOverrides: [] - - type: TracerProvider + - type: ExperimentalResourceDetector status: unknown propertyOverrides: [] - - type: View + - type: ExperimentalServiceResourceDetector status: unknown propertyOverrides: [] - - type: ViewSelector + - type: ExperimentalSeverityNumber + status: unknown + enumOverrides: [] + - type: ExperimentalTracerConfig status: unknown propertyOverrides: [] - - type: ViewStream + - type: ExperimentalTracerConfigurator status: unknown propertyOverrides: [] - - type: ZipkinSpanExporter + - type: ExperimentalTracerMatcherAndConfig status: unknown propertyOverrides: [] diff --git a/schema/meta_schema_language_java.yaml b/schema/meta_schema_language_java.yaml index 19565142..223c783e 100644 --- a/schema/meta_schema_language_java.yaml +++ b/schema/meta_schema_language_java.yaml @@ -60,142 +60,6 @@ typeSupportStatuses: - type: ExemplarFilter status: supported enumOverrides: [] - - type: ExperimentalComposableAlwaysOffSampler - status: unknown - propertyOverrides: [] - - type: ExperimentalComposableAlwaysOnSampler - status: unknown - propertyOverrides: [] - - type: ExperimentalComposableParentBasedSampler - status: unknown - propertyOverrides: [] - - type: ExperimentalComposableProbabilitySampler - status: unknown - propertyOverrides: [] - - type: ExperimentalComposableSampler - status: unknown - propertyOverrides: [] - - type: ExperimentalContainerResourceDetector - status: supported - propertyOverrides: [] - - type: ExperimentalGeneralInstrumentation - status: supported - propertyOverrides: [] - - type: ExperimentalHostResourceDetector - status: supported - propertyOverrides: [] - - type: ExperimentalHttpClientInstrumentation - status: supported - propertyOverrides: [] - - type: ExperimentalHttpInstrumentation - status: supported - propertyOverrides: [] - - type: ExperimentalHttpServerInstrumentation - status: supported - propertyOverrides: [] - - type: ExperimentalInstrumentation - status: supported - propertyOverrides: - - property: cpp - status: not_applicable - - property: dotnet - status: not_applicable - - property: erlang - status: not_applicable - - property: go - status: not_applicable - - property: js - status: not_applicable - - property: php - status: not_applicable - - property: python - status: not_applicable - - property: ruby - status: not_applicable - - property: rust - status: not_applicable - - property: swift - status: not_applicable - - type: ExperimentalJaegerRemoteSampler - status: ignored - propertyOverrides: [] - - type: ExperimentalLanguageSpecificInstrumentation - status: supported - propertyOverrides: [] - - type: ExperimentalLoggerConfig - status: supported - propertyOverrides: - - property: minimum_severity - status: not_implemented - - property: trace_based - status: not_implemented - - type: ExperimentalLoggerConfigurator - status: supported - propertyOverrides: [] - - type: ExperimentalLoggerMatcherAndConfig - status: supported - propertyOverrides: [] - - type: ExperimentalMeterConfig - status: supported - propertyOverrides: [] - - type: ExperimentalMeterConfigurator - status: supported - propertyOverrides: [] - - type: ExperimentalMeterMatcherAndConfig - status: supported - propertyOverrides: [] - - type: ExperimentalOtlpFileExporter - status: supported - propertyOverrides: - - property: output_stream - status: not_implemented - - type: ExperimentalOtlpFileMetricExporter - status: supported - propertyOverrides: - - property: output_stream - status: not_implemented - - type: ExperimentalPeerInstrumentation - status: supported - propertyOverrides: [] - - type: ExperimentalPeerServiceMapping - status: supported - propertyOverrides: [] - - type: ExperimentalProbabilitySampler - status: ignored - propertyOverrides: [] - - type: ExperimentalProcessResourceDetector - status: supported - propertyOverrides: [] - - type: ExperimentalPrometheusMetricExporter - status: supported - propertyOverrides: - - property: translation_strategy - status: not_implemented - - property: without_scope_info - status: ignored - - property: without_target_info - status: ignored - - type: ExperimentalResourceDetection - status: supported - propertyOverrides: [] - - type: ExperimentalResourceDetector - status: supported - propertyOverrides: [] - - type: ExperimentalServiceResourceDetector - status: supported - propertyOverrides: [] - - type: ExperimentalSeverityNumber - status: unknown - enumOverrides: [] - - type: ExperimentalTracerConfig - status: supported - propertyOverrides: [] - - type: ExperimentalTracerConfigurator - status: supported - propertyOverrides: [] - - type: ExperimentalTracerMatcherAndConfig - status: supported - propertyOverrides: [] - type: ExplicitBucketHistogramAggregation status: supported propertyOverrides: @@ -365,3 +229,139 @@ typeSupportStatuses: - type: ZipkinSpanExporter status: supported propertyOverrides: [] + - type: ExperimentalComposableAlwaysOffSampler + status: unknown + propertyOverrides: [] + - type: ExperimentalComposableAlwaysOnSampler + status: unknown + propertyOverrides: [] + - type: ExperimentalComposableParentBasedSampler + status: unknown + propertyOverrides: [] + - type: ExperimentalComposableProbabilitySampler + status: unknown + propertyOverrides: [] + - type: ExperimentalComposableSampler + status: unknown + propertyOverrides: [] + - type: ExperimentalContainerResourceDetector + status: supported + propertyOverrides: [] + - type: ExperimentalGeneralInstrumentation + status: supported + propertyOverrides: [] + - type: ExperimentalHostResourceDetector + status: supported + propertyOverrides: [] + - type: ExperimentalHttpClientInstrumentation + status: supported + propertyOverrides: [] + - type: ExperimentalHttpInstrumentation + status: supported + propertyOverrides: [] + - type: ExperimentalHttpServerInstrumentation + status: supported + propertyOverrides: [] + - type: ExperimentalInstrumentation + status: supported + propertyOverrides: + - property: cpp + status: not_applicable + - property: dotnet + status: not_applicable + - property: erlang + status: not_applicable + - property: go + status: not_applicable + - property: js + status: not_applicable + - property: php + status: not_applicable + - property: python + status: not_applicable + - property: ruby + status: not_applicable + - property: rust + status: not_applicable + - property: swift + status: not_applicable + - type: ExperimentalJaegerRemoteSampler + status: ignored + propertyOverrides: [] + - type: ExperimentalLanguageSpecificInstrumentation + status: supported + propertyOverrides: [] + - type: ExperimentalLoggerConfig + status: supported + propertyOverrides: + - property: minimum_severity + status: not_implemented + - property: trace_based + status: not_implemented + - type: ExperimentalLoggerConfigurator + status: supported + propertyOverrides: [] + - type: ExperimentalLoggerMatcherAndConfig + status: supported + propertyOverrides: [] + - type: ExperimentalMeterConfig + status: supported + propertyOverrides: [] + - type: ExperimentalMeterConfigurator + status: supported + propertyOverrides: [] + - type: ExperimentalMeterMatcherAndConfig + status: supported + propertyOverrides: [] + - type: ExperimentalOtlpFileExporter + status: supported + propertyOverrides: + - property: output_stream + status: not_implemented + - type: ExperimentalOtlpFileMetricExporter + status: supported + propertyOverrides: + - property: output_stream + status: not_implemented + - type: ExperimentalPeerInstrumentation + status: supported + propertyOverrides: [] + - type: ExperimentalPeerServiceMapping + status: supported + propertyOverrides: [] + - type: ExperimentalProbabilitySampler + status: ignored + propertyOverrides: [] + - type: ExperimentalProcessResourceDetector + status: supported + propertyOverrides: [] + - type: ExperimentalPrometheusMetricExporter + status: supported + propertyOverrides: + - property: translation_strategy + status: not_implemented + - property: without_scope_info + status: ignored + - property: without_target_info + status: ignored + - type: ExperimentalResourceDetection + status: supported + propertyOverrides: [] + - type: ExperimentalResourceDetector + status: supported + propertyOverrides: [] + - type: ExperimentalServiceResourceDetector + status: supported + propertyOverrides: [] + - type: ExperimentalSeverityNumber + status: unknown + enumOverrides: [] + - type: ExperimentalTracerConfig + status: supported + propertyOverrides: [] + - type: ExperimentalTracerConfigurator + status: supported + propertyOverrides: [] + - type: ExperimentalTracerMatcherAndConfig + status: supported + propertyOverrides: [] diff --git a/schema/meta_schema_language_js.yaml b/schema/meta_schema_language_js.yaml index c1f1cce1..4dfef586 100644 --- a/schema/meta_schema_language_js.yaml +++ b/schema/meta_schema_language_js.yaml @@ -54,246 +54,246 @@ typeSupportStatuses: - type: ExemplarFilter status: unknown enumOverrides: [] - - type: ExperimentalComposableAlwaysOffSampler + - type: ExplicitBucketHistogramAggregation status: unknown propertyOverrides: [] - - type: ExperimentalComposableAlwaysOnSampler + - type: ExporterDefaultHistogramAggregation status: unknown - propertyOverrides: [] - - type: ExperimentalComposableParentBasedSampler + enumOverrides: [] + - type: ExporterTemporalityPreference status: unknown - propertyOverrides: [] - - type: ExperimentalComposableProbabilitySampler + enumOverrides: [] + - type: GrpcTls status: unknown propertyOverrides: [] - - type: ExperimentalComposableSampler + - type: HttpTls status: unknown propertyOverrides: [] - - type: ExperimentalContainerResourceDetector + - type: IncludeExclude status: unknown propertyOverrides: [] - - type: ExperimentalGeneralInstrumentation + - type: InstrumentType status: unknown - propertyOverrides: [] - - type: ExperimentalHostResourceDetector + enumOverrides: [] + - type: JaegerPropagator status: unknown propertyOverrides: [] - - type: ExperimentalHttpClientInstrumentation + - type: LastValueAggregation status: unknown propertyOverrides: [] - - type: ExperimentalHttpInstrumentation + - type: LoggerProvider status: unknown propertyOverrides: [] - - type: ExperimentalHttpServerInstrumentation + - type: LogRecordExporter status: unknown propertyOverrides: [] - - type: ExperimentalInstrumentation + - type: LogRecordLimits status: unknown propertyOverrides: [] - - type: ExperimentalJaegerRemoteSampler + - type: LogRecordProcessor status: unknown propertyOverrides: [] - - type: ExperimentalLanguageSpecificInstrumentation + - type: MeterProvider status: unknown propertyOverrides: [] - - type: ExperimentalLoggerConfig + - type: MetricProducer status: unknown propertyOverrides: [] - - type: ExperimentalLoggerConfigurator + - type: MetricReader status: unknown propertyOverrides: [] - - type: ExperimentalLoggerMatcherAndConfig + - type: NameStringValuePair status: unknown propertyOverrides: [] - - type: ExperimentalMeterConfig + - type: OpenCensusMetricProducer status: unknown propertyOverrides: [] - - type: ExperimentalMeterConfigurator + - type: OpenTelemetryConfiguration status: unknown propertyOverrides: [] - - type: ExperimentalMeterMatcherAndConfig + - type: OpenTracingPropagator status: unknown propertyOverrides: [] - - type: ExperimentalOtlpFileExporter + - type: OtlpGrpcExporter status: unknown propertyOverrides: [] - - type: ExperimentalOtlpFileMetricExporter + - type: OtlpGrpcMetricExporter status: unknown propertyOverrides: [] - - type: ExperimentalPeerInstrumentation + - type: OtlpHttpEncoding status: unknown - propertyOverrides: [] - - type: ExperimentalPeerServiceMapping + enumOverrides: [] + - type: OtlpHttpExporter status: unknown propertyOverrides: [] - - type: ExperimentalProbabilitySampler + - type: OtlpHttpMetricExporter status: unknown propertyOverrides: [] - - type: ExperimentalProcessResourceDetector + - type: ParentBasedSampler status: unknown propertyOverrides: [] - - type: ExperimentalPrometheusMetricExporter + - type: PeriodicMetricReader status: unknown propertyOverrides: [] - - type: ExperimentalResourceDetection + - type: Propagator status: unknown propertyOverrides: [] - - type: ExperimentalResourceDetector + - type: PullMetricExporter status: unknown propertyOverrides: [] - - type: ExperimentalServiceResourceDetector + - type: PullMetricReader status: unknown propertyOverrides: [] - - type: ExperimentalSeverityNumber - status: unknown - enumOverrides: [] - - type: ExperimentalTracerConfig + - type: PushMetricExporter status: unknown propertyOverrides: [] - - type: ExperimentalTracerConfigurator + - type: Resource status: unknown propertyOverrides: [] - - type: ExperimentalTracerMatcherAndConfig + - type: Sampler status: unknown propertyOverrides: [] - - type: ExplicitBucketHistogramAggregation + - type: SimpleLogRecordProcessor status: unknown propertyOverrides: [] - - type: ExporterDefaultHistogramAggregation + - type: SimpleSpanProcessor status: unknown - enumOverrides: [] - - type: ExporterTemporalityPreference + propertyOverrides: [] + - type: SpanExporter status: unknown - enumOverrides: [] - - type: GrpcTls + propertyOverrides: [] + - type: SpanLimits status: unknown propertyOverrides: [] - - type: HttpTls + - type: SpanProcessor status: unknown propertyOverrides: [] - - type: IncludeExclude + - type: SumAggregation status: unknown propertyOverrides: [] - - type: InstrumentType + - type: TextMapPropagator status: unknown - enumOverrides: [] - - type: JaegerPropagator + propertyOverrides: [] + - type: TraceContextPropagator status: unknown propertyOverrides: [] - - type: LastValueAggregation + - type: TraceIdRatioBasedSampler status: unknown propertyOverrides: [] - - type: LoggerProvider + - type: TracerProvider status: unknown propertyOverrides: [] - - type: LogRecordExporter + - type: View status: unknown propertyOverrides: [] - - type: LogRecordLimits + - type: ViewSelector status: unknown propertyOverrides: [] - - type: LogRecordProcessor + - type: ViewStream status: unknown propertyOverrides: [] - - type: MeterProvider + - type: ZipkinSpanExporter status: unknown propertyOverrides: [] - - type: MetricProducer + - type: ExperimentalComposableAlwaysOffSampler status: unknown propertyOverrides: [] - - type: MetricReader + - type: ExperimentalComposableAlwaysOnSampler status: unknown propertyOverrides: [] - - type: NameStringValuePair + - type: ExperimentalComposableParentBasedSampler status: unknown propertyOverrides: [] - - type: OpenCensusMetricProducer + - type: ExperimentalComposableProbabilitySampler status: unknown propertyOverrides: [] - - type: OpenTelemetryConfiguration + - type: ExperimentalComposableSampler status: unknown propertyOverrides: [] - - type: OpenTracingPropagator + - type: ExperimentalContainerResourceDetector status: unknown propertyOverrides: [] - - type: OtlpGrpcExporter + - type: ExperimentalGeneralInstrumentation status: unknown propertyOverrides: [] - - type: OtlpGrpcMetricExporter + - type: ExperimentalHostResourceDetector status: unknown propertyOverrides: [] - - type: OtlpHttpEncoding + - type: ExperimentalHttpClientInstrumentation status: unknown - enumOverrides: [] - - type: OtlpHttpExporter + propertyOverrides: [] + - type: ExperimentalHttpInstrumentation status: unknown propertyOverrides: [] - - type: OtlpHttpMetricExporter + - type: ExperimentalHttpServerInstrumentation status: unknown propertyOverrides: [] - - type: ParentBasedSampler + - type: ExperimentalInstrumentation status: unknown propertyOverrides: [] - - type: PeriodicMetricReader + - type: ExperimentalJaegerRemoteSampler status: unknown propertyOverrides: [] - - type: Propagator + - type: ExperimentalLanguageSpecificInstrumentation status: unknown propertyOverrides: [] - - type: PullMetricExporter + - type: ExperimentalLoggerConfig status: unknown propertyOverrides: [] - - type: PullMetricReader + - type: ExperimentalLoggerConfigurator status: unknown propertyOverrides: [] - - type: PushMetricExporter + - type: ExperimentalLoggerMatcherAndConfig status: unknown propertyOverrides: [] - - type: Resource + - type: ExperimentalMeterConfig status: unknown propertyOverrides: [] - - type: Sampler + - type: ExperimentalMeterConfigurator status: unknown propertyOverrides: [] - - type: SimpleLogRecordProcessor + - type: ExperimentalMeterMatcherAndConfig status: unknown propertyOverrides: [] - - type: SimpleSpanProcessor + - type: ExperimentalOtlpFileExporter status: unknown propertyOverrides: [] - - type: SpanExporter + - type: ExperimentalOtlpFileMetricExporter status: unknown propertyOverrides: [] - - type: SpanLimits + - type: ExperimentalPeerInstrumentation status: unknown propertyOverrides: [] - - type: SpanProcessor + - type: ExperimentalPeerServiceMapping status: unknown propertyOverrides: [] - - type: SumAggregation + - type: ExperimentalProbabilitySampler status: unknown propertyOverrides: [] - - type: TextMapPropagator + - type: ExperimentalProcessResourceDetector status: unknown propertyOverrides: [] - - type: TraceContextPropagator + - type: ExperimentalPrometheusMetricExporter status: unknown propertyOverrides: [] - - type: TraceIdRatioBasedSampler + - type: ExperimentalResourceDetection status: unknown propertyOverrides: [] - - type: TracerProvider + - type: ExperimentalResourceDetector status: unknown propertyOverrides: [] - - type: View + - type: ExperimentalServiceResourceDetector status: unknown propertyOverrides: [] - - type: ViewSelector + - type: ExperimentalSeverityNumber + status: unknown + enumOverrides: [] + - type: ExperimentalTracerConfig status: unknown propertyOverrides: [] - - type: ViewStream + - type: ExperimentalTracerConfigurator status: unknown propertyOverrides: [] - - type: ZipkinSpanExporter + - type: ExperimentalTracerMatcherAndConfig status: unknown propertyOverrides: [] diff --git a/schema/meta_schema_types.yaml b/schema/meta_schema_types.yaml index 2e2687a2..f4020230 100644 --- a/schema/meta_schema_types.yaml +++ b/schema/meta_schema_types.yaml @@ -169,307 +169,33 @@ - type: ConsoleExporter properties: [] isSdkExtensionPlugin: false -- type: DefaultAggregation - properties: [] - isSdkExtensionPlugin: false -- type: DropAggregation - properties: [] - isSdkExtensionPlugin: false -- type: ExemplarFilter - enumValues: - - enumValue: always_off - description: TODO - - enumValue: always_on - description: TODO - - enumValue: trace_based - description: TODO - isSdkExtensionPlugin: false -- type: ExperimentalContainerResourceDetector - properties: [] - isSdkExtensionPlugin: false -- type: ExperimentalGeneralInstrumentation - properties: - - property: http - description: | - Configure instrumentations following the http semantic conventions. - See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ - - property: peer - description: | - Configure instrumentations following the peer semantic conventions. - See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/ - isSdkExtensionPlugin: false -- type: ExperimentalHostResourceDetector - properties: [] - isSdkExtensionPlugin: false -- 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: 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: 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: 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: [] - isSdkExtensionPlugin: false -- type: ExperimentalLoggerConfig - properties: - - property: disabled - description: | - Configure if the logger is enabled or not. - If omitted or null, false is used. - - property: minimum_severity - description: | - Configure severity filtering. - Log records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed. - Values include: TRACE, TRACE2, TRACE3, TRACE4, DEBUG, DEBUG2, DEBUG3, DEBUG4, INFO, INFO2, INFO3, INFO4, WARN, WARN2, WARN3, WARN4, ERROR, ERROR2, ERROR3, ERROR4, FATAL, FATAL2, FATAL3, FATAL4. - If omitted or null, severity filtering is not applied. - - property: trace_based - description: | - Configure trace based filtering. - If true, log records associated with unsampled trace contexts traces are not processed. If false, or if a log record is not associated with a trace context, trace based filtering is not applied. - If omitted or null, trace based filtering is not applied. - 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: config - description: The logger config. - - 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. - isSdkExtensionPlugin: false -- 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: config - description: The meter config. - - 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. - isSdkExtensionPlugin: false -- 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 +- type: ConsoleMetricExporter properties: - 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: 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. isSdkExtensionPlugin: false -- 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: - - property: ratio - description: | - Configure ratio. - If omitted or null, 1.0 is used. - isSdkExtensionPlugin: false -- type: ExperimentalProcessResourceDetector +- type: DefaultAggregation properties: [] isSdkExtensionPlugin: false -- 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: 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. - - 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: without_scope_info - description: | - Configure Prometheus Exporter to produce metrics without a scope info metric. - If omitted or null, false is used. - - property: without_target_info - description: | - Configure Prometheus Exporter to produce metrics without a target info metric for the resource. - If omitted or null, false is used. - isSdkExtensionPlugin: false -- 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 +- type: DropAggregation properties: [] isSdkExtensionPlugin: false -- 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: config - description: The tracer config. - - 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. +- type: ExemplarFilter + enumValues: + - enumValue: always_off + description: TODO + - enumValue: always_on + description: TODO + - enumValue: trace_based + description: TODO isSdkExtensionPlugin: false - type: ExplicitBucketHistogramAggregation properties: @@ -583,23 +309,23 @@ properties: - property: limits description: Configure log record limits. See also attribute_limits. + - property: processors + description: Configure log record processors. - property: logger_configurator/development description: | Configure loggers. - - property: processors - description: Configure log record processors. isSdkExtensionPlugin: false - type: LogRecordExporter properties: - property: console description: Configure exporter to be console. - - property: otlp_file/development - description: | - Configure exporter to be OTLP with file transport. - property: otlp_grpc description: Configure exporter to be OTLP with gRPC transport. - property: otlp_http description: Configure exporter to be OTLP with HTTP transport. + - property: otlp_file/development + description: | + Configure exporter to be OTLP with file transport. isSdkExtensionPlugin: true - type: LogRecordLimits properties: @@ -628,15 +354,15 @@ 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. - 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: meter_configurator/development + description: | + Configure meters. isSdkExtensionPlugin: false - type: MetricProducer properties: @@ -674,9 +400,6 @@ The file format version. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema - - property: instrumentation/development - description: | - Configure instrumentation. - property: log_level description: | Configure the log level of the internal logger used by the SDK. @@ -701,6 +424,9 @@ description: | Configure tracer provider. If omitted, a noop tracer provider is used. + - property: instrumentation/development + description: | + Configure instrumentation. isSdkExtensionPlugin: false - type: OpenTracingPropagator properties: [] @@ -934,15 +660,15 @@ - property: console description: | Configure exporter to be console. - - property: otlp_file/development - description: | - Configure exporter to be OTLP with file transport. - property: otlp_grpc description: | Configure exporter to be OTLP with gRPC transport. - property: otlp_http description: | Configure exporter to be OTLP with HTTP transport. + - property: otlp_file/development + description: | + Configure exporter to be OTLP with file transport. isSdkExtensionPlugin: true - type: Resource properties: @@ -954,14 +680,14 @@ 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. - - 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: detection/development + description: | + Configure resource detection. + If omitted or null, resource detection is disabled. isSdkExtensionPlugin: false - type: Sampler properties: @@ -969,16 +695,16 @@ 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: composite/development description: Configure sampler to be composite. - property: jaeger_remote/development description: TODO - - property: parent_based - description: Configure sampler to be parent_based. - property: probability/development description: Configure sampler to be probability. - - property: trace_id_ratio_based - description: Configure sampler to be trace_id_ratio_based. isSdkExtensionPlugin: true - type: SimpleLogRecordProcessor properties: @@ -994,15 +720,15 @@ properties: - property: console description: Configure exporter to be console. - - property: otlp_file/development - description: | - Configure exporter to be OTLP with file transport. - property: otlp_grpc description: Configure exporter to be OTLP with gRPC transport. - property: otlp_http description: Configure exporter to be OTLP with HTTP transport. - property: zipkin description: Configure exporter to be zipkin. + - property: otlp_file/development + description: | + Configure exporter to be OTLP with file transport. isSdkExtensionPlugin: true - type: SpanLimits properties: @@ -1065,157 +791,408 @@ - type: TraceContextPropagator properties: [] isSdkExtensionPlugin: false -- type: TraceIdRatioBasedSampler +- type: TraceIdRatioBasedSampler + properties: + - property: ratio + description: | + Configure trace_id_ratio. + If omitted or null, 1.0 is used. + isSdkExtensionPlugin: false +- type: TracerProvider + properties: + - property: limits + description: Configure span limits. See also attribute_limits. + - property: processors + description: Configure span processors. + - 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: + - 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. + 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: meter_name + description: | + Configure meter name selection criteria. + If omitted or null, all meter names match. + - property: meter_schema_url + description: | + Configure meter schema url selection criteria. + If omitted or null, all meter schema URLs match. + - property: meter_version + description: | + Configure meter version selection criteria. + If omitted or null, all meter versions match. + - property: unit + description: | + Configure the instrument unit selection criteria. + If omitted or null, all instrument units match. + isSdkExtensionPlugin: false +- type: ViewStream + properties: + - 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). + - property: description + description: | + Configure metric description of the resulting stream(s). + If omitted or null, the instrument's origin description is used. + - property: name + description: | + Configure metric name of the resulting stream(s). + If omitted or null, the instrument's original name is used. + 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: ExperimentalComposableAlwaysOffSampler + properties: [] + isSdkExtensionPlugin: false +- type: ExperimentalComposableAlwaysOnSampler + properties: [] + isSdkExtensionPlugin: false +- type: ExperimentalComposableParentBasedSampler + properties: + - property: local_parent_not_sampled + description: Configures the sampler for spans with a local parent that is not sampled. + - property: local_parent_sampled + description: Configures the sampler for spans with a local parent that is sampled. + - property: remote_parent_not_sampled + description: Configures the sampler for spans with a remote parent that is not sampled. + - property: remote_parent_sampled + description: Configures the sampler for spans with a remote parent that is sampled. + - property: root + description: Configures the sampler for spans with no parent. + isSdkExtensionPlugin: false +- type: ExperimentalComposableProbabilitySampler + properties: + - property: ratio + description: | + Configure ratio. + If omitted or null, 1.0 is used. + 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: parent_based + description: Configure sampler to be parent_based. + - property: probability + description: Configure sampler to be probability. + isSdkExtensionPlugin: false +- type: ExperimentalContainerResourceDetector + properties: [] + isSdkExtensionPlugin: false +- type: ExperimentalGeneralInstrumentation + properties: + - property: http + description: | + Configure instrumentations following the http semantic conventions. + See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ + - property: peer + description: | + Configure instrumentations following the peer semantic conventions. + See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/ + isSdkExtensionPlugin: false +- type: ExperimentalHostResourceDetector + properties: [] + isSdkExtensionPlugin: false +- 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: 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: 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: 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: ExperimentalJaegerRemoteSampler + properties: + - property: endpoint + description: TODO + - property: initial_sampler + description: TODO + - property: interval + description: TODO + isSdkExtensionPlugin: false +- type: ExperimentalLanguageSpecificInstrumentation + properties: [] + isSdkExtensionPlugin: false +- type: ExperimentalLoggerConfig + properties: + - property: disabled + description: | + Configure if the logger is enabled or not. + If omitted or null, false is used. + - property: minimum_severity + description: | + Configure severity filtering. + Log records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed. + Values include: TRACE, TRACE2, TRACE3, TRACE4, DEBUG, DEBUG2, DEBUG3, DEBUG4, INFO, INFO2, INFO3, INFO4, WARN, WARN2, WARN3, WARN4, ERROR, ERROR2, ERROR3, ERROR4, FATAL, FATAL2, FATAL3, FATAL4. + If omitted or null, severity filtering is not applied. + - property: trace_based + description: | + Configure trace based filtering. + If true, log records associated with unsampled trace contexts traces are not processed. If false, or if a log record is not associated with a trace context, trace based filtering is not applied. + If omitted or null, trace based filtering is not applied. + isSdkExtensionPlugin: false +- type: ExperimentalLoggerConfigurator properties: - - property: ratio - description: | - Configure trace_id_ratio. - If omitted or null, 1.0 is used. + - 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: TracerProvider +- type: ExperimentalLoggerMatcherAndConfig properties: - - property: limits - description: Configure span limits. See also attribute_limits. - - property: processors - description: Configure span processors. - - property: sampler - description: | - Configure the sampler. - If omitted, parent based sampler with a root of always_on is used. - - property: tracer_configurator/development + - property: config + description: The logger config. + - property: name description: | - Configure tracers. + 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. isSdkExtensionPlugin: false -- type: View +- type: ExperimentalMeterConfig 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: disabled + description: Configure if the meter is enabled or not. isSdkExtensionPlugin: false -- type: ViewSelector +- type: ExperimentalMeterConfigurator 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: meter_name - description: | - Configure meter name selection criteria. - If omitted or null, all meter names match. - - property: meter_schema_url - description: | - Configure meter schema url selection criteria. - If omitted or null, all meter schema URLs match. - - property: meter_version - description: | - Configure meter version selection criteria. - If omitted or null, all meter versions match. - - property: unit - description: | - Configure the instrument unit selection criteria. - If omitted or null, all instrument units match. + - 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: ViewStream +- type: ExperimentalMeterMatcherAndConfig properties: - - 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). - - property: description - description: | - Configure metric description of the resulting stream(s). - If omitted or null, the instrument's origin description is used. + - property: config + description: The meter config. - property: name description: | - Configure metric name of the resulting stream(s). - If omitted or null, the instrument's original name is used. + 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. isSdkExtensionPlugin: false -- type: ZipkinSpanExporter +- type: ExperimentalOtlpFileExporter properties: - - property: endpoint - description: | - Configure endpoint. - If omitted or null, http://localhost:9411/api/v2/spans is used. - - property: timeout + - property: output_stream 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. + 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: ConsoleMetricExporter +- type: ExperimentalOtlpFileMetricExporter properties: - 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: 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. isSdkExtensionPlugin: false -- type: ExperimentalJaegerRemoteSampler +- type: ExperimentalPeerInstrumentation properties: - - property: endpoint - description: TODO - - property: initial_sampler - description: TODO - - property: interval - description: TODO + - 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: ExperimentalComposableSampler +- type: ExperimentalPeerServiceMapping 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: probability - description: Configure sampler to be probability. + - property: peer + description: | + The IP address to map. + - property: service + description: | + The logical name corresponding to the IP address of .peer. isSdkExtensionPlugin: false -- type: ExperimentalComposableParentBasedSampler +- type: ExperimentalProbabilitySampler properties: - - property: local_parent_not_sampled - description: Configures the sampler for spans with a local parent that is not sampled. - - property: local_parent_sampled - description: Configures the sampler for spans with a local parent that is sampled. - - property: remote_parent_not_sampled - description: Configures the sampler for spans with a remote parent that is not sampled. - - property: remote_parent_sampled - description: Configures the sampler for spans with a remote parent that is sampled. - - property: root - description: Configures the sampler for spans with no parent. + - property: ratio + description: | + Configure ratio. + If omitted or null, 1.0 is used. isSdkExtensionPlugin: false -- type: ExperimentalComposableAlwaysOffSampler +- type: ExperimentalProcessResourceDetector properties: [] isSdkExtensionPlugin: false -- type: ExperimentalComposableAlwaysOnSampler - properties: [] +- 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: 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. + - 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: without_scope_info + description: | + Configure Prometheus Exporter to produce metrics without a scope info metric. + If omitted or null, false is used. + - property: without_target_info + description: | + Configure Prometheus Exporter to produce metrics without a target info metric for the resource. + If omitted or null, false is used. isSdkExtensionPlugin: false -- type: ExperimentalComposableProbabilitySampler +- type: ExperimentalResourceDetection properties: - - property: ratio + - property: attributes + description: Configure attributes provided by resource detectors. + - property: detectors description: | - Configure ratio. - If omitted or null, 1.0 is used. + 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: [] isSdkExtensionPlugin: false - type: ExperimentalSeverityNumber enumValues: @@ -1268,3 +1245,26 @@ - enumValue: WARN4 description: WARN4, severity number 16. isSdkExtensionPlugin: false +- 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: config + description: The tracer config. + - 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. + isSdkExtensionPlugin: false diff --git a/scripts/generate-markdown.js b/scripts/generate-markdown.js index 43951de7..afd147fd 100644 --- a/scripts/generate-markdown.js +++ b/scripts/generate-markdown.js @@ -15,21 +15,38 @@ jsonSchemaTypes.forEach(type => jsonSchemaTypesByType[type.type] = type); const output = []; -metaSchema.types.sort((a, b) => a.type.localeCompare(b.type)); - addHeader('Overview', 'overview', 1); output.push(` This document is an auto-generated view of the declarative configuration JSON schema and meta schema meant for improved consumability by humans. * [Types](#types) contains descriptions of all types and properties, with convenient linking between type references. [${rootTypeName}](#${rootTypeName.toLowerCase()}) is the root type and is a good starting point. +* [Experimental Types](#experimental-types) same as [Types](#types) but for experimental types subject to breaking changes. * [Language Support Status](#language-support-status) provides all the details about each language's support in a single place. (Alternatively, each type definition has a table showing support status across languages.) * [SDK Extension Plugins](#sdk-extension-plugins) lists all the SDK extension plugin points. `); + +const types = []; +const experimentalTypes = []; +metaSchema.types.sort((a, b) => a.type.localeCompare(b.type)); +metaSchema.types.forEach(metaSchemaType => { + if (isExperimentalType(metaSchemaType.type)) { + experimentalTypes.push(metaSchemaType); + } else { + types.push(metaSchemaType); + } +}); + // Write types + addHeader('Types', 'types', 1); -metaSchema.types.forEach(metaSchemaType => { +types.forEach(writeType); + +addHeader('Experimental Types', 'experimental-types', 1); +experimentalTypes.forEach(writeType); + +function writeType(metaSchemaType) { const type = metaSchemaType.type; const jsonSchemaType = jsonSchemaTypesByType[type]; if (!jsonSchemaType) { @@ -177,7 +194,7 @@ metaSchema.types.forEach(metaSchemaType => { output.push(`
${JSON.stringify(jsonSchemaType.schema, null, 2)}
\n`); output.push(`
\n`); output.push('\n'); -}); +} // Write language support status addHeader('Language Support Status', 'language-support-status', 1); diff --git a/scripts/meta-schema.js b/scripts/meta-schema.js index 03973add..d67a5a02 100644 --- a/scripts/meta-schema.js +++ b/scripts/meta-schema.js @@ -7,7 +7,7 @@ import { metaSchemaTypesPath, metaSchemaLanguageStatusFileName, schemaDirPath, - metaSchemaLanguageFilePrefix + metaSchemaLanguageFilePrefix, isExperimentalProperty, isExperimentalType } from "./util.js"; export const KNOWN_LANGUAGES = [ @@ -21,7 +21,7 @@ const IMPLEMENTATION_STATUS_UNKNOWN = 'unknown'; const IMPLEMENTATION_STATUSES = ['supported', IMPLEMENTATION_STATUS_UNKNOWN, 'not_implemented', 'ignored', 'not_applicable'] export function writeMetaSchema(metaSchema) { - fs.writeFileSync(metaSchemaTypesPath, yaml.stringify(metaSchema.types.map(type => type.toJson()), {lineWidth: 0})); + fs.writeFileSync(metaSchemaTypesPath, yaml.stringify(metaSchema.toJson().types, {lineWidth: 0})); metaSchema.languageImplementations.forEach(languageImplementation => { fs.writeFileSync(metaSchemaLanguageStatusPath(languageImplementation.language), yaml.stringify(languageImplementation.toJson(), {lineWidth: 0})); @@ -83,12 +83,13 @@ export class MetaSchema { toJson() { let sortedTypes = this.types.map(type => type.toJson()); - sortedTypes.sort((a, b) => a.type.localeCompare(b.type)); - - let sortedLanguageImplementations = this.languageImplementations.map(languageImplementation => languageImplementation.toJson()); - sortedLanguageImplementations.sort((a, b) => a.language.localeCompare(b.language)); + // Types in lexicographical order, with non-experimental first + sortedTypes.sort((a, b) => { + const differentMaturities = isExperimentalType(a.type) - isExperimentalType(b.type); + return differentMaturities === 0 ? a.type.localeCompare(b.type) : +differentMaturities; + }); - return {types: sortedTypes, languageImplementations: sortedLanguageImplementations}; + return {types: sortedTypes, languageImplementations: this.languageImplementations.map(languageImplementation => languageImplementation.toJson())}; } } @@ -116,7 +117,11 @@ export class MetaSchemaType { } if (this.properties !== null) { const properties = this.properties.map(property => property.toJson()); - properties.sort((a, b) => a.property.localeCompare(b.property)); + // Properties in lexicographical order, with non-experimental first + properties.sort((a, b) => { + const differentMaturities = isExperimentalProperty(a.property) - isExperimentalProperty(b.property); + return differentMaturities === 0 ? a.property.localeCompare(b.property) : +differentMaturities; + }); json.properties = properties; } @@ -200,8 +205,12 @@ export class LanguageImplementation { } toJson() { + // Types in lexicographical order, with non-experimental first const typeSupportStatuses = this.typeSupportStatuses.map(typeSupportStatus => typeSupportStatus.toJson()); - typeSupportStatuses.sort((a, b) => a.type.localeCompare(b.type)); + typeSupportStatuses.sort((a, b) => { + const differentMaturities = isExperimentalType(a.type) - isExperimentalType(b.type); + return differentMaturities === 0 ? a.type.localeCompare(b.type) : +differentMaturities; + }); return { latestSupportedFileFormat: this.latestSupportedFileFormat,