Skip to content

Latest commit

 

History

History
6427 lines (5190 loc) · 205 KB

File metadata and controls

6427 lines (5190 loc) · 205 KB

Overview

This document is an auto-generated view of the declarative configuration JSON schema and meta schema meant for improved consumability by humans.

See also language support status for all details about each language's support in a single place.

Types

Aggregation

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: false
  • minProperties: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

AlwaysOffSampler

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

AlwaysOnSampler

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

AttributeLimits

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

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "attribute_value_length_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0
    },
    "attribute_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0
    }
  }
}

AttributeNameValue

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: false
  • required: ["name","value"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": "string"
    },
    "value": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1
        },
        {
          "type": "array",
          "items": {
            "type": "boolean"
          },
          "minItems": 1
        },
        {
          "type": "array",
          "items": {
            "type": "number"
          },
          "minItems": 1
        }
      ]
    },
    "type": {
      "$ref": "#/$defs/AttributeType"
    }
  },
  "required": [
    "name",
    "value"
  ]
}

AttributeType

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

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "string",
    "bool",
    "int",
    "double",
    "string_array",
    "bool_array",
    "int_array",
    "double_array"
  ]
}

B3MultiPropagator

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

B3Propagator

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

BaggagePropagator

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

Base2ExponentialBucketHistogramAggregation

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

JSON Schema Source File

{
  "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"
      ]
    }
  }
}

BatchLogRecordProcessor

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: false
  • required: ["exporter"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
  ]
}

BatchSpanProcessor

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: false
  • required: ["exporter"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
  ]
}

CardinalityLimits

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

Snippet Source File

# 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: 2000
JSON Schema

JSON Schema Source File

{
  "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
    }
  }
}

ConsoleExporter

No properties.

Constraints:

  • additionalProperties: false

Usages:

Snippets:

Logs Kitchen Sink

Snippet Source File

Traces Kitchen Sink

Snippet Source File

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

ConsoleMetricExporter

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

Snippet Source File

temporality_preference: cumulative
default_histogram_aggregation: explicit_bucket_histogram
JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "temporality_preference": {
      "$ref": "#/$defs/ExporterTemporalityPreference"
    },
    "default_histogram_aggregation": {
      "$ref": "#/$defs/ExporterDefaultHistogramAggregation"
    }
  }
}

DefaultAggregation

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

Distribution

No properties.

Constraints:

  • additionalProperties: {"type":"object"}
  • minProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": {
    "type": "object"
  },
  "minProperties": 1
}

DropAggregation

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

ExemplarFilter

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

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "always_on",
    "always_off",
    "trace_based"
  ]
}

ExplicitBucketHistogramAggregation

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

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "boundaries": {
      "type": "array",
      "minItems": 0,
      "items": {
        "type": "number"
      }
    },
    "record_min_max": {
      "type": [
        "boolean",
        "null"
      ]
    }
  }
}

ExporterDefaultHistogramAggregation

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:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "explicit_bucket_histogram",
    "base2_exponential_bucket_histogram"
  ]
}

ExporterTemporalityPreference

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:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "cumulative",
    "delta",
    "low_memory"
  ]
}

GrpcTls

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

JSON Schema Source File

{
  "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"
      ]
    }
  }
}

HttpTls

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

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "ca_file": {
      "type": [
        "string",
        "null"
      ]
    },
    "key_file": {
      "type": [
        "string",
        "null"
      ]
    },
    "cert_file": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}

IncludeExclude

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:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "included": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    },
    "excluded": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    }
  }
}

InstrumentType

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

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "counter",
    "gauge",
    "histogram",
    "observable_counter",
    "observable_gauge",
    "observable_up_down_counter",
    "up_down_counter"
  ]
}

LastValueAggregation

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

LoggerProvider

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/development
WARNING: 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: false
  • required: ["processors"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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

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/development
WARNING: 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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

LogRecordLimits

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

Snippet Source File

# .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: 4096
JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "attribute_value_length_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0
    },
    "attribute_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0
    }
  }
}

LogRecordProcessor

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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": {
    "type": [
      "object",
      "null"
    ]
  },
  "minProperties": 1,
  "maxProperties": 1,
  "properties": {
    "batch": {
      "$ref": "#/$defs/BatchLogRecordProcessor"
    },
    "simple": {
      "$ref": "#/$defs/SimpleLogRecordProcessor"
    }
  }
}

MeterProvider

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/development
WARNING: 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: false
  • required: ["readers"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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

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.
Language support status
Property cpp go java js
opencensus supported unknown ignored unknown

Constraints:

  • additionalProperties: {"type":["object","null"]}
  • minProperties: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": {
    "type": [
      "object",
      "null"
    ]
  },
  "minProperties": 1,
  "maxProperties": 1,
  "properties": {
    "opencensus": {
      "$ref": "#/$defs/OpenCensusMetricProducer"
    }
  }
}

MetricReader

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: false
  • minProperties: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "maxProperties": 1,
  "properties": {
    "periodic": {
      "$ref": "#/$defs/PeriodicMetricReader"
    },
    "pull": {
      "$ref": "#/$defs/PullMetricReader"
    }
  }
}

NameStringValuePair

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: false
  • required: ["name","value"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": "string"
    },
    "value": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "name",
    "value"
  ]
}

OpenCensusMetricProducer

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

OpenTelemetryConfiguration

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/development
WARNING: 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: true
  • required: ["file_format"]

No usages.

No snippets.

JSON Schema

JSON Schema Source File

{
  "$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"
  ]
}

OpenTracingPropagator

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

OtlpGrpcExporter

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

Snippet Source File

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: 10000
Traces Kitchen Sink

Snippet Source File

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: 10000
JSON Schema

JSON Schema Source File

{
  "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
    }
  }
}

OtlpGrpcMetricExporter

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

Snippet Source File

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: 10000
JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

OtlpHttpEncoding

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

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "protobuf",
    "json"
  ]
}

OtlpHttpExporter

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

Snippet Source File

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: protobuf
Traces Kitchen Sink

Snippet Source File

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: protobuf
JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

OtlpHttpMetricExporter

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

Snippet Source File

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_histogram
Use Base2 Exponential Histogram

Snippet Source File

endpoint: http://localhost:4317
default_histogram_aggregation: base2_exponential_bucket_histogram
JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

ParentBasedSampler

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

JSON Schema Source File

{
  "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"
    }
  }
}

PeriodicMetricReader

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: false
  • required: ["exporter"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
  ]
}

Propagator

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

Snippet Source File

# .composite and .composite_list are merged and deduplicated.
composite:
  - tracecontext:
  - baggage:
  - b3:
  - b3multi:
  - jaeger:
composite_list: "ottrace,xray"
JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "composite": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/TextMapPropagator"
      }
    },
    "composite_list": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}

PullMetricExporter

PullMetricExporter is an SDK extension plugin.

Property Type Required? Default and Null Behavior Constraints Description
prometheus/development
WARNING: 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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": {
    "type": [
      "object",
      "null"
    ]
  },
  "minProperties": 1,
  "maxProperties": 1,
  "properties": {
    "prometheus/development": {
      "$ref": "#/$defs/ExperimentalPrometheusMetricExporter"
    }
  }
}

PullMetricReader

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: false
  • required: ["exporter"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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

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/development
WARNING: 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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

Resource

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/development
WARNING: 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

Snippet Source File

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.0
JSON Schema

JSON Schema Source File

{
  "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

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/development
WARNING: This property is experimental.
ExperimentalComposableSampler false If omitted, ignore. No constraints. Configure sampler to be composite.
jaeger_remote/development
WARNING: This property is experimental.
ExperimentalJaegerRemoteSampler false If omitted, ignore. No constraints. Configure sampler to be jaeger_remote.
probability/development
WARNING: 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: 1
  • maxProperties: 1

Usages:

Snippets:

Parent Based Typical

Snippet Source File

# 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:
Probability Kitchen Sink

Snippet Source File

probability/development:
  ratio: 0.001
Rule Based Kitchen Sink

Snippet Source File

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.001
JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

SeverityNumber

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

JSON Schema Source File

{
  "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"
  ]
}

SimpleLogRecordProcessor

Property Type Required? Default and Null Behavior Constraints Description
exporter LogRecordExporter true Property is required and must be non-null. No constraints. Configure exporter.
Language support status
Property cpp go java js
exporter supported unknown supported unknown

Constraints:

  • additionalProperties: false
  • required: ["exporter"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "exporter": {
      "$ref": "#/$defs/LogRecordExporter"
    }
  },
  "required": [
    "exporter"
  ]
}

SimpleSpanProcessor

Property Type Required? Default and Null Behavior Constraints Description
exporter SpanExporter true Property is required and must be non-null. No constraints. Configure exporter.
Language support status
Property cpp go java js
exporter supported supported supported unknown

Constraints:

  • additionalProperties: false
  • required: ["exporter"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "exporter": {
      "$ref": "#/$defs/SpanExporter"
    }
  },
  "required": [
    "exporter"
  ]
}

SpanExporter

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/development
WARNING: 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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

SpanKind

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

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "internal",
    "server",
    "client",
    "producer",
    "consumer"
  ]
}

SpanLimits

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

Snippet Source File

# .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: 128
JSON Schema

JSON Schema Source File

{
  "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

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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": {
    "type": [
      "object",
      "null"
    ]
  },
  "minProperties": 1,
  "maxProperties": 1,
  "properties": {
    "batch": {
      "$ref": "#/$defs/BatchSpanProcessor"
    },
    "simple": {
      "$ref": "#/$defs/SimpleSpanProcessor"
    }
  }
}

SumAggregation

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

TextMapPropagator

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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

TraceContextPropagator

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

TraceIdRatioBasedSampler

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.
Language support status
Property cpp go java js
ratio supported supported supported unknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "ratio": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0,
      "maximum": 1
    }
  }
}

TracerProvider

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/development
WARNING: 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: false
  • required: ["processors"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
  ]
}

View

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: false
  • required: ["selector","stream"]

Usages:

Snippets:

Kitchen Sink

Snippet Source File

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.bar
Override Default Histogram Buckets

Snippet Source File

# 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.0
JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "selector": {
      "$ref": "#/$defs/ViewSelector"
    },
    "stream": {
      "$ref": "#/$defs/ViewStream"
    }
  },
  "required": [
    "selector",
    "stream"
  ]
}

ViewSelector

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

JSON Schema Source File

{
  "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"
      ]
    }
  }
}

ViewStream

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

JSON Schema Source File

{
  "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"
    }
  }
}

Experimental Types

ExperimentalComposableAlwaysOffSampler

Warning

This type is experimental.

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

ExperimentalComposableAlwaysOnSampler

Warning

This type is experimental.

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

ExperimentalComposableParentThresholdSampler

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: false
  • required: ["root"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "root": {
      "$ref": "#/$defs/ExperimentalComposableSampler"
    }
  },
  "required": [
    "root"
  ]
}

ExperimentalComposableProbabilitySampler

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

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "ratio": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0,
      "maximum": 1
    }
  }
}

ExperimentalComposableRuleBasedSampler

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

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "rules": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRule"
      }
    }
  }
}

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: false
  • required: ["sampler"]

No usages.

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
  ]
}

ExperimentalComposableRuleBasedSamplerRuleAttributePatterns

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: false
  • required: ["key"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
  ]
}

ExperimentalComposableRuleBasedSamplerRuleAttributeValues

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: false
  • required: ["key","values"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "key": {
      "type": "string"
    },
    "values": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "key",
    "values"
  ]
}

ExperimentalComposableSampler

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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

ExperimentalContainerResourceDetector

Warning

This type is experimental.

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

ExperimentalGeneralInstrumentation

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

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "peer": {
      "$ref": "#/$defs/ExperimentalPeerInstrumentation"
    },
    "http": {
      "$ref": "#/$defs/ExperimentalHttpInstrumentation"
    }
  }
}

ExperimentalHostResourceDetector

Warning

This type is experimental.

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

ExperimentalHttpClientInstrumentation

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

JSON Schema Source File

{
  "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"
      }
    }
  }
}

ExperimentalHttpInstrumentation

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

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "client": {
      "$ref": "#/$defs/ExperimentalHttpClientInstrumentation"
    },
    "server": {
      "$ref": "#/$defs/ExperimentalHttpServerInstrumentation"
    }
  }
}

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

JSON Schema Source File

{
  "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"
      }
    }
  }
}

ExperimentalInstrumentation

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

Snippet Source File

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

JSON Schema Source File

{
  "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"
    }
  }
}

ExperimentalJaegerRemoteSampler

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: false
  • required: ["endpoint","initial_sampler"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "endpoint": {
      "type": [
        "string"
      ]
    },
    "interval": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0
    },
    "initial_sampler": {
      "$ref": "#/$defs/Sampler"
    }
  },
  "required": [
    "endpoint",
    "initial_sampler"
  ]
}

ExperimentalLanguageSpecificInstrumentation

Warning

This type is experimental.

No properties.

Constraints:

  • additionalProperties: {"type":"object"}

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": {
    "type": "object"
  }
}

ExperimentalLoggerConfig

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

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "enabled": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "minimum_severity": {
      "$ref": "#/$defs/SeverityNumber"
    },
    "trace_based": {
      "type": [
        "boolean",
        "null"
      ]
    }
  }
}

ExperimentalLoggerConfigurator

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

Snippet Source File

default_config:
  enabled: false
loggers:
  - name: io.opentelemetry.contrib.*
    config:
      enabled: true
      minimum_severity: info
      trace_based: true
JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "default_config": {
      "$ref": "#/$defs/ExperimentalLoggerConfig"
    },
    "loggers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig"
      }
    }
  }
}

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: false
  • required: ["name","config"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": [
        "string"
      ]
    },
    "config": {
      "$ref": "#/$defs/ExperimentalLoggerConfig"
    }
  },
  "required": [
    "name",
    "config"
  ]
}

ExperimentalMeterConfig

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.
Language support status
Property cpp go java js
enabled not_implemented unknown supported unknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "enabled": {
      "type": [
        "boolean"
      ]
    }
  }
}

ExperimentalMeterConfigurator

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

Snippet Source File

default_config:
  enabled: false
meters:
  - name: io.opentelemetry.contrib.*
    config:
      enabled: true
JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "default_config": {
      "$ref": "#/$defs/ExperimentalMeterConfig"
    },
    "meters": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig"
      }
    }
  }
}

ExperimentalMeterMatcherAndConfig

Warning

This type is experimental.

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: false
  • required: ["name","config"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": [
        "string"
      ]
    },
    "config": {
      "$ref": "#/$defs/ExperimentalMeterConfig"
    }
  },
  "required": [
    "name",
    "config"
  ]
}

ExperimentalOtlpFileExporter

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:

Logs File

Snippet Source File

output_stream: file:///var/log/logs.jsonl
Logs Stdout

Snippet Source File

output_stream: stdout
Traces File

Snippet Source File

output_stream: file:///var/log/traces.jsonl
Traces Stdout

Snippet Source File

output_stream: stdout
JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "output_stream": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}

ExperimentalOtlpFileMetricExporter

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

Snippet Source File

output_stream: file:///var/log/metrics.jsonl
temporality_preference: cumulative
default_histogram_aggregation: explicit_bucket_histogram
Metrics Stdout

Snippet Source File

output_stream: stdout
temporality_preference: cumulative
default_histogram_aggregation: explicit_bucket_histogram
JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "output_stream": {
      "type": [
        "string",
        "null"
      ]
    },
    "temporality_preference": {
      "$ref": "#/$defs/ExporterTemporalityPreference"
    },
    "default_histogram_aggregation": {
      "$ref": "#/$defs/ExporterDefaultHistogramAggregation"
    }
  }
}

ExperimentalPeerInstrumentation

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

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "service_mapping": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalPeerServiceMapping"
      }
    }
  }
}

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: false
  • required: ["peer","service"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "peer": {
      "type": "string"
    },
    "service": {
      "type": "string"
    }
  },
  "required": [
    "peer",
    "service"
  ]
}

ExperimentalProbabilitySampler

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

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "ratio": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0,
      "maximum": 1
    }
  }
}

ExperimentalProcessResourceDetector

Warning

This type is experimental.

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

ExperimentalPrometheusMetricExporter

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

Snippet Source File

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_suffixes
JSON Schema

JSON Schema Source File

{
  "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"
    }
  }
}

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

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "underscore_escaping_with_suffixes",
    "underscore_escaping_without_suffixes",
    "no_utf8_escaping_with_suffixes",
    "no_translation"
  ]
}

ExperimentalResourceDetection

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

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "attributes": {
      "$ref": "#/$defs/IncludeExclude"
    },
    "detectors": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalResourceDetector"
      }
    }
  }
}

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: 1
  • maxProperties: 1

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": {
    "type": [
      "object",
      "null"
    ]
  },
  "minProperties": 1,
  "maxProperties": 1,
  "properties": {
    "container": {
      "$ref": "#/$defs/ExperimentalContainerResourceDetector"
    },
    "host": {
      "$ref": "#/$defs/ExperimentalHostResourceDetector"
    },
    "process": {
      "$ref": "#/$defs/ExperimentalProcessResourceDetector"
    },
    "service": {
      "$ref": "#/$defs/ExperimentalServiceResourceDetector"
    }
  }
}

ExperimentalServiceResourceDetector

Warning

This type is experimental.

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false
}

ExperimentalSpanParent

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

JSON Schema Source File

{
  "type": [
    "string",
    "null"
  ],
  "enum": [
    "none",
    "remote",
    "local"
  ]
}

ExperimentalTracerConfig

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.
Language support status
Property cpp go java js
enabled not_implemented unknown supported unknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "enabled": {
      "type": [
        "boolean"
      ]
    }
  }
}

ExperimentalTracerConfigurator

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

Snippet Source File

default_config:
  enabled: false
tracers:
  - name: io.opentelemetry.contrib.*
    config:
      enabled: true
JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "default_config": {
      "$ref": "#/$defs/ExperimentalTracerConfig"
    },
    "tracers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig"
      }
    }
  }
}

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: false
  • required: ["name","config"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": [
        "string"
      ]
    },
    "config": {
      "$ref": "#/$defs/ExperimentalTracerConfig"
    }
  },
  "required": [
    "name",
    "config"
  ]
}

SDK Extension Plugins

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.