This document is an auto-generated view of the declarative configuration JSON schema and meta schema meant for improved consumability by humans.
- Types contains descriptions of all types and properties, with convenient linking between type references. OpenTelemetryConfiguration is the root type and is a good starting point.
- Experimental Types same as Types but for experimental types subject to breaking changes.
- SDK Extension Plugins lists all the SDK extension plugin points.
See also language support status for all details about each language's support in a single place.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
base2_exponential_bucket_histogram |
Base2ExponentialBucketHistogramAggregation |
false |
If omitted, ignore. | No constraints. | Configures the stream to collect data for the exponential histogram metric point, which uses a base-2 exponential formula to determine bucket boundaries and an integer scale parameter to control resolution. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#base2-exponential-bucket-histogram-aggregation for details. |
default |
DefaultAggregation |
false |
If omitted, ignore. | No constraints. | Configures the stream to use the instrument kind to select an aggregation and advisory parameters to influence aggregation configuration parameters. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#default-aggregation for details. |
drop |
DropAggregation |
false |
If omitted, ignore. | No constraints. | Configures the stream to ignore/drop all instrument measurements. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#drop-aggregation for details. |
explicit_bucket_histogram |
ExplicitBucketHistogramAggregation |
false |
If omitted, ignore. | No constraints. | Configures the stream to collect data for the histogram metric point using a set of explicit boundary values for histogram bucketing. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#explicit-bucket-histogram-aggregation for details |
last_value |
LastValueAggregation |
false |
If omitted, ignore. | No constraints. | Configures the stream to collect data using the last measurement. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#last-value-aggregation for details. |
sum |
SumAggregation |
false |
If omitted, ignore. | No constraints. | Configures the stream to collect the arithmetic sum of measurement values. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#sum-aggregation for details. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
base2_exponential_bucket_histogram |
supported | unknown | supported | unknown |
default |
supported | unknown | supported | unknown |
drop |
supported | unknown | supported | unknown |
explicit_bucket_histogram |
supported | unknown | supported | unknown |
last_value |
supported | unknown | supported | unknown |
sum |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:falseminProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"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"
}
}
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
attribute_count_limit |
one of: * integer* null |
false |
If omitted or null, 128 is used. | * minimum: 0 |
Configure max attribute count. Value must be non-negative. |
attribute_value_length_limit |
one of: * integer* null |
false |
If omitted or null, there is no limit. | * minimum: 0 |
Configure max attribute value size. Value must be non-negative. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
attribute_count_limit |
supported | unknown | supported | unknown |
attribute_value_length_limit |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"attribute_value_length_limit": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"attribute_count_limit": {
"type": [
"integer",
"null"
],
"minimum": 0
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
name |
string |
true |
Property is required and must be non-null. | No constraints. | The attribute name. |
type |
AttributeType |
false |
If omitted, string is used. | No constraints. | The attribute type. |
value |
oneOf |
true |
Property is required and must be non-null. | No constraints. | The attribute value. The type of value must match .type. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
name |
supported | supported | supported | unknown |
type |
supported | supported | supported | unknown |
value |
supported | supported | supported | unknown |
Constraints:
additionalProperties:falserequired:["name","value"]
Usages:
No snippets.
JSON Schema
{
"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"
]
}
This is a enum type.
| Value | Description |
|---|---|
bool |
Boolean attribute value. |
bool_array |
Boolean array attribute value. |
double |
Double attribute value. |
double_array |
Double array attribute value. |
int |
Integer attribute value. |
int_array |
Integer array attribute value. |
string |
String attribute value. |
string_array |
String array attribute value. |
Language support status
| Value | cpp | go | java | js |
|---|---|---|---|---|
bool |
supported | supported | supported | unknown |
bool_array |
supported | supported | supported | unknown |
double |
supported | supported | supported | unknown |
double_array |
supported | supported | supported | unknown |
int |
supported | supported | supported | unknown |
int_array |
supported | supported | supported | unknown |
string |
supported | supported | supported | unknown |
string_array |
supported | supported | supported | unknown |
No constraints.
Usages:
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"string",
"bool",
"int",
"double",
"string_array",
"bool_array",
"int_array",
"double_array"
]
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
max_scale |
one of: * integer* null |
false |
If omitted or null, 20 is used. | * minimum: -10* maximum: 20 |
Configure the max scale factor. |
max_size |
one of: * integer* null |
false |
If omitted or null, 160 is used. | * minimum: 2 |
Configure the maximum number of buckets in each of the positive and negative ranges, not counting the special zero bucket. |
record_min_max |
one of: * boolean* null |
false |
If omitted or null, true is used. | No constraints. | Configure whether or not to record min and max. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
max_scale |
supported | unknown | supported | unknown |
max_size |
supported | unknown | supported | unknown |
record_min_max |
supported | unknown | not_implemented | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"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"
]
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
export_timeout |
one of: * integer* null |
false |
If omitted or null, 30000 is used. | * minimum: 0 |
Configure maximum allowed time (in milliseconds) to export data. Value must be non-negative. A value of 0 indicates no limit (infinity). |
exporter |
LogRecordExporter |
true |
Property is required and must be non-null. | No constraints. | Configure exporter. |
max_export_batch_size |
one of: * integer* null |
false |
If omitted or null, 512 is used. | * exclusiveMinimum: 0 |
Configure maximum batch size. Value must be positive. |
max_queue_size |
one of: * integer* null |
false |
If omitted or null, 2048 is used. | * exclusiveMinimum: 0 |
Configure maximum queue size. Value must be positive. |
schedule_delay |
one of: * integer* null |
false |
If omitted or null, 1000 is used. | * minimum: 0 |
Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
export_timeout |
supported | supported | supported | unknown |
exporter |
supported | supported | supported | unknown |
max_export_batch_size |
supported | supported | supported | unknown |
max_queue_size |
supported | supported | supported | unknown |
schedule_delay |
supported | supported | supported | unknown |
Constraints:
additionalProperties:falserequired:["exporter"]
Usages:
No snippets.
JSON Schema
{
"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"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
export_timeout |
one of: * integer* null |
false |
If omitted or null, 30000 is used. | * minimum: 0 |
Configure maximum allowed time (in milliseconds) to export data. Value must be non-negative. A value of 0 indicates no limit (infinity). |
exporter |
SpanExporter |
true |
Property is required and must be non-null. | No constraints. | Configure exporter. |
max_export_batch_size |
one of: * integer* null |
false |
If omitted or null, 512 is used. | * exclusiveMinimum: 0 |
Configure maximum batch size. Value must be positive. |
max_queue_size |
one of: * integer* null |
false |
If omitted or null, 2048 is used. | * exclusiveMinimum: 0 |
Configure maximum queue size. Value must be positive. |
schedule_delay |
one of: * integer* null |
false |
If omitted or null, 5000 is used. | * minimum: 0 |
Configure delay interval (in milliseconds) between two consecutive exports. Value must be non-negative. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
export_timeout |
supported | supported | supported | unknown |
exporter |
supported | supported | supported | unknown |
max_export_batch_size |
supported | supported | supported | unknown |
max_queue_size |
supported | supported | supported | unknown |
schedule_delay |
supported | supported | supported | unknown |
Constraints:
additionalProperties:falserequired:["exporter"]
Usages:
No snippets.
JSON Schema
{
"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"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
counter |
one of: * integer* null |
false |
If omitted or null, the value from .default is used. | * exclusiveMinimum: 0 |
Configure default cardinality limit for counter instruments. |
default |
one of: * integer* null |
false |
If omitted or null, 2000 is used. | * exclusiveMinimum: 0 |
Configure default cardinality limit for all instrument types. Instrument-specific cardinality limits take priority. |
gauge |
one of: * integer* null |
false |
If omitted or null, the value from .default is used. | * exclusiveMinimum: 0 |
Configure default cardinality limit for gauge instruments. |
histogram |
one of: * integer* null |
false |
If omitted or null, the value from .default is used. | * exclusiveMinimum: 0 |
Configure default cardinality limit for histogram instruments. |
observable_counter |
one of: * integer* null |
false |
If omitted or null, the value from .default is used. | * exclusiveMinimum: 0 |
Configure default cardinality limit for observable_counter instruments. |
observable_gauge |
one of: * integer* null |
false |
If omitted or null, the value from .default is used. | * exclusiveMinimum: 0 |
Configure default cardinality limit for observable_gauge instruments. |
observable_up_down_counter |
one of: * integer* null |
false |
If omitted or null, the value from .default is used. | * exclusiveMinimum: 0 |
Configure default cardinality limit for observable_up_down_counter instruments. |
up_down_counter |
one of: * integer* null |
false |
If omitted or null, the value from .default is used. | * exclusiveMinimum: 0 |
Configure default cardinality limit for up_down_counter instruments. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
counter |
not_implemented | unknown | supported | unknown |
default |
not_implemented | unknown | supported | unknown |
gauge |
not_implemented | unknown | supported | unknown |
histogram |
not_implemented | unknown | supported | unknown |
observable_counter |
not_implemented | unknown | supported | unknown |
observable_gauge |
not_implemented | unknown | supported | unknown |
observable_up_down_counter |
not_implemented | unknown | supported | unknown |
up_down_counter |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Kitchen Sink
# specify .default to set cardinality limits for all instruments, or specify instrument-specific limits. Instrument-specific limits take priority over .default. In this contrived example, the cardinality limits of each instrument type are set to 2000, overriding the value from .default.
default: 100
counter: 2000
gauge: 2000
histogram: 2000
observable_counter: 2000
observable_gauge: 2000
observable_up_down_counter: 2000
up_down_counter: 2000JSON Schema
{
"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
}
}
}
No properties.
Constraints:
additionalProperties:false
Usages:
Snippets:
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
default_histogram_aggregation |
ExporterDefaultHistogramAggregation |
false |
If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation. |
temporality_preference |
ExporterTemporalityPreference |
false |
If omitted, cumulative is used. | No constraints. | Configure temporality preference. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
default_histogram_aggregation |
supported | not_implemented | not_implemented | unknown |
temporality_preference |
supported | not_implemented | ignored | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Traces Kitchen Sink
temporality_preference: cumulative
default_histogram_aggregation: explicit_bucket_histogramJSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"temporality_preference": {
"$ref": "#/$defs/ExporterTemporalityPreference"
},
"default_histogram_aggregation": {
"$ref": "#/$defs/ExporterDefaultHistogramAggregation"
}
}
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
No properties.
Constraints:
additionalProperties:{"type":"object"}minProperties:1
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": "object"
},
"minProperties": 1
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
This is a enum type.
| Value | Description |
|---|---|
always_off |
ExemplarFilter which makes no measurements eligible for being an Exemplar. |
always_on |
ExemplarFilter which makes all measurements eligible for being an Exemplar. |
trace_based |
ExemplarFilter which makes measurements recorded in the context of a sampled parent span eligible for being an Exemplar. |
Language support status
| Value | cpp | go | java | js |
|---|---|---|---|---|
always_off |
not_implemented | unknown | supported | unknown |
always_on |
not_implemented | unknown | supported | unknown |
trace_based |
not_implemented | unknown | supported | unknown |
No constraints.
Usages:
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"always_on",
"always_off",
"trace_based"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
boundaries |
array of number |
false |
If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used. | * minItems: 0 |
Configure bucket boundaries. |
record_min_max |
one of: * boolean* null |
false |
If omitted or null, true is used. | No constraints. | Configure record min and max. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
boundaries |
supported | unknown | supported | unknown |
record_min_max |
supported | unknown | not_implemented | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"boundaries": {
"type": "array",
"minItems": 0,
"items": {
"type": "number"
}
},
"record_min_max": {
"type": [
"boolean",
"null"
]
}
}
}
This is a enum type.
| Value | Description |
|---|---|
base2_exponential_bucket_histogram |
Use base2 exponential histogram as the default aggregation for histogram instruments. |
explicit_bucket_histogram |
Use explicit bucket histogram as the default aggregation for histogram instruments. |
Language support status
| Value | cpp | go | java | js |
|---|---|---|---|---|
base2_exponential_bucket_histogram |
supported | unknown | supported | unknown |
explicit_bucket_histogram |
supported | unknown | supported | unknown |
No constraints.
Usages:
OtlpHttpMetricExporter.default_histogram_aggregationOtlpGrpcMetricExporter.default_histogram_aggregationExperimentalOtlpFileMetricExporter.default_histogram_aggregationConsoleMetricExporter.default_histogram_aggregation
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"explicit_bucket_histogram",
"base2_exponential_bucket_histogram"
]
}
This is a enum type.
| Value | Description |
|---|---|
cumulative |
Use cumulative aggregation temporality for all instrument types. |
delta |
Use delta aggregation for all instrument types except up down counter and asynchronous up down counter. |
low_memory |
Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types. |
Language support status
| Value | cpp | go | java | js |
|---|---|---|---|---|
cumulative |
supported | unknown | supported | unknown |
delta |
supported | unknown | supported | unknown |
low_memory |
supported | unknown | supported | unknown |
No constraints.
Usages:
OtlpHttpMetricExporter.temporality_preferenceOtlpGrpcMetricExporter.temporality_preferenceExperimentalOtlpFileMetricExporter.temporality_preferenceConsoleMetricExporter.temporality_preference
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"cumulative",
"delta",
"low_memory"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
ca_file |
one of: * string* null |
false |
If omitted or null, system default certificate verification is used for secure connections. | No constraints. | Configure certificate used to verify a server's TLS credentials. Absolute path to certificate file in PEM format. |
cert_file |
one of: * string* null |
false |
If omitted or null, mTLS is not used. | No constraints. | Configure mTLS client certificate. Absolute path to client certificate file in PEM format. If set, .client_key must also be set. |
insecure |
one of: * boolean* null |
false |
If omitted or null, false is used. | 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. |
key_file |
one of: * string* null |
false |
If omitted or null, mTLS is not used. | No constraints. | Configure mTLS private client key. Absolute path to client key file in PEM format. If set, .client_certificate must also be set. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
ca_file |
supported | unknown | supported | unknown |
cert_file |
supported | unknown | supported | unknown |
insecure |
supported | unknown | not_implemented | unknown |
key_file |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"ca_file": {
"type": [
"string",
"null"
]
},
"key_file": {
"type": [
"string",
"null"
]
},
"cert_file": {
"type": [
"string",
"null"
]
},
"insecure": {
"type": [
"boolean",
"null"
]
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
ca_file |
one of: * string* null |
false |
If omitted or null, system default certificate verification is used for secure connections. | No constraints. | Configure certificate used to verify a server's TLS credentials. Absolute path to certificate file in PEM format. |
cert_file |
one of: * string* null |
false |
If omitted or null, mTLS is not used. | No constraints. | Configure mTLS client certificate. Absolute path to client certificate file in PEM format. If set, .client_key must also be set. |
key_file |
one of: * string* null |
false |
If omitted or null, mTLS is not used. | No constraints. | Configure mTLS private client key. Absolute path to client key file in PEM format. If set, .client_certificate must also be set. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
ca_file |
supported | unknown | supported | unknown |
cert_file |
supported | unknown | supported | unknown |
key_file |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"ca_file": {
"type": [
"string",
"null"
]
},
"key_file": {
"type": [
"string",
"null"
]
},
"cert_file": {
"type": [
"string",
"null"
]
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
excluded |
array of string |
false |
If omitted, .included attributes are included. | * 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. |
included |
array of string |
false |
If omitted, all values are included. | * 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. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
excluded |
supported | unknown | supported | unknown |
included |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
ExperimentalPrometheusMetricExporter.with_resource_constant_labelsViewStream.attribute_keysExperimentalResourceDetection.attributes
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"included": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"excluded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
}
}
This is a enum type.
| Value | Description |
|---|---|
counter |
Synchronous counter instruments. |
gauge |
Synchronous gauge instruments. |
histogram |
Synchronous histogram instruments. |
observable_counter |
Asynchronous counter instruments. |
observable_gauge |
Asynchronous gauge instruments. |
observable_up_down_counter |
Asynchronous up down counter instruments. |
up_down_counter |
Synchronous up down counter instruments. |
Language support status
| Value | cpp | go | java | 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 |
No constraints.
Usages:
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"counter",
"gauge",
"histogram",
"observable_counter",
"observable_gauge",
"observable_up_down_counter",
"up_down_counter"
]
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
limits |
LogRecordLimits |
false |
If omitted, default values as described in LogRecordLimits are used. | No constraints. | Configure log record limits. See also attribute_limits. |
processors |
array of LogRecordProcessor |
true |
Property is required and must be non-null. | * minItems: 1 |
Configure log record processors. |
logger_configurator/developmentWARNING: This property is experimental. |
ExperimentalLoggerConfigurator |
false |
If omitted, all loggers use default values as described in ExperimentalLoggerConfig. | No constraints. | Configure loggers. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
limits |
supported | unknown | supported | unknown |
processors |
supported | unknown | supported | unknown |
logger_configurator/development |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:falserequired:["processors"]
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"processors": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/LogRecordProcessor"
}
},
"limits": {
"$ref": "#/$defs/LogRecordLimits"
},
"logger_configurator/development": {
"$ref": "#/$defs/ExperimentalLoggerConfigurator"
}
},
"required": [
"processors"
]
}
LogRecordExporter is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
console |
ConsoleExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be console. |
otlp_grpc |
OtlpGrpcExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. |
otlp_http |
OtlpHttpExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. |
otlp_file/developmentWARNING: This property is experimental. |
ExperimentalOtlpFileExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
console |
supported | supported | supported | unknown |
otlp_grpc |
supported | supported | supported | unknown |
otlp_http |
supported | supported | supported | unknown |
otlp_file/development |
supported | not_implemented | supported | unknown |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": [
"object",
"null"
]
},
"minProperties": 1,
"maxProperties": 1,
"properties": {
"otlp_http": {
"$ref": "#/$defs/OtlpHttpExporter"
},
"otlp_grpc": {
"$ref": "#/$defs/OtlpGrpcExporter"
},
"otlp_file/development": {
"$ref": "#/$defs/ExperimentalOtlpFileExporter"
},
"console": {
"$ref": "#/$defs/ConsoleExporter"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
attribute_count_limit |
one of: * integer* null |
false |
If omitted or null, 128 is used. | * minimum: 0 |
Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. Value must be non-negative. |
attribute_value_length_limit |
one of: * integer* null |
false |
If omitted or null, there is no limit. | * minimum: 0 |
Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. Value must be non-negative. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
attribute_count_limit |
supported | unknown | supported | unknown |
attribute_value_length_limit |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Kitchen Sink
# .logger_provider.limits take priority over general .attribute_limits. In this contrived example, attribute_value_length_limit is set to 4096, attribute_count_limit is set to 128, overriding the values from general .attribute_limits.
attribute_count_limit: 128
attribute_value_length_limit: 4096JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"attribute_value_length_limit": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"attribute_count_limit": {
"type": [
"integer",
"null"
],
"minimum": 0
}
}
}
LogRecordProcessor is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
batch |
BatchLogRecordProcessor |
false |
If omitted, ignore. | No constraints. | Configure a batch log record processor. |
simple |
SimpleLogRecordProcessor |
false |
If omitted, ignore. | No constraints. | Configure a simple log record processor. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
batch |
supported | unknown | supported | unknown |
simple |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": [
"object",
"null"
]
},
"minProperties": 1,
"maxProperties": 1,
"properties": {
"batch": {
"$ref": "#/$defs/BatchLogRecordProcessor"
},
"simple": {
"$ref": "#/$defs/SimpleLogRecordProcessor"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
exemplar_filter |
ExemplarFilter |
false |
If omitted, trace_based is used. | No constraints. | Configure the exemplar filter. |
readers |
array of MetricReader |
true |
Property is required and must be non-null. | * minItems: 1 |
Configure metric readers. |
views |
array of View |
false |
If omitted, no views are registered. | * 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/developmentWARNING: This property is experimental. |
ExperimentalMeterConfigurator |
false |
If omitted, all meters use default values as described in ExperimentalMeterConfig. | No constraints. | Configure meters. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
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:falserequired:["readers"]
Usages:
No snippets.
JSON 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"
}
},
"required": [
"readers"
]
}
MetricProducer is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
opencensus |
OpenCensusMetricProducer |
false |
If omitted, ignore. | No constraints. | Configure metric producer to be opencensus. |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": [
"object",
"null"
]
},
"minProperties": 1,
"maxProperties": 1,
"properties": {
"opencensus": {
"$ref": "#/$defs/OpenCensusMetricProducer"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
periodic |
PeriodicMetricReader |
false |
If omitted, ignore. | No constraints. | Configure a periodic metric reader. |
pull |
PullMetricReader |
false |
If omitted, ignore. | No constraints. | Configure a pull based metric reader. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
periodic |
supported | unknown | supported | unknown |
pull |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:falseminProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"maxProperties": 1,
"properties": {
"periodic": {
"$ref": "#/$defs/PeriodicMetricReader"
},
"pull": {
"$ref": "#/$defs/PullMetricReader"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
name |
string |
true |
Property is required and must be non-null. | No constraints. | The name of the pair. |
value |
one of: * string* null |
true |
Property must be present, but if null the behavior is dependent on usage context. | No constraints. | The value of the pair. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
name |
supported | unknown | supported | unknown |
value |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:falserequired:["name","value"]
Usages:
OtlpHttpExporter.headersOtlpGrpcExporter.headersOtlpHttpMetricExporter.headersOtlpGrpcMetricExporter.headers
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"value": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"value"
]
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
attribute_limits |
AttributeLimits |
false |
If omitted, default values as described in AttributeLimits are used. | No constraints. | Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits. |
disabled |
one of: * boolean* null |
false |
If omitted or null, false is used. | No constraints. | Configure if the SDK is disabled or not. |
distribution |
Distribution |
false |
If omitted, distribution defaults are used. | No constraints. | Defines configuration parameters specific to a particular OpenTelemetry distribution or vendor. This section provides a standardized location for distribution-specific settings that are not part of the OpenTelemetry configuration model. It allows vendors to expose their own extensions and general configuration options. |
file_format |
string |
true |
Property is required and must be non-null. | No constraints. | The file format version. Represented as a string including the semver major, minor version numbers (and optionally the meta tag). For example: "0.4", "1.0-rc.2", "1.0" (after stable release). See https://github.com/open-telemetry/opentelemetry-configuration/blob/main/VERSIONING.md for more details. The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema |
log_level |
SeverityNumber |
false |
If omitted, INFO is used. | No constraints. | Configure the log level of the internal logger used by the SDK. |
logger_provider |
LoggerProvider |
false |
If omitted, a noop logger provider is used. | No constraints. | Configure logger provider. |
meter_provider |
MeterProvider |
false |
If omitted, a noop meter provider is used. | No constraints. | Configure meter provider. |
propagator |
Propagator |
false |
If omitted, a noop propagator is used. | No constraints. | Configure text map context propagators. |
resource |
Resource |
false |
If omitted, the default resource is used. | No constraints. | Configure resource for all signals. |
tracer_provider |
TracerProvider |
false |
If omitted, a noop tracer provider is used. | No constraints. | Configure tracer provider. |
instrumentation/developmentWARNING: This property is experimental. |
ExperimentalInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure instrumentation. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
attribute_limits |
supported | unknown | supported | unknown |
disabled |
supported | unknown | supported | unknown |
distribution |
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:truerequired:["file_format"]
No usages.
No snippets.
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "OpenTelemetryConfiguration",
"type": "object",
"additionalProperties": true,
"properties": {
"file_format": {
"type": "string"
},
"disabled": {
"type": [
"boolean",
"null"
]
},
"log_level": {
"$ref": "#/$defs/SeverityNumber"
},
"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"
},
"distribution": {
"$ref": "#/$defs/Distribution"
}
},
"required": [
"file_format"
]
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
compression |
one of: * string* null |
false |
If omitted or null, none is used. | No constraints. | Configure compression. Known values include: gzip, none. Implementations may support other compression algorithms. |
endpoint |
one of: * string* null |
false |
If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint. |
headers |
array of NameStringValuePair |
false |
If omitted, no headers are added. | * 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 |
If omitted or null, no headers are added. | 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. |
timeout |
one of: * integer* null |
false |
If omitted or null, 10000 is used. | * 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). |
tls |
GrpcTls |
false |
If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
compression |
supported | supported | supported | unknown |
endpoint |
supported | supported | supported | unknown |
headers |
supported | supported | supported | unknown |
headers_list |
supported | supported | supported | unknown |
timeout |
supported | supported | supported | unknown |
tls |
supported | supported | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Logs Kitchen Sink
endpoint: http://localhost:4318
tls:
ca_file: /app/cert.pem
key_file: /app/cert.pem
cert_file: /app/cert.pem
insecure: false
headers:
- name: api-key
value: "1234"
headers_list: "api-key=1234"
compression: gzip
timeout: 10000Traces Kitchen Sink
endpoint: http://localhost:4318
tls:
ca_file: /app/cert.pem
key_file: /app/cert.pem
cert_file: /app/cert.pem
insecure: false
headers:
- name: api-key
value: "1234"
headers_list: "api-key=1234"
compression: gzip
timeout: 10000JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"endpoint": {
"type": [
"string",
"null"
]
},
"tls": {
"$ref": "#/$defs/GrpcTls"
},
"headers": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/NameStringValuePair"
}
},
"headers_list": {
"type": [
"string",
"null"
]
},
"compression": {
"type": [
"string",
"null"
]
},
"timeout": {
"type": [
"integer",
"null"
],
"minimum": 0
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
compression |
one of: * string* null |
false |
If omitted or null, none is used. | No constraints. | Configure compression. Known values include: gzip, none. Implementations may support other compression algorithms. |
default_histogram_aggregation |
ExporterDefaultHistogramAggregation |
false |
If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation. |
endpoint |
one of: * string* null |
false |
If omitted or null, http://localhost:4317 is used. | No constraints. | Configure endpoint. |
headers |
array of NameStringValuePair |
false |
If omitted, no headers are added. | * 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 |
If omitted or null, no headers are added. | 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. |
temporality_preference |
ExporterTemporalityPreference |
false |
If omitted, cumulative is used. | No constraints. | Configure temporality preference. |
timeout |
one of: * integer* null |
false |
If omitted or null, 10000 is used. | * 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). |
tls |
GrpcTls |
false |
If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
compression |
supported | supported | supported | unknown |
default_histogram_aggregation |
supported | not_implemented | supported | unknown |
endpoint |
supported | supported | supported | unknown |
headers |
supported | supported | supported | unknown |
headers_list |
supported | supported | supported | unknown |
temporality_preference |
supported | supported | supported | unknown |
timeout |
supported | supported | supported | unknown |
tls |
supported | supported | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Metrics Kitchen Sink
endpoint: http://localhost:4318
tls:
ca_file: /app/cert.pem
key_file: /app/cert.pem
cert_file: /app/cert.pem
insecure: false
headers:
- name: api-key
value: "1234"
headers_list: "api-key=1234"
compression: gzip
timeout: 10000JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"endpoint": {
"type": [
"string",
"null"
]
},
"tls": {
"$ref": "#/$defs/GrpcTls"
},
"headers": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$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"
}
}
}
This is a enum type.
| Value | Description |
|---|---|
json |
Protobuf JSON encoding. |
protobuf |
Protobuf binary encoding. |
Language support status
| Value | cpp | go | java | js |
|---|---|---|---|---|
json |
supported | not_implemented | not_implemented | unknown |
protobuf |
supported | not_implemented | not_implemented | unknown |
No constraints.
Usages:
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"protobuf",
"json"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
compression |
one of: * string* null |
false |
If omitted or null, none is used. | No constraints. | Configure compression. Known values include: gzip, none. Implementations may support other compression algorithms. |
encoding |
OtlpHttpEncoding |
false |
If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages. Implementations may not support json. |
endpoint |
one of: * string* null |
false |
If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used. | No constraints. | Configure endpoint, including the signal specific path. |
headers |
array of NameStringValuePair |
false |
If omitted, no headers are added. | * 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 |
If omitted or null, no headers are added. | 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. |
timeout |
one of: * integer* null |
false |
If omitted or null, 10000 is used. | * 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). |
tls |
HttpTls |
false |
If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
compression |
supported | supported | supported | unknown |
encoding |
supported | not_implemented | not_implemented | unknown |
endpoint |
supported | supported | supported | unknown |
headers |
supported | supported | supported | unknown |
headers_list |
supported | supported | supported | unknown |
timeout |
supported | supported | supported | unknown |
tls |
supported | supported | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Logs Kitchen Sink
endpoint: http://localhost:4318/v1/logs
tls:
ca_file: /app/cert.pem
key_file: /app/cert.pem
cert_file: /app/cert.pem
headers:
- name: api-key
value: "1234"
headers_list: "api-key=1234"
compression: gzip
timeout: 10000
encoding: protobufTraces Kitchen Sink
endpoint: http://localhost:4318/v1/traces
tls:
ca_file: /app/cert.pem
key_file: /app/cert.pem
cert_file: /app/cert.pem
headers:
- name: api-key
value: "1234"
headers_list: "api-key=1234"
compression: gzip
timeout: 10000
encoding: protobufJSON Schema
{
"type": [
"object",
"null"
],
"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"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
compression |
one of: * string* null |
false |
If omitted or null, none is used. | No constraints. | Configure compression. Known values include: gzip, none. Implementations may support other compression algorithms. |
default_histogram_aggregation |
ExporterDefaultHistogramAggregation |
false |
If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation. |
encoding |
OtlpHttpEncoding |
false |
If omitted, protobuf is used. | No constraints. | Configure the encoding used for messages. Implementations may not support json. |
endpoint |
one of: * string* null |
false |
If omitted or null, http://localhost:4318/v1/metrics is used. | No constraints. | Configure endpoint. |
headers |
array of NameStringValuePair |
false |
If omitted, no headers are added. | * 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 |
If omitted or null, no headers are added. | 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. |
temporality_preference |
ExporterTemporalityPreference |
false |
If omitted, cumulative is used. | No constraints. | Configure temporality preference. |
timeout |
one of: * integer* null |
false |
If omitted or null, 10000 is used. | * 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). |
tls |
HttpTls |
false |
If omitted, system default TLS settings are used. | No constraints. | Configure TLS settings for the exporter. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
compression |
supported | supported | supported | unknown |
default_histogram_aggregation |
supported | not_implemented | supported | unknown |
encoding |
supported | not_implemented | not_implemented | unknown |
endpoint |
supported | supported | supported | unknown |
headers |
supported | supported | supported | unknown |
headers_list |
supported | supported | supported | unknown |
temporality_preference |
supported | supported | supported | unknown |
timeout |
supported | supported | supported | unknown |
tls |
supported | supported | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Metrics Kitchen Sink
endpoint: http://localhost:4318/v1/metrics
tls:
ca_file: /app/cert.pem
key_file: /app/cert.pem
cert_file: /app/cert.pem
headers:
- name: api-key
value: "1234"
headers_list: "api-key=1234"
compression: gzip
timeout: 10000
encoding: protobuf
temporality_preference: cumulative
default_histogram_aggregation: explicit_bucket_histogramUse Base2 Exponential Histogram
endpoint: http://localhost:4317
default_histogram_aggregation: base2_exponential_bucket_histogramJSON Schema
{
"type": [
"object",
"null"
],
"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"
},
"temporality_preference": {
"$ref": "#/$defs/ExporterTemporalityPreference"
},
"default_histogram_aggregation": {
"$ref": "#/$defs/ExporterDefaultHistogramAggregation"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
local_parent_not_sampled |
Sampler |
false |
If omitted, always_off is used. | No constraints. | Configure local_parent_not_sampled sampler. |
local_parent_sampled |
Sampler |
false |
If omitted, always_on is used. | No constraints. | Configure local_parent_sampled sampler. |
remote_parent_not_sampled |
Sampler |
false |
If omitted, always_off is used. | No constraints. | Configure remote_parent_not_sampled sampler. |
remote_parent_sampled |
Sampler |
false |
If omitted, always_on is used. | No constraints. | Configure remote_parent_sampled sampler. |
root |
Sampler |
false |
If omitted, always_on is used. | No constraints. | Configure root sampler. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
local_parent_not_sampled |
supported | supported | supported | unknown |
local_parent_sampled |
supported | supported | supported | unknown |
remote_parent_not_sampled |
supported | supported | supported | unknown |
remote_parent_sampled |
supported | supported | supported | unknown |
root |
supported | supported | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"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"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
cardinality_limits |
CardinalityLimits |
false |
If omitted, default values as described in CardinalityLimits are used. | No constraints. | Configure cardinality limits. |
exporter |
PushMetricExporter |
true |
Property is required and must be non-null. | No constraints. | Configure exporter. |
interval |
one of: * integer* null |
false |
If omitted or null, 60000 is used. | * minimum: 0 |
Configure delay interval (in milliseconds) between start of two consecutive exports. Value must be non-negative. |
producers |
array of MetricProducer |
false |
If omitted, no metric producers are added. | * minItems: 1 |
Configure metric producers. |
timeout |
one of: * integer* null |
false |
If omitted or null, 30000 is used. | * minimum: 0 |
Configure maximum allowed time (in milliseconds) to export data. Value must be non-negative. A value of 0 indicates no limit (infinity). |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
cardinality_limits |
supported | not_implemented | supported | unknown |
exporter |
supported | supported | supported | unknown |
interval |
supported | supported | supported | unknown |
producers |
supported | not_implemented | not_implemented | unknown |
timeout |
supported | supported | supported | unknown |
Constraints:
additionalProperties:falserequired:["exporter"]
Usages:
No snippets.
JSON Schema
{
"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"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
composite |
array of TextMapPropagator |
false |
If omitted, and .composite_list is omitted or null, a noop propagator is used. | * 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. |
composite_list |
one of: * string* null |
false |
If omitted or null, and .composite is omitted or null, a noop propagator is used. | 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. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
composite |
supported | supported | supported | unknown |
composite_list |
supported | supported | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Kitchen Sink
# .composite and .composite_list are merged and deduplicated.
composite:
- tracecontext:
- baggage:
- b3:
- b3multi:
- jaeger:
composite_list: "ottrace,xray"JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"composite": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/TextMapPropagator"
}
},
"composite_list": {
"type": [
"string",
"null"
]
}
}
}
PullMetricExporter is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
prometheus/developmentWARNING: This property is experimental. |
ExperimentalPrometheusMetricExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be prometheus. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
prometheus/development |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": [
"object",
"null"
]
},
"minProperties": 1,
"maxProperties": 1,
"properties": {
"prometheus/development": {
"$ref": "#/$defs/ExperimentalPrometheusMetricExporter"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
cardinality_limits |
CardinalityLimits |
false |
If omitted, default values as described in CardinalityLimits are used. | No constraints. | Configure cardinality limits. |
exporter |
PullMetricExporter |
true |
Property is required and must be non-null. | No constraints. | Configure exporter. |
producers |
array of MetricProducer |
false |
If omitted, no metric producers are added. | * minItems: 1 |
Configure metric producers. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
cardinality_limits |
supported | unknown | supported | unknown |
exporter |
supported | unknown | supported | unknown |
producers |
supported | unknown | not_implemented | unknown |
Constraints:
additionalProperties:falserequired:["exporter"]
Usages:
No snippets.
JSON Schema
{
"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"
]
}
PushMetricExporter is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
console |
ConsoleMetricExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be console. |
otlp_grpc |
OtlpGrpcMetricExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. |
otlp_http |
OtlpHttpMetricExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. |
otlp_file/developmentWARNING: This property is experimental. |
ExperimentalOtlpFileMetricExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
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:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"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"
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
attributes |
array of AttributeNameValue |
false |
If omitted, no resource attributes are added. | * minItems: 1 |
Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list. |
attributes_list |
one of: * string* null |
false |
If omitted or null, no resource attributes are added. | 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. |
schema_url |
one of: * string* null |
false |
If omitted or null, no schema URL is used. | No constraints. | Configure resource schema URL. |
detection/developmentWARNING: This property is experimental. |
ExperimentalResourceDetection |
false |
If omitted, resource detection is disabled. | No constraints. | Configure resource detection. |
Language support status
| Property | cpp | go | java | 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:
Snippets:
Kitchen Sink
attributes:
- name: service.name
value: unknown_service
- name: string_key
value: value
type: string
- name: bool_key
value: true
type: bool
- name: int_key
value: 1
type: int
- name: double_key
value: 1.1
type: double
- name: string_array_key
value: [ "value1", "value2" ]
type: string_array
- name: bool_array_key
value: [ true, false ]
type: bool_array
- name: int_array_key
value: [ 1, 2 ]
type: int_array
- name: double_array_key
value: [ 1.1, 2.2 ]
type: double_array
attributes_list: "service.namespace=my-namespace,service.version=1.0.0"
detection/development:
attributes:
included:
- process.*
excluded:
- process.command_args
detectors:
- container:
- host:
- process:
- service:
schema_url: https://opentelemetry.io/schemas/1.16.0JSON Schema
{
"type": "object",
"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"
]
}
}
}
Sampler is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
always_off |
AlwaysOffSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be always_off. |
always_on |
AlwaysOnSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be always_on. |
parent_based |
ParentBasedSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be parent_based. |
trace_id_ratio_based |
TraceIdRatioBasedSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be trace_id_ratio_based. |
composite/developmentWARNING: This property is experimental. |
ExperimentalComposableSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be composite. |
jaeger_remote/developmentWARNING: This property is experimental. |
ExperimentalJaegerRemoteSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be jaeger_remote. |
probability/developmentWARNING: This property is experimental. |
ExperimentalProbabilitySampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be probability. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
always_off |
supported | supported | supported | unknown |
always_on |
supported | supported | supported | unknown |
parent_based |
supported | supported | supported | unknown |
trace_id_ratio_based |
supported | supported | supported | unknown |
composite/development |
supported | not_implemented | supported | unknown |
jaeger_remote/development |
supported | not_implemented | supported | unknown |
probability/development |
supported | not_implemented | supported | unknown |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
TracerProvider.samplerExperimentalJaegerRemoteSampler.initial_samplerParentBasedSampler.rootParentBasedSampler.remote_parent_sampledParentBasedSampler.remote_parent_not_sampledParentBasedSampler.local_parent_sampledParentBasedSampler.local_parent_not_sampled
Snippets:
Parent Based Typical
# configure the parent based sampler to sample 1% of root spans, and follow the sampling decision of parent spans
parent_based:
root:
trace_id_ratio_based:
ratio: 0.01
remote_parent_sampled:
always_on:
remote_parent_not_sampled:
always_off:
local_parent_sampled:
always_on:
local_parent_not_sampled:
always_off:Rule Based Kitchen Sink
composite/development:
rule_based:
# The rules for the sampler, matched in order. Each rule can have multiple match conditions - the sampler will be applied if all match.
# If no conditions are specified, the rule matches all spans that reach it. If no rules match, the span is not sampled.
# The rules of this sampler, in plain english:
# - If http.route = /healthz or /livez, do not sample the span.
# - If http.path starts with /internal/ and not /internal/special/, sample the span.
# - If there is no parent and the sppan kind is client, sample the span 5% of the time.
# - Else, sample the span .1% of the time.
rules:
- attribute_values:
key: http.route
values:
- /healthz
- /livez
# Configure sampler when matched.
sampler:
# Configure sampler to be always_off if matched.
always_off:
# Configure a sampling rule matching http.path attribute patterns.
- attribute_patterns:
key: http.path
included:
- /internal/*
excluded:
- /internal/special/*
# Configure sampler when matched.
sampler:
# Configure sampler to be always_on if matched.
always_on:
# Configure a sampling rule matching root spans with CLIENT span kind.
- parent:
- none
span_kinds:
- client
sampler:
# Configure sampler to be probability if matched.
probability:
ratio: 0.05
- sampler:
probability:
# Configure ratio.
# If omitted or null, 1.0 is used.
ratio: 0.001JSON Schema
{
"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"
}
}
}
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 | go | java | js |
|---|---|---|---|---|
debug |
not_implemented | unknown | supported | unknown |
debug2 |
not_implemented | unknown | supported | unknown |
debug3 |
not_implemented | unknown | supported | unknown |
debug4 |
not_implemented | unknown | supported | unknown |
error |
not_implemented | unknown | supported | unknown |
error2 |
not_implemented | unknown | supported | unknown |
error3 |
not_implemented | unknown | supported | unknown |
error4 |
not_implemented | unknown | supported | unknown |
fatal |
not_implemented | unknown | supported | unknown |
fatal2 |
not_implemented | unknown | supported | unknown |
fatal3 |
not_implemented | unknown | supported | unknown |
fatal4 |
not_implemented | unknown | supported | unknown |
info |
not_implemented | unknown | supported | unknown |
info2 |
not_implemented | unknown | supported | unknown |
info3 |
not_implemented | unknown | supported | unknown |
info4 |
not_implemented | unknown | supported | unknown |
trace |
not_implemented | unknown | supported | unknown |
trace2 |
not_implemented | unknown | supported | unknown |
trace3 |
not_implemented | unknown | supported | unknown |
trace4 |
not_implemented | unknown | supported | unknown |
warn |
not_implemented | unknown | supported | unknown |
warn2 |
not_implemented | unknown | supported | unknown |
warn3 |
not_implemented | unknown | supported | unknown |
warn4 |
not_implemented | unknown | supported | unknown |
No constraints.
Usages:
No snippets.
JSON Schema
{
"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"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
exporter |
LogRecordExporter |
true |
Property is required and must be non-null. | No constraints. | Configure exporter. |
Constraints:
additionalProperties:falserequired:["exporter"]
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"exporter": {
"$ref": "#/$defs/LogRecordExporter"
}
},
"required": [
"exporter"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
exporter |
SpanExporter |
true |
Property is required and must be non-null. | No constraints. | Configure exporter. |
Constraints:
additionalProperties:falserequired:["exporter"]
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"exporter": {
"$ref": "#/$defs/SpanExporter"
}
},
"required": [
"exporter"
]
}
SpanExporter is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
console |
ConsoleExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be console. |
otlp_grpc |
OtlpGrpcExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with gRPC transport. |
otlp_http |
OtlpHttpExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with HTTP transport. |
otlp_file/developmentWARNING: This property is experimental. |
ExperimentalOtlpFileExporter |
false |
If omitted, ignore. | No constraints. | Configure exporter to be OTLP with file transport. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
console |
supported | supported | supported | unknown |
otlp_grpc |
supported | supported | supported | unknown |
otlp_http |
supported | supported | supported | unknown |
otlp_file/development |
supported | not_implemented | supported | unknown |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": [
"object",
"null"
]
},
"minProperties": 1,
"maxProperties": 1,
"properties": {
"otlp_http": {
"$ref": "#/$defs/OtlpHttpExporter"
},
"otlp_grpc": {
"$ref": "#/$defs/OtlpGrpcExporter"
},
"otlp_file/development": {
"$ref": "#/$defs/ExperimentalOtlpFileExporter"
},
"console": {
"$ref": "#/$defs/ConsoleExporter"
}
}
}
This is a enum type.
| Value | Description |
|---|---|
client |
client, a client span. |
consumer |
consumer, a consumer span. |
internal |
internal, an internal span. |
producer |
producer, a producer span. |
server |
server, a server span. |
Language support status
| Value | cpp | go | java | js |
|---|---|---|---|---|
client |
not_implemented | unknown | supported | unknown |
consumer |
not_implemented | unknown | supported | unknown |
internal |
not_implemented | unknown | supported | unknown |
producer |
not_implemented | unknown | supported | unknown |
server |
not_implemented | unknown | supported | unknown |
No constraints.
Usages:
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"internal",
"server",
"client",
"producer",
"consumer"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
attribute_count_limit |
one of: * integer* null |
false |
If omitted or null, 128 is used. | * minimum: 0 |
Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. Value must be non-negative. |
attribute_value_length_limit |
one of: * integer* null |
false |
If omitted or null, there is no limit. | * minimum: 0 |
Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. Value must be non-negative. |
event_attribute_count_limit |
one of: * integer* null |
false |
If omitted or null, 128 is used. | * minimum: 0 |
Configure max attributes per span event. Value must be non-negative. |
event_count_limit |
one of: * integer* null |
false |
If omitted or null, 128 is used. | * minimum: 0 |
Configure max span event count. Value must be non-negative. |
link_attribute_count_limit |
one of: * integer* null |
false |
If omitted or null, 128 is used. | * minimum: 0 |
Configure max attributes per span link. Value must be non-negative. |
link_count_limit |
one of: * integer* null |
false |
If omitted or null, 128 is used. | * minimum: 0 |
Configure max span link count. Value must be non-negative. |
Language support status
| Property | cpp | go | java | 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:
Snippets:
Kitchen Sink
# .tracer_provider.limits take priority over general .attribute_limits. In this contrived example, attribute_value_length_limit is set to 4096, attribute_count_limit is set to 128, overriding the values from general .attribute_limits.
attribute_count_limit: 128
attribute_value_length_limit: 4096
event_attribute_count_limit: 128
event_count_limit: 128
link_attribute_count_limit: 128
link_count_limit: 128JSON Schema
{
"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 is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
batch |
BatchSpanProcessor |
false |
If omitted, ignore. | No constraints. | Configure a batch span processor. |
simple |
SimpleSpanProcessor |
false |
If omitted, ignore. | No constraints. | Configure a simple span processor. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
batch |
supported | supported | supported | unknown |
simple |
supported | supported | supported | unknown |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": [
"object",
"null"
]
},
"minProperties": 1,
"maxProperties": 1,
"properties": {
"batch": {
"$ref": "#/$defs/BatchSpanProcessor"
},
"simple": {
"$ref": "#/$defs/SimpleSpanProcessor"
}
}
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
TextMapPropagator is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
b3 |
B3Propagator |
false |
If omitted, ignore. | No constraints. | Include the zipkin b3 propagator. |
b3multi |
B3MultiPropagator |
false |
If omitted, ignore. | No constraints. | Include the zipkin b3 multi propagator. |
baggage |
BaggagePropagator |
false |
If omitted, ignore. | No constraints. | Include the w3c baggage propagator. |
ottrace |
OpenTracingPropagator |
false |
If omitted, ignore. | No constraints. | Include the opentracing propagator. |
tracecontext |
TraceContextPropagator |
false |
If omitted, ignore. | No constraints. | Include the w3c trace context propagator. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
b3 |
supported | supported | supported | unknown |
b3multi |
supported | supported | supported | unknown |
baggage |
supported | supported | supported | unknown |
ottrace |
supported | supported | supported | unknown |
tracecontext |
supported | supported | supported | unknown |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"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"
},
"ottrace": {
"$ref": "#/$defs/OpenTracingPropagator"
}
}
}
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
ratio |
one of: * number* null |
false |
If omitted or null, 1.0 is used. | * minimum: 0* maximum: 1 |
Configure trace_id_ratio. |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"ratio": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
limits |
SpanLimits |
false |
If omitted, default values as described in SpanLimits are used. | No constraints. | Configure span limits. See also attribute_limits. |
processors |
array of SpanProcessor |
true |
Property is required and must be non-null. | * minItems: 1 |
Configure span processors. |
sampler |
Sampler |
false |
If omitted, parent based sampler with a root of always_on is used. | No constraints. | Configure the sampler. |
tracer_configurator/developmentWARNING: This property is experimental. |
ExperimentalTracerConfigurator |
false |
If omitted, all tracers use default values as described in ExperimentalTracerConfig. | No constraints. | Configure tracers. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
limits |
supported | unknown | supported | unknown |
processors |
supported | unknown | supported | unknown |
sampler |
supported | unknown | supported | unknown |
tracer_configurator/development |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:falserequired:["processors"]
Usages:
No snippets.
JSON 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"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
selector |
ViewSelector |
true |
Property is required and must be non-null. | 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 |
true |
Property is required and must be non-null. | No constraints. | Configure view stream. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
selector |
supported | unknown | supported | unknown |
stream |
supported | unknown | supported | unknown |
Constraints:
additionalProperties:falserequired:["selector","stream"]
Usages:
Snippets:
Kitchen Sink
selector:
instrument_name: my_instrument
instrument_type: histogram
unit: ms
meter_name: my-meter
meter_version: 1.0.0
meter_schema_url: https://opentelemetry.io/schemas/1.16.0
stream:
name: new_instrument_name
description: new_description
aggregation:
explicit_bucket_histogram:
boundaries:
- 0.0
- 5.0
- 10.0
- 25.0
- 50.0
- 75.0
- 100.0
- 250.0
- 500.0
- 750.0
- 1000.0
- 2500.0
- 5000.0
- 7500.0
- 10000.0
record_min_max: true
aggregation_cardinality_limit: 2000
attribute_keys:
included:
- foo.*
excluded:
- foo.barOverride Default Histogram Buckets
# select a specific histogram instrument and override the default buckets
selector:
instrument_name: my.instrument.name
instrument_type: histogram
stream:
aggregation:
explicit_bucket_histogram:
boundaries:
- 0
- 5.0
- 10.0JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"selector": {
"$ref": "#/$defs/ViewSelector"
},
"stream": {
"$ref": "#/$defs/ViewStream"
}
},
"required": [
"selector",
"stream"
]
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
instrument_name |
one of: * string* null |
false |
If omitted or null, all instrument names match. | No constraints. | Configure instrument name selection criteria. |
instrument_type |
InstrumentType |
false |
If omitted, all instrument types match. | No constraints. | Configure instrument type selection criteria. |
meter_name |
one of: * string* null |
false |
If omitted or null, all meter names match. | No constraints. | Configure meter name selection criteria. |
meter_schema_url |
one of: * string* null |
false |
If omitted or null, all meter schema URLs match. | No constraints. | Configure meter schema url selection criteria. |
meter_version |
one of: * string* null |
false |
If omitted or null, all meter versions match. | No constraints. | Configure meter version selection criteria. |
unit |
one of: * string* null |
false |
If omitted or null, all instrument units match. | No constraints. | Configure the instrument unit selection criteria. |
Language support status
| Property | cpp | go | java | 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 | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"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"
]
}
}
}
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
aggregation |
Aggregation |
false |
If omitted, default is used. | No constraints. | Configure aggregation of the resulting stream(s). |
aggregation_cardinality_limit |
one of: * integer* null |
false |
If omitted or null, the metric reader's default cardinality limit is used. | * exclusiveMinimum: 0 |
Configure the aggregation cardinality limit. |
attribute_keys |
IncludeExclude |
false |
If omitted, all attribute keys are retained. | No constraints. | Configure attribute keys retained in the resulting stream(s). |
description |
one of: * string* null |
false |
If omitted or null, the instrument's origin description is used. | No constraints. | Configure metric description of the resulting stream(s). |
name |
one of: * string* null |
false |
If omitted or null, the instrument's original name is used. | No constraints. | Configure metric name of the resulting stream(s). |
Language support status
| Property | cpp | go | java | 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 |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"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": "#/$defs/IncludeExclude"
}
}
}
Warning
This type is experimental.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
Warning
This type is experimental.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
root |
ExperimentalComposableSampler |
true |
Property is required and must be non-null. | No constraints. | Sampler to use when there is no parent. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
root |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:falserequired:["root"]
Usages:
No snippets.
JSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"root": {
"$ref": "#/$defs/ExperimentalComposableSampler"
}
},
"required": [
"root"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
ratio |
one of: * number* null |
false |
If omitted or null, 1.0 is used. | * minimum: 0* maximum: 1 |
Configure ratio. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
ratio |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"ratio": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
rules |
one of: * array* null |
false |
If omitted or null, no span is sampled. | No constraints. | The rules for the sampler, matched in order. If no rules match, the span is not sampled. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
rules |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"rules": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRule"
}
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
attribute_patterns |
ExperimentalComposableRuleBasedSamplerRuleAttributePatterns |
false |
If omitted, ignore. | No constraints. | Patterns to match against a single attribute. Non-string attributes are matched using their string representation: for example, a pattern of "4*" would match any http.response.status_code in 400-499. For array attributes, if any item matches, it is considered a match. |
attribute_values |
ExperimentalComposableRuleBasedSamplerRuleAttributeValues |
false |
If omitted, ignore. | No constraints. | Values to match against a single attribute. Non-string attributes are matched using their string representation: for example, a value of "404" would match the http.response.status_code 404. For array attributes, if any item matches, it is considered a match. |
parent |
array of ExperimentalSpanParent |
false |
If omitted, ignore. | * minItems: 1 |
The parent span types to match. |
sampler |
ExperimentalComposableSampler |
true |
Property is required and must be non-null. | No constraints. | The sampler to use for matching spans. |
span_kinds |
array of SpanKind |
false |
If omitted, ignore. | * minItems: 1 |
The span kinds to match. If the span's kind matches any of these, it matches. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
attribute_patterns |
not_implemented | not_implemented | supported | unknown |
attribute_values |
not_implemented | not_implemented | supported | unknown |
parent |
not_implemented | not_implemented | supported | unknown |
sampler |
not_implemented | not_implemented | supported | unknown |
span_kinds |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:falserequired:["sampler"]
No usages.
No snippets.
JSON Schema
{
"type": "object",
"description": "A rule for ExperimentalComposableRuleBasedSampler. A rule can have multiple match conditions - the sampler will be applied if all match. \nIf no conditions are specified, the rule matches all spans that reach it.\n",
"additionalProperties": false,
"properties": {
"attribute_values": {
"$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRuleAttributeValues"
},
"attribute_patterns": {
"$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRuleAttributePatterns"
},
"span_kinds": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/SpanKind"
}
},
"parent": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/ExperimentalSpanParent"
}
},
"sampler": {
"$ref": "#/$defs/ExperimentalComposableSampler"
}
},
"required": [
"sampler"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
excluded |
array of string |
false |
If omitted, .included attributes are included. | * 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. |
included |
array of string |
false |
If omitted, all values are included. | * 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. |
key |
string |
true |
Property is required and must be non-null. | No constraints. | The attribute key to match against. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
excluded |
not_implemented | not_implemented | supported | unknown |
included |
not_implemented | not_implemented | supported | unknown |
key |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:falserequired:["key"]
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"included": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"excluded": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"key"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
key |
string |
true |
Property is required and must be non-null. | No constraints. | The attribute key to match against. |
values |
array of string |
true |
Property is required and must be non-null. | * minItems: 1 |
The attribute values to match against. If the attribute's value matches any of these, it matches. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
key |
not_implemented | not_implemented | supported | unknown |
values |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:falserequired:["key","values"]
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"values": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"required": [
"key",
"values"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
always_off |
ExperimentalComposableAlwaysOffSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be always_off. |
always_on |
ExperimentalComposableAlwaysOnSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be always_on. |
parent_threshold |
ExperimentalComposableParentThresholdSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be parent_threshold. |
probability |
ExperimentalComposableProbabilitySampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be probability. |
rule_based |
ExperimentalComposableRuleBasedSampler |
false |
If omitted, ignore. | No constraints. | Configure sampler to be rule_based. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
always_off |
not_implemented | not_implemented | supported | unknown |
always_on |
not_implemented | not_implemented | supported | unknown |
parent_threshold |
not_implemented | not_implemented | supported | unknown |
probability |
not_implemented | not_implemented | supported | unknown |
rule_based |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:{"type":["object","null"]}minProperties:1maxProperties:1
Usages:
Sampler.composite/developmentExperimentalComposableParentThresholdSampler.rootExperimentalComposableRuleBasedSamplerRule.sampler
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": [
"object",
"null"
]
},
"minProperties": 1,
"maxProperties": 1,
"properties": {
"always_off": {
"$ref": "#/$defs/ExperimentalComposableAlwaysOffSampler"
},
"always_on": {
"$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler"
},
"parent_threshold": {
"$ref": "#/$defs/ExperimentalComposableParentThresholdSampler"
},
"probability": {
"$ref": "#/$defs/ExperimentalComposableProbabilitySampler"
},
"rule_based": {
"$ref": "#/$defs/ExperimentalComposableRuleBasedSampler"
}
}
}
Warning
This type is experimental.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
http |
ExperimentalHttpInstrumentation |
false |
If omitted, defaults as described in ExperimentalHttpInstrumentation are used. | No constraints. | Configure instrumentations following the http semantic conventions. See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/ |
peer |
ExperimentalPeerInstrumentation |
false |
If omitted, defaults as described in ExperimentalPeerInstrumentation are used. | 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 | go | java | js |
|---|---|---|---|---|
http |
not_applicable | unknown | supported | unknown |
peer |
not_applicable | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"peer": {
"$ref": "#/$defs/ExperimentalPeerInstrumentation"
},
"http": {
"$ref": "#/$defs/ExperimentalHttpInstrumentation"
}
}
}
Warning
This type is experimental.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
request_captured_headers |
array of string |
false |
If omitted, no outbound request headers are captured. | * minItems: 1 |
Configure headers to capture for outbound http requests. |
response_captured_headers |
array of string |
false |
If omitted, no inbound response headers are captured. | * minItems: 1 |
Configure headers to capture for inbound http responses. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
request_captured_headers |
not_applicable | unknown | supported | unknown |
response_captured_headers |
not_applicable | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"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"
}
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
client |
ExperimentalHttpClientInstrumentation |
false |
If omitted, defaults as described in ExperimentalHttpClientInstrumentation are used. | No constraints. | Configure instrumentations following the http client semantic conventions. |
server |
ExperimentalHttpServerInstrumentation |
false |
If omitted, defaults as described in ExperimentalHttpServerInstrumentation are used. | No constraints. | Configure instrumentations following the http server semantic conventions. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
client |
not_applicable | unknown | supported | unknown |
server |
not_applicable | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"client": {
"$ref": "#/$defs/ExperimentalHttpClientInstrumentation"
},
"server": {
"$ref": "#/$defs/ExperimentalHttpServerInstrumentation"
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
request_captured_headers |
array of string |
false |
If omitted, no request headers are captured. | * minItems: 1 |
Configure headers to capture for inbound http requests. |
response_captured_headers |
array of string |
false |
If omitted, no response headers are captures. | * minItems: 1 |
Configure headers to capture for outbound http responses. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
request_captured_headers |
not_applicable | unknown | supported | unknown |
response_captured_headers |
not_applicable | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"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"
}
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
cpp |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure C++ language-specific instrumentation libraries. |
dotnet |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure .NET language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
erlang |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure Erlang language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
general |
ExperimentalGeneralInstrumentation |
false |
If omitted, default values as described in ExperimentalGeneralInstrumentation are used. | 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 |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure Go language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
java |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure Java language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
js |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure JavaScript language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
php |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure PHP language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
python |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure Python language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
ruby |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure Ruby language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
rust |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | No constraints. | Configure Rust language-specific instrumentation libraries. Each entry's key identifies a particular instrumentation library. The corresponding value configures it. |
swift |
ExperimentalLanguageSpecificInstrumentation |
false |
If omitted, instrumentation defaults are used. | 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 | go | java | 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:
Snippets:
Kitchen Sink
general:
peer:
service_mapping:
- peer: 1.2.3.4
service: FooService
- peer: 2.3.4.5
service: BarService
http:
client:
request_captured_headers:
- Content-Type
- Accept
response_captured_headers:
- Content-Type
- Content-Encoding
server:
request_captured_headers:
- Content-Type
- Accept
response_captured_headers:
- Content-Type
- Content-Encoding
cpp:
example:
property: "value"
dotnet:
example:
property: "value"
erlang:
example:
property: "value"
go:
example:
property: "value"
java:
example:
property: "value"
js:
example:
property: "value"
php:
example:
property: "value"
python:
example:
property: "value"
ruby:
example:
property: "value"
rust:
example:
property: "value"
swift:
example:
property: "value"JSON 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"
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
endpoint |
string |
true |
Property is required and must be non-null. | No constraints. | Configure the endpoint of the jaeger remote sampling service. |
initial_sampler |
Sampler |
true |
Property is required and must be non-null. | No constraints. | Configure the initial sampler used before first configuration is fetched. |
interval |
one of: * integer* null |
false |
If omitted or null, 60000 is used. | * minimum: 0 |
Configure the polling interval (in milliseconds) to fetch from the remote sampling service. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
endpoint |
not_implemented | not_implemented | supported | unknown |
initial_sampler |
not_implemented | not_implemented | supported | unknown |
interval |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:falserequired:["endpoint","initial_sampler"]
Usages:
No snippets.
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"endpoint": {
"type": [
"string"
]
},
"interval": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"initial_sampler": {
"$ref": "#/$defs/Sampler"
}
},
"required": [
"endpoint",
"initial_sampler"
]
}
Warning
This type is experimental.
No properties.
Constraints:
additionalProperties:{"type":"object"}
Usages:
ExperimentalInstrumentation.cppExperimentalInstrumentation.dotnetExperimentalInstrumentation.erlangExperimentalInstrumentation.goExperimentalInstrumentation.javaExperimentalInstrumentation.jsExperimentalInstrumentation.phpExperimentalInstrumentation.pythonExperimentalInstrumentation.rubyExperimentalInstrumentation.rustExperimentalInstrumentation.swift
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": {
"type": "object"
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
enabled |
one of: * boolean* null |
false |
If omitted or null, true is used. | No constraints. | Configure if the logger is enabled or not. |
minimum_severity |
SeverityNumber |
false |
If omitted, severity filtering is not applied. | 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. |
trace_based |
one of: * boolean* null |
false |
If omitted or null, trace based filtering is not applied. | 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. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
enabled |
not_implemented | unknown | supported | unknown |
minimum_severity |
not_implemented | unknown | supported | unknown |
trace_based |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"enabled": {
"type": [
"boolean",
"null"
]
},
"minimum_severity": {
"$ref": "#/$defs/SeverityNumber"
},
"trace_based": {
"type": [
"boolean",
"null"
]
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
default_config |
ExperimentalLoggerConfig |
false |
If omitted, unmatched .loggers use default values as described in ExperimentalLoggerConfig. | No constraints. | Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers. |
loggers |
array of ExperimentalLoggerMatcherAndConfig |
false |
If omitted, all loggers use .default_config. | * minItems: 1 |
Configure loggers. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
default_config |
not_implemented | unknown | supported | unknown |
loggers |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Kitchen Sink
default_config:
enabled: false
loggers:
- name: io.opentelemetry.contrib.*
config:
enabled: true
minimum_severity: info
trace_based: trueJSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"default_config": {
"$ref": "#/$defs/ExperimentalLoggerConfig"
},
"loggers": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig"
}
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
config |
ExperimentalLoggerConfig |
true |
Property is required and must be non-null. | No constraints. | The logger config. |
name |
string |
true |
Property is required and must be non-null. | 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 | go | java | js |
|---|---|---|---|---|
config |
not_implemented | unknown | supported | unknown |
name |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:falserequired:["name","config"]
Usages:
No snippets.
JSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"name": {
"type": [
"string"
]
},
"config": {
"$ref": "#/$defs/ExperimentalLoggerConfig"
}
},
"required": [
"name",
"config"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
enabled |
boolean |
false |
If omitted, true is used. | No constraints. | Configure if the meter is enabled or not. |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"enabled": {
"type": [
"boolean"
]
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
default_config |
ExperimentalMeterConfig |
false |
If omitted, unmatched .meters use default values as described in ExperimentalMeterConfig. | No constraints. | Configure the default meter config used there is no matching entry in .meter_configurator/development.meters. |
meters |
array of ExperimentalMeterMatcherAndConfig |
false |
If omitted, all meters used .default_config. | * minItems: 1 |
Configure meters. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
default_config |
not_implemented | unknown | supported | unknown |
meters |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Kitchen Sink
default_config:
enabled: false
meters:
- name: io.opentelemetry.contrib.*
config:
enabled: trueJSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"default_config": {
"$ref": "#/$defs/ExperimentalMeterConfig"
},
"meters": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/ExperimentalMeterMatcherAndConfig"
}
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
config |
ExperimentalMeterConfig |
true |
Property is required and must be non-null. | No constraints. | The meter config. |
name |
string |
true |
Property is required and must be non-null. | 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 | go | java | js |
|---|---|---|---|---|
config |
not_implemented | unknown | supported | unknown |
name |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:falserequired:["name","config"]
Usages:
No snippets.
JSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"name": {
"type": [
"string"
]
},
"config": {
"$ref": "#/$defs/ExperimentalMeterConfig"
}
},
"required": [
"name",
"config"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
output_stream |
one of: * string* null |
false |
If omitted or null, stdout is used. | No constraints. | Configure output stream. Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
output_stream |
supported | not_implemented | not_implemented | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"output_stream": {
"type": [
"string",
"null"
]
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
default_histogram_aggregation |
ExporterDefaultHistogramAggregation |
false |
If omitted, explicit_bucket_histogram is used. | No constraints. | Configure default histogram aggregation. |
output_stream |
one of: * string* null |
false |
If omitted or null, stdout is used. | No constraints. | Configure output stream. Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl. |
temporality_preference |
ExporterTemporalityPreference |
false |
If omitted, cumulative is used. | No constraints. | Configure temporality preference. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
default_histogram_aggregation |
supported | not_implemented | supported | unknown |
output_stream |
supported | not_implemented | not_implemented | unknown |
temporality_preference |
supported | not_implemented | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Metrics File
output_stream: file:///var/log/metrics.jsonl
temporality_preference: cumulative
default_histogram_aggregation: explicit_bucket_histogramMetrics Stdout
output_stream: stdout
temporality_preference: cumulative
default_histogram_aggregation: explicit_bucket_histogramJSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"output_stream": {
"type": [
"string",
"null"
]
},
"temporality_preference": {
"$ref": "#/$defs/ExporterTemporalityPreference"
},
"default_histogram_aggregation": {
"$ref": "#/$defs/ExporterDefaultHistogramAggregation"
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
service_mapping |
array of ExperimentalPeerServiceMapping |
false |
If omitted, no peer service mappings are used. | * 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 | go | java | js |
|---|---|---|---|---|
service_mapping |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"service_mapping": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/ExperimentalPeerServiceMapping"
}
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
peer |
string |
true |
Property is required and must be non-null. | No constraints. | The IP address to map. |
service |
string |
true |
Property is required and must be non-null. | No constraints. | The logical name corresponding to the IP address of .peer. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
peer |
not_implemented | unknown | supported | unknown |
service |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:falserequired:["peer","service"]
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"peer": {
"type": "string"
},
"service": {
"type": "string"
}
},
"required": [
"peer",
"service"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
ratio |
one of: * number* null |
false |
If omitted or null, 1.0 is used. | * minimum: 0* maximum: 1 |
Configure ratio. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
ratio |
not_implemented | not_implemented | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object",
"null"
],
"additionalProperties": false,
"properties": {
"ratio": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1
}
}
}
Warning
This type is experimental.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
host |
one of: * string* null |
false |
If omitted or null, localhost is used. | No constraints. | Configure host. |
port |
one of: * integer* null |
false |
If omitted or null, 9464 is used. | No constraints. | Configure port. |
translation_strategy |
ExperimentalPrometheusTranslationStrategy |
false |
If omitted, underscore_escaping_with_suffixes is used. | No constraints. | Configure how metric names are translated to Prometheus metric names. |
with_resource_constant_labels |
IncludeExclude |
false |
If omitted, no resource attributes are added. | 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 |
If omitted or null, false is used. | No constraints. | Configure Prometheus Exporter to produce metrics without scope labels. |
without_target_info |
one of: * boolean* null |
false |
If omitted or null, false is used. | No constraints. | Configure Prometheus Exporter to produce metrics without a target info metric for the resource. |
Language support status
| Property | cpp | go | java | 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 |
supported | unknown | supported | unknown |
without_target_info |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Kitchen Sink
host: localhost
port: 9464
without_scope_info: false
without_target_info: false
with_resource_constant_labels:
included:
- "service*"
excluded:
- "service.attr1"
translation_strategy: underscore_escaping_with_suffixesJSON Schema
{
"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": "#/$defs/IncludeExclude"
},
"translation_strategy": {
"$ref": "#/$defs/ExperimentalPrometheusTranslationStrategy"
}
}
}
Warning
This type is experimental.
This is a enum type.
| Value | Description |
|---|---|
no_translation |
Special character escaping is disabled. Type and unit suffixes are disabled. Metric names are unaltered. |
no_utf8_escaping_with_suffixes |
Special character escaping is disabled. Type and unit suffixes are enabled. |
underscore_escaping_with_suffixes |
Special character escaping is enabled. Type and unit suffixes are enabled. |
underscore_escaping_without_suffixes |
Special character escaping is enabled. Type and unit suffixes are disabled. This represents classic Prometheus metric name compatibility. |
Language support status
| Value | cpp | go | java | js |
|---|---|---|---|---|
no_translation |
not_implemented | unknown | not_implemented | unknown |
no_utf8_escaping_with_suffixes |
not_implemented | unknown | not_implemented | unknown |
underscore_escaping_with_suffixes |
supported | unknown | not_implemented | unknown |
underscore_escaping_without_suffixes |
supported | unknown | not_implemented | unknown |
No constraints.
Usages:
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"underscore_escaping_with_suffixes",
"underscore_escaping_without_suffixes",
"no_utf8_escaping_with_suffixes",
"no_translation"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
attributes |
IncludeExclude |
false |
If omitted, all attributes from resource detectors are added. | No constraints. | Configure attributes provided by resource detectors. |
detectors |
array of ExperimentalResourceDetector |
false |
If omitted, no resource detectors are enabled. | * minItems: 1 |
Configure resource detectors. Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
attributes |
not_implemented | unknown | supported | unknown |
detectors |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"attributes": {
"$ref": "#/$defs/IncludeExclude"
},
"detectors": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/ExperimentalResourceDetector"
}
}
}
}
Warning
This type is experimental.
ExperimentalResourceDetector is an SDK extension plugin.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
container |
ExperimentalContainerResourceDetector |
false |
If omitted, ignore. | No constraints. | Enable the container resource detector, which populates container.* attributes. |
host |
ExperimentalHostResourceDetector |
false |
If omitted, ignore. | No constraints. | Enable the host resource detector, which populates host.* and os.* attributes. |
process |
ExperimentalProcessResourceDetector |
false |
If omitted, ignore. | No constraints. | Enable the process resource detector, which populates process.* attributes. |
service |
ExperimentalServiceResourceDetector |
false |
If omitted, ignore. | 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 | go | java | 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:1maxProperties:1
Usages:
No snippets.
JSON Schema
{
"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"
}
}
}
Warning
This type is experimental.
No properties.
Constraints:
additionalProperties:false
Usages:
No snippets.
Warning
This type is experimental.
This is a enum type.
| Value | Description |
|---|---|
local |
local, a local parent. |
none |
none, no parent, i.e., the trace root. |
remote |
remote, a remote parent. |
Language support status
| Value | cpp | go | java | js |
|---|---|---|---|---|
local |
not_implemented | unknown | supported | unknown |
none |
not_implemented | unknown | supported | unknown |
remote |
not_implemented | unknown | supported | unknown |
No constraints.
Usages:
No snippets.
JSON Schema
{
"type": [
"string",
"null"
],
"enum": [
"none",
"remote",
"local"
]
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
enabled |
boolean |
false |
If omitted, true is used. | No constraints. | Configure if the tracer is enabled or not. |
Constraints:
additionalProperties:false
Usages:
No snippets.
JSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"enabled": {
"type": [
"boolean"
]
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
default_config |
ExperimentalTracerConfig |
false |
If omitted, unmatched .tracers use default values as described in ExperimentalTracerConfig. | No constraints. | Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers. |
tracers |
array of ExperimentalTracerMatcherAndConfig |
false |
If omitted, all tracers use .default_config. | * minItems: 1 |
Configure tracers. |
Language support status
| Property | cpp | go | java | js |
|---|---|---|---|---|
default_config |
not_implemented | unknown | supported | unknown |
tracers |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:false
Usages:
Snippets:
Kitchen Sink
default_config:
enabled: false
tracers:
- name: io.opentelemetry.contrib.*
config:
enabled: trueJSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"default_config": {
"$ref": "#/$defs/ExperimentalTracerConfig"
},
"tracers": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/ExperimentalTracerMatcherAndConfig"
}
}
}
}
Warning
This type is experimental.
| Property | Type | Required? | Default and Null Behavior | Constraints | Description |
|---|---|---|---|---|---|
config |
ExperimentalTracerConfig |
true |
Property is required and must be non-null. | No constraints. | The tracer config. |
name |
string |
true |
Property is required and must be non-null. | 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 | go | java | js |
|---|---|---|---|---|
config |
not_implemented | unknown | supported | unknown |
name |
not_implemented | unknown | supported | unknown |
Constraints:
additionalProperties:falserequired:["name","config"]
Usages:
No snippets.
JSON Schema
{
"type": [
"object"
],
"additionalProperties": false,
"properties": {
"name": {
"type": [
"string"
]
},
"config": {
"$ref": "#/$defs/ExperimentalTracerConfig"
}
},
"required": [
"name",
"config"
]
}
SDK extension plugins are places where custom interface implementations can be referenced and configured.
For example, you could write a custom SpanExporter, and indicate that it should be paired with a BatchSpanProcessor.
Each of the following types support referencing custom interface implementations. Each type is an object type containing exactly one property whose value is type object or null. The property key refers to the name of the custom implementation, and must be the same as the name of a corresponding registered ComponentProvider. The value passed as configuration when the ComponentProvider.create is called.
SDK extension plugin types may have properties defined corresponding to built-in implementations of the interface. For example, the otlp_http property of SpanExporter defines the OTLP http/protobuf exporter.