Overview

June 2, 2026 ยท View on GitHub

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

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
base2_exponential_bucket_histogramBase2ExponentialBucketHistogramAggregationfalseIf 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.
defaultDefaultAggregationfalseIf 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.
dropDropAggregationfalseIf 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_histogramExplicitBucketHistogramAggregationfalseIf 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_valueLastValueAggregationfalseIf 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.
sumSumAggregationfalseIf 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
Propertycppgojavajsphp
base2_exponential_bucket_histogramsupportedunknownsupportedunknownignored
defaultsupportedunknownsupportedunknownignored
dropsupportedunknownsupportedunknownignored
explicit_bucket_histogramsupportedunknownsupportedunknownignored
last_valuesupportedunknownsupportedunknownignored
sumsupportedunknownsupportedunknownignored

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",
      "description": "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.\nIf omitted, ignore.\n"
    },
    "drop": {
      "$ref": "#/$defs/DropAggregation",
      "description": "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.\nIf omitted, ignore.\n"
    },
    "explicit_bucket_histogram": {
      "$ref": "#/$defs/ExplicitBucketHistogramAggregation",
      "description": "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\nIf omitted, ignore.\n"
    },
    "base2_exponential_bucket_histogram": {
      "$ref": "#/$defs/Base2ExponentialBucketHistogramAggregation",
      "description": "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.\nIf omitted, ignore.\n"
    },
    "last_value": {
      "$ref": "#/$defs/LastValueAggregation",
      "description": "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.\nIf omitted, ignore.\n"
    },
    "sum": {
      "$ref": "#/$defs/SumAggregation",
      "description": "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.\nIf omitted, ignore.\n"
    }
  }
}

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

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
attribute_count_limitone of:
* integer
* null
falseIf omitted or null, 128 is used.* minimum: 0
Configure max attribute count.
Value must be non-negative.
attribute_value_length_limitone of:
* integer
* null
falseIf omitted or null, there is no limit.* minimum: 0
Configure max attribute value size.
Value must be non-negative.
Language support status
Propertycppgojavajsphp
attribute_count_limitsupportedsupportedsupportedunknownsupported
attribute_value_length_limitsupportedsupportedsupportedunknownsupported

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,
      "description": "Configure max attribute value size. \nValue must be non-negative.\nIf omitted or null, there is no limit.\n"
    },
    "attribute_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max attribute count. \nValue must be non-negative.\nIf omitted or null, 128 is used.\n"
    }
  }
}

AttributeNameValue

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
namestringtrueProperty is required and must be non-null.No constraints.The attribute name.
typeAttributeTypefalseIf omitted, string is used.No constraints.The attribute type.
valueone of:
* string
* number
* boolean
* null
* array of string
* array of boolean
* array of number
trueProperty must be present, but if null the entry is ignored.No constraints.The attribute value.
The type of value must match .type.
Language support status
Propertycppgojavajsphp
namesupportedsupportedsupportedunknownsupported
typesupportedsupportedsupportedunknownnot_implemented
valuesupportedsupportedsupportedunknownsupported

Constraints:

  • additionalProperties: false
  • required: ["name","value"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": "string",
      "description": "The attribute name.\nProperty is required and must be non-null.\n"
    },
    "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
        }
      ],
      "description": "The attribute value.\nThe type of value must match .type.\nProperty must be present, but if null the entry is ignored.\n"
    },
    "type": {
      "$ref": "#/$defs/AttributeType",
      "description": "The attribute type.\nValues include:\n* bool: Boolean attribute value.\n* bool_array: Boolean array attribute value.\n* double: Double attribute value.\n* double_array: Double array attribute value.\n* int: Integer attribute value.\n* int_array: Integer array attribute value.\n* string: String attribute value.\n* string_array: String array attribute value.\nIf omitted, string is used.\n"
    }
  },
  "required": [
    "name",
    "value"
  ]
}

AttributeType

This is a enum type.

ValueDescription
boolBoolean attribute value.
bool_arrayBoolean array attribute value.
doubleDouble attribute value.
double_arrayDouble array attribute value.
intInteger attribute value.
int_arrayInteger array attribute value.
stringString attribute value.
string_arrayString array attribute value.
Language support status
Valuecppgojavajsphp
boolsupportedsupportedsupportedunknownnot_implemented
bool_arraysupportedsupportedsupportedunknownnot_implemented
doublesupportedsupportedsupportedunknownnot_implemented
double_arraysupportedsupportedsupportedunknownnot_implemented
intsupportedsupportedsupportedunknownnot_implemented
int_arraysupportedsupportedsupportedunknownnot_implemented
stringsupportedsupportedsupportedunknownnot_implemented
string_arraysupportedsupportedsupportedunknownnot_implemented

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

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
max_scaleone of:
* integer
* null
falseIf omitted or null, 20 is used.* minimum: -10
* maximum: 20
Configure the max scale factor.
max_sizeone of:
* integer
* null
falseIf 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_maxone of:
* boolean
* null
falseIf omitted or null, true is used.No constraints.Configure whether or not to record min and max.
Language support status
Propertycppgojavajsphp
max_scalesupportedunknownsupportedunknownnot_implemented
max_sizesupportedunknownsupportedunknownnot_implemented
record_min_maxsupportedunknownsupportedunknownnot_implemented

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,
      "description": "Configure the max scale factor.\nIf omitted or null, 20 is used.\n"
    },
    "max_size": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 2,
      "description": "Configure the maximum number of buckets in each of the positive and negative ranges, not counting the special zero bucket.\nIf omitted or null, 160 is used.\n"
    },
    "record_min_max": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Configure whether or not to record min and max.\nIf omitted or null, true is used.\n"
    }
  }
}

BatchLogRecordProcessor

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
export_timeoutone of:
* integer
* null
falseIf 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).
exporterLogRecordExportertrueProperty is required and must be non-null.No constraints.Configure exporter.
max_export_batch_sizeone of:
* integer
* null
falseIf omitted or null, 512 is used.* exclusiveMinimum: 0
Configure maximum batch size. Value must be positive.
max_queue_sizeone of:
* integer
* null
falseIf omitted or null, 2048 is used.* exclusiveMinimum: 0
Configure maximum queue size. Value must be positive.
schedule_delayone of:
* integer
* null
falseIf 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
Propertycppgojavajsphp
export_timeoutsupportedsupportedsupportedunknownsupported
exportersupportedsupportedsupportedunknownsupported
max_export_batch_sizesupportedsupportedsupportedunknownsupported
max_queue_sizesupportedsupportedsupportedunknownsupported
schedule_delaysupportedsupportedsupportedunknownsupported

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,
      "description": "Configure delay interval (in milliseconds) between two consecutive exports. \nValue must be non-negative.\nIf omitted or null, 1000 is used.\n"
    },
    "export_timeout": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure maximum allowed time (in milliseconds) to export data. \nValue must be non-negative. A value of 0 indicates no limit (infinity).\nIf omitted or null, 30000 is used.\n"
    },
    "max_queue_size": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure maximum queue size. Value must be positive.\nIf omitted or null, 2048 is used.\n"
    },
    "max_export_batch_size": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure maximum batch size. Value must be positive.\nIf omitted or null, 512 is used.\n"
    },
    "exporter": {
      "$ref": "#/$defs/LogRecordExporter",
      "description": "Configure exporter.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "exporter"
  ]
}

BatchSpanProcessor

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
export_timeoutone of:
* integer
* null
falseIf 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).
exporterSpanExportertrueProperty is required and must be non-null.No constraints.Configure exporter.
max_export_batch_sizeone of:
* integer
* null
falseIf omitted or null, 512 is used.* exclusiveMinimum: 0
Configure maximum batch size. Value must be positive.
max_queue_sizeone of:
* integer
* null
falseIf omitted or null, 2048 is used.* exclusiveMinimum: 0
Configure maximum queue size. Value must be positive.
schedule_delayone of:
* integer
* null
falseIf 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
Propertycppgojavajsphp
export_timeoutsupportedsupportedsupportedunknownsupported
exportersupportedsupportedsupportedunknownsupported
max_export_batch_sizesupportedsupportedsupportedunknownsupported
max_queue_sizesupportedsupportedsupportedunknownsupported
schedule_delaysupportedsupportedsupportedunknownsupported

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,
      "description": "Configure delay interval (in milliseconds) between two consecutive exports. \nValue must be non-negative.\nIf omitted or null, 5000 is used.\n"
    },
    "export_timeout": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure maximum allowed time (in milliseconds) to export data. \nValue must be non-negative. A value of 0 indicates no limit (infinity).\nIf omitted or null, 30000 is used.\n"
    },
    "max_queue_size": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure maximum queue size. Value must be positive.\nIf omitted or null, 2048 is used.\n"
    },
    "max_export_batch_size": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure maximum batch size. Value must be positive.\nIf omitted or null, 512 is used.\n"
    },
    "exporter": {
      "$ref": "#/$defs/SpanExporter",
      "description": "Configure exporter.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "exporter"
  ]
}

CardinalityLimits

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
counterone of:
* integer
* null
falseIf omitted or null, the value from .default is used.* exclusiveMinimum: 0
Configure default cardinality limit for counter instruments.
defaultone of:
* integer
* null
falseIf omitted or null, 2000 is used.* exclusiveMinimum: 0
Configure default cardinality limit for all instrument types.
Instrument-specific cardinality limits take priority.
gaugeone of:
* integer
* null
falseIf omitted or null, the value from .default is used.* exclusiveMinimum: 0
Configure default cardinality limit for gauge instruments.
histogramone of:
* integer
* null
falseIf omitted or null, the value from .default is used.* exclusiveMinimum: 0
Configure default cardinality limit for histogram instruments.
observable_counterone of:
* integer
* null
falseIf omitted or null, the value from .default is used.* exclusiveMinimum: 0
Configure default cardinality limit for observable_counter instruments.
observable_gaugeone of:
* integer
* null
falseIf omitted or null, the value from .default is used.* exclusiveMinimum: 0
Configure default cardinality limit for observable_gauge instruments.
observable_up_down_counterone of:
* integer
* null
falseIf omitted or null, the value from .default is used.* exclusiveMinimum: 0
Configure default cardinality limit for observable_up_down_counter instruments.
up_down_counterone of:
* integer
* null
falseIf omitted or null, the value from .default is used.* exclusiveMinimum: 0
Configure default cardinality limit for up_down_counter instruments.
Language support status
Propertycppgojavajsphp
counterignoredunknownsupportedunknownnot_implemented
defaultignoredunknownsupportedunknownnot_implemented
gaugeignoredunknownsupportedunknownnot_implemented
histogramignoredunknownsupportedunknownnot_implemented
observable_counterignoredunknownsupportedunknownnot_implemented
observable_gaugeignoredunknownsupportedunknownnot_implemented
observable_up_down_counterignoredunknownsupportedunknownnot_implemented
up_down_counterignoredunknownsupportedunknownnot_implemented

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,
      "description": "Configure default cardinality limit for all instrument types.\nInstrument-specific cardinality limits take priority.\nIf omitted or null, 2000 is used.\n"
    },
    "counter": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure default cardinality limit for counter instruments.\nIf omitted or null, the value from .default is used.\n"
    },
    "gauge": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure default cardinality limit for gauge instruments.\nIf omitted or null, the value from .default is used.\n"
    },
    "histogram": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure default cardinality limit for histogram instruments.\nIf omitted or null, the value from .default is used.\n"
    },
    "observable_counter": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure default cardinality limit for observable_counter instruments.\nIf omitted or null, the value from .default is used.\n"
    },
    "observable_gauge": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure default cardinality limit for observable_gauge instruments.\nIf omitted or null, the value from .default is used.\n"
    },
    "observable_up_down_counter": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure default cardinality limit for observable_up_down_counter instruments.\nIf omitted or null, the value from .default is used.\n"
    },
    "up_down_counter": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure default cardinality limit for up_down_counter instruments.\nIf omitted or null, the value from .default is used.\n"
    }
  }
}

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

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
default_histogram_aggregationExporterDefaultHistogramAggregationfalseIf omitted, explicit_bucket_histogram is used.No constraints.Configure default histogram aggregation.
temporality_preferenceExporterTemporalityPreferencefalseIf omitted, cumulative is used.No constraints.Configure temporality preference.
Language support status
Propertycppgojavajsphp
default_histogram_aggregationsupportednot_implementednot_implementedunknownnot_implemented
temporality_preferencesupportednot_implementedignoredunknownignored

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",
      "description": "Configure temporality preference.\nValues include:\n* cumulative: Use cumulative aggregation temporality for all instrument types.\n* delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n* low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\nIf omitted, cumulative is used.\n"
    },
    "default_histogram_aggregation": {
      "$ref": "#/$defs/ExporterDefaultHistogramAggregation",
      "description": "Configure default histogram aggregation.\nValues include:\n* base2_exponential_bucket_histogram: Use base2 exponential histogram as the default aggregation for histogram instruments.\n* explicit_bucket_histogram: Use explicit bucket histogram as the default aggregation for histogram instruments.\nIf omitted, explicit_bucket_histogram is used.\n"
    }
  }
}

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.

ValueDescription
always_offExemplarFilter which makes no measurements eligible for being an Exemplar.
always_onExemplarFilter which makes all measurements eligible for being an Exemplar.
trace_basedExemplarFilter which makes measurements recorded in the context of a sampled parent span eligible for being an Exemplar.
Language support status
Valuecppgojavajsphp
always_offsupportedunknownsupportedunknownsupported
always_onsupportedunknownsupportedunknownsupported
trace_basedsupportedunknownsupportedunknownsupported

No constraints.

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

ExplicitBucketHistogramAggregation

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
boundariesarray of numberfalseIf 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_maxone of:
* boolean
* null
falseIf omitted or null, true is used.No constraints.Configure record min and max.
Language support status
Propertycppgojavajsphp
boundariessupportedunknownsupportedunknownignored
record_min_maxsupportedunknownsupportedunknownignored

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"
      },
      "description": "Configure bucket boundaries.\nIf omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.\n"
    },
    "record_min_max": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Configure record min and max.\nIf omitted or null, true is used.\n"
    }
  }
}

ExporterDefaultHistogramAggregation

This is a enum type.

ValueDescription
base2_exponential_bucket_histogramUse base2 exponential histogram as the default aggregation for histogram instruments.
explicit_bucket_histogramUse explicit bucket histogram as the default aggregation for histogram instruments.
Language support status
Valuecppgojavajsphp
base2_exponential_bucket_histogramsupportedunknownsupportedunknownignored
explicit_bucket_histogramsupportedunknownsupportedunknownignored

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.

ValueDescription
cumulativeUse cumulative aggregation temporality for all instrument types.
deltaUse delta aggregation for all instrument types except up down counter and asynchronous up down counter.
low_memoryUse delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.
Language support status
Valuecppgojavajsphp
cumulativesupportedsupportedsupportedunknownsupported
deltasupportedsupportedsupportedunknownsupported
low_memorysupportedsupportedsupportedunknownsupported

No constraints.

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

GrpcTls

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
ca_fileone of:
* string
* null
falseIf 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_fileone of:
* string
* null
falseIf 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.
insecureone of:
* boolean
* null
falseIf 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_fileone of:
* string
* null
falseIf 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
Propertycppgojavajsphp
ca_filesupportedsupportedsupportedunknownignored
cert_filesupportedsupportedsupportedunknownignored
insecuresupportedsupportednot_implementedunknownignored
key_filesupportedsupportedsupportedunknownignored

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "ca_file": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure certificate used to verify a server's TLS credentials. \nAbsolute path to certificate file in PEM format.\nIf omitted or null, system default certificate verification is used for secure connections.\n"
    },
    "key_file": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure mTLS private client key. \nAbsolute path to client key file in PEM format. If set, .client_certificate must also be set.\nIf omitted or null, mTLS is not used.\n"
    },
    "cert_file": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure mTLS client certificate. \nAbsolute path to client certificate file in PEM format. If set, .client_key must also be set.\nIf omitted or null, mTLS is not used.\n"
    },
    "insecure": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Configure client transport security for the exporter's connection. \nOnly applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.\nIf omitted or null, false is used.\n"
    }
  }
}

HttpTls

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
ca_fileone of:
* string
* null
falseIf 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_fileone of:
* string
* null
falseIf 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_fileone of:
* string
* null
falseIf 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
Propertycppgojavajsphp
ca_filesupportedsupportedsupportedunknownignored
cert_filesupportedsupportedsupportedunknownignored
key_filesupportedsupportedsupportedunknownignored

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "ca_file": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure certificate used to verify a server's TLS credentials. \nAbsolute path to certificate file in PEM format.\nIf omitted or null, system default certificate verification is used for secure connections.\n"
    },
    "key_file": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure mTLS private client key. \nAbsolute path to client key file in PEM format. If set, .client_certificate must also be set.\nIf omitted or null, mTLS is not used.\n"
    },
    "cert_file": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure mTLS client certificate. \nAbsolute path to client certificate file in PEM format. If set, .client_key must also be set.\nIf omitted or null, mTLS is not used.\n"
    }
  }
}

IdGenerator

IdGenerator is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
randomRandomIdGeneratorfalseIf omitted, ignore.No constraints.Configure the ID generator to randomly generate TraceIds and SpanIds (spec default).
Language support status
Propertycppgojavajsphp
randomunknownunknownunknownunknownunknown

Constraints:

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

Usages:

Snippets:

Custom

Snippet Source File

# configure a custom ID generator registered via PluginComponentProvider
my_custom_id_generator:
  property: value
JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": {
    "type": [
      "object",
      "null"
    ]
  },
  "minProperties": 1,
  "maxProperties": 1,
  "properties": {
    "random": {
      "$ref": "#/$defs/RandomIdGenerator",
      "description": "Configure the ID generator to randomly generate TraceIds and SpanIds (spec default).\nIf omitted, ignore.\n"
    }
  }
}

IncludeExclude

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
excludedarray of stringfalseIf 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).
Matching is case-sensitive. Values are evaluated to match as follows:
* If the value exactly matches.
* If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
includedarray of stringfalseIf omitted, all values are included.* minItems: 1
Configure list of value patterns to include.
Matching is case-sensitive. Values are evaluated to match as follows:
* If the value exactly matches.
* If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
Language support status
Propertycppgojavajsphp
excludedsupportedsupportedsupportedunknownsupported
includedsupportedsupportedsupportedunknownsupported

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"
      },
      "description": "Configure list of value patterns to include.\nMatching is case-sensitive. Values are evaluated to match as follows:\n * If the value exactly matches.\n * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\nIf omitted, all values are included.\n"
    },
    "excluded": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      },
      "description": "Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).\nMatching is case-sensitive. Values are evaluated to match as follows:\n * If the value exactly matches.\n * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\nIf omitted, .included attributes are included.\n"
    }
  }
}

InstrumentType

This is a enum type.

ValueDescription
counterSynchronous counter instruments.
gaugeSynchronous gauge instruments.
histogramSynchronous histogram instruments.
observable_counterAsynchronous counter instruments.
observable_gaugeAsynchronous gauge instruments.
observable_up_down_counterAsynchronous up down counter instruments.
up_down_counterSynchronous up down counter instruments.
Language support status
Valuecppgojavajsphp
countersupportedsupportedsupportedunknownsupported
gaugesupportedsupportedsupportedunknownsupported
histogramsupportedsupportedsupportedunknownsupported
observable_countersupportedsupportedsupportedunknownsupported
observable_gaugesupportedsupportedsupportedunknownsupported
observable_up_down_countersupportedsupportedsupportedunknownsupported
up_down_countersupportedsupportedsupportedunknownsupported

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

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
limitsLogRecordLimitsfalseIf omitted, default values as described in LogRecordLimits are used.No constraints.Configure log record limits. See also attribute_limits.
processorsarray of LogRecordProcessortrueProperty is required and must be non-null.* minItems: 1
Configure log record processors.
logger_configurator/development
WARNING: This property is experimental.
ExperimentalLoggerConfiguratorfalseIf omitted, all loggers use default values as described in ExperimentalLoggerConfig.No constraints.Configure loggers.
Language support status
Propertycppgojavajsphp
limitssupportedsupportedsupportedunknownsupported
processorssupportedsupportedsupportedunknownsupported
logger_configurator/developmentsupportednot_implementedsupportedunknownsupported

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"
      },
      "description": "Configure log record processors.\nProperty is required and must be non-null.\n"
    },
    "limits": {
      "$ref": "#/$defs/LogRecordLimits",
      "description": "Configure log record limits. See also attribute_limits.\nIf omitted, default values as described in LogRecordLimits are used.\n"
    },
    "logger_configurator/development": {
      "$ref": "#/$defs/ExperimentalLoggerConfigurator",
      "description": "Configure loggers.\nIf omitted, all loggers use default values as described in ExperimentalLoggerConfig.\n"
    }
  },
  "required": [
    "processors"
  ]
}

LogRecordExporter

LogRecordExporter is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
consoleConsoleExporterfalseIf omitted, ignore.No constraints.Configure exporter to be console.
otlp_grpcOtlpGrpcExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with gRPC transport.
otlp_httpOtlpHttpExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with HTTP transport.
otlp_file/development
WARNING: This property is experimental.
ExperimentalOtlpFileExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with file transport.
Language support status
Propertycppgojavajsphp
consolesupportedsupportedsupportedunknownsupported
otlp_grpcsupportedsupportedsupportedunknownsupported
otlp_httpsupportedsupportedsupportedunknownsupported
otlp_file/developmentsupportednot_implementedsupportedunknownsupported

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",
      "description": "Configure exporter to be OTLP with HTTP transport.\nIf omitted, ignore.\n"
    },
    "otlp_grpc": {
      "$ref": "#/$defs/OtlpGrpcExporter",
      "description": "Configure exporter to be OTLP with gRPC transport.\nIf omitted, ignore.\n"
    },
    "otlp_file/development": {
      "$ref": "#/$defs/ExperimentalOtlpFileExporter",
      "description": "Configure exporter to be OTLP with file transport.\nIf omitted, ignore.\n"
    },
    "console": {
      "$ref": "#/$defs/ConsoleExporter",
      "description": "Configure exporter to be console.\nIf omitted, ignore.\n"
    }
  }
}

LogRecordLimits

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
attribute_count_limitone of:
* integer
* null
falseIf 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_limitone of:
* integer
* null
falseIf 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
Propertycppgojavajsphp
attribute_count_limitsupportedsupportedsupportedunknownsupported
attribute_value_length_limitsupportedsupportedsupportedunknownsupported

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,
      "description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \nValue must be non-negative.\nIf omitted or null, there is no limit.\n"
    },
    "attribute_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. \nValue must be non-negative.\nIf omitted or null, 128 is used.\n"
    }
  }
}

LogRecordProcessor

LogRecordProcessor is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
batchBatchLogRecordProcessorfalseIf omitted, ignore.No constraints.Configure a batch log record processor.
simpleSimpleLogRecordProcessorfalseIf omitted, ignore.No constraints.Configure a simple log record processor.
event_to_span_event_bridge/development
WARNING: This property is experimental.
ExperimentalEventToSpanEventBridgeLogRecordProcessorfalseIf omitted, ignore.No constraints.Configure an event to span event bridge log record processor.
Language support status
Propertycppgojavajsphp
batchsupportedsupportedsupportedunknownsupported
simplesupportedsupportedsupportedunknownsupported
event_to_span_event_bridge/developmentunknownunknownunknownunknownunknown

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",
      "description": "Configure a batch log record processor.\nIf omitted, ignore.\n"
    },
    "simple": {
      "$ref": "#/$defs/SimpleLogRecordProcessor",
      "description": "Configure a simple log record processor.\nIf omitted, ignore.\n"
    },
    "event_to_span_event_bridge/development": {
      "$ref": "#/$defs/ExperimentalEventToSpanEventBridgeLogRecordProcessor",
      "description": "Configure an event to span event bridge log record processor.\nIf omitted, ignore.\n"
    }
  }
}

MeterProvider

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
exemplar_filterExemplarFilterfalseIf omitted, trace_based is used.No constraints.Configure the exemplar filter.
readersarray of MetricReadertrueProperty is required and must be non-null.* minItems: 1
Configure metric readers.
viewsarray of ViewfalseIf 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.
ExperimentalMeterConfiguratorfalseIf omitted, all meters use default values as described in ExperimentalMeterConfig.No constraints.Configure meters.
Language support status
Propertycppgojavajsphp
exemplar_filtersupportedsupportedsupportedunknownsupported
readerssupportedsupportedsupportedunknownsupported
viewssupportedsupportedsupportedunknownsupported
meter_configurator/developmentsupportedsupportedsupportedunknownsupported

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"
      },
      "description": "Configure metric readers.\nProperty is required and must be non-null.\n"
    },
    "views": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/View"
      },
      "description": "Configure views. \nEach view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).\nIf omitted, no views are registered.\n"
    },
    "exemplar_filter": {
      "$ref": "#/$defs/ExemplarFilter",
      "description": "Configure the exemplar filter.\nValues include:\n* always_off: ExemplarFilter which makes no measurements eligible for being an Exemplar.\n* always_on: ExemplarFilter which makes all measurements eligible for being an Exemplar.\n* trace_based: ExemplarFilter which makes measurements recorded in the context of a sampled parent span eligible for being an Exemplar.\nIf omitted, trace_based is used.\n"
    },
    "meter_configurator/development": {
      "$ref": "#/$defs/ExperimentalMeterConfigurator",
      "description": "Configure meters.\nIf omitted, all meters use default values as described in ExperimentalMeterConfig.\n"
    }
  },
  "required": [
    "readers"
  ]
}

MetricProducer

MetricProducer is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
opencensusOpenCensusMetricProducerfalseIf omitted, ignore.No constraints.Configure metric producer to be opencensus.
Language support status
Propertycppgojavajsphp
opencensussupportedunknownignoredunknownnot_implemented

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",
      "description": "Configure metric producer to be opencensus.\nIf omitted, ignore.\n"
    }
  }
}

MetricReader

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
periodicPeriodicMetricReaderfalseIf omitted, ignore.No constraints.Configure a periodic metric reader.
pullPullMetricReaderfalseIf omitted, ignore.No constraints.Configure a pull based metric reader.
Language support status
Propertycppgojavajsphp
periodicsupportedunknownsupportedunknownsupported
pullsupportedunknownsupportedunknownnot_implemented

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",
      "description": "Configure a periodic metric reader.\nIf omitted, ignore.\n"
    },
    "pull": {
      "$ref": "#/$defs/PullMetricReader",
      "description": "Configure a pull based metric reader.\nIf omitted, ignore.\n"
    }
  }
}

NameStringValuePair

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
namestringtrueProperty is required and must be non-null.No constraints.The name of the pair.
valueone of:
* string
* null
trueProperty must be present, but if null the behavior is dependent on usage context.No constraints.The value of the pair.
Language support status
Propertycppgojavajsphp
namesupportedsupportedsupportedunknownsupported
valuesupportedsupportedsupportedunknownsupported

Constraints:

  • additionalProperties: false
  • required: ["name","value"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the pair.\nProperty is required and must be non-null.\n"
    },
    "value": {
      "type": [
        "string",
        "null"
      ],
      "description": "The value of the pair.\nProperty must be present, but if null the behavior is dependent on usage context.\n"
    }
  },
  "required": [
    "name",
    "value"
  ]
}

OpenCensusMetricProducer

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

OpenTelemetryConfiguration

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
attribute_limitsAttributeLimitsfalseIf omitted, default values as described in AttributeLimits are used.No constraints.Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
disabledone of:
* boolean
* null
falseIf omitted or null, false is used.No constraints.Configure if the SDK is disabled or not.
distributionDistributionfalseIf 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_formatstringtrueProperty 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_levelSeverityNumberfalseIf omitted, INFO is used.No constraints.Configure the log level of the internal logger used by the SDK.
logger_providerLoggerProviderfalseIf omitted, a noop logger provider is used.No constraints.Configure logger provider.
meter_providerMeterProviderfalseIf omitted, a noop meter provider is used.No constraints.Configure meter provider.
propagatorPropagatorfalseIf omitted, a noop propagator is used.No constraints.Configure text map context propagators.
resourceResourcefalseIf omitted, the default resource is used.No constraints.Configure resource for all signals.
tracer_providerTracerProviderfalseIf omitted, a noop tracer provider is used.No constraints.Configure tracer provider.
instrumentation/development
WARNING: This property is experimental.
ExperimentalInstrumentationfalseIf omitted, instrumentation defaults are used.No constraints.Configure instrumentation.
Language support status
Propertycppgojavajsphp
attribute_limitssupportedunknownsupportedunknownsupported
disabledsupportedunknownsupportedunknownsupported
distributionsupportedunknownsupportedunknownnot_implemented
file_formatsupportedunknownsupportedunknownsupported
log_levelsupportedunknownnot_implementedunknownnot_implemented
logger_providersupportedunknownsupportedunknownsupported
meter_providersupportedunknownsupportedunknownsupported
propagatorsupportedunknownsupportedunknownsupported
resourcesupportedunknownsupportedunknownsupported
tracer_providersupportedunknownsupportedunknownsupported
instrumentation/developmentsupportedunknownsupportedunknownsupported

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",
      "description": "The file format version.\nRepresented 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).\nSee https://github.com/open-telemetry/opentelemetry-configuration/blob/main/VERSIONING.md for more details.\nThe yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema\nProperty is required and must be non-null.\n"
    },
    "disabled": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Configure if the SDK is disabled or not.\nIf omitted or null, false is used.\n"
    },
    "log_level": {
      "$ref": "#/$defs/SeverityNumber",
      "description": "Configure the log level of the internal logger used by the SDK.\nValues include:\n* debug: debug, severity number 5.\n* debug2: debug2, severity number 6.\n* debug3: debug3, severity number 7.\n* debug4: debug4, severity number 8.\n* error: error, severity number 17.\n* error2: error2, severity number 18.\n* error3: error3, severity number 19.\n* error4: error4, severity number 20.\n* fatal: fatal, severity number 21.\n* fatal2: fatal2, severity number 22.\n* fatal3: fatal3, severity number 23.\n* fatal4: fatal4, severity number 24.\n* info: info, severity number 9.\n* info2: info2, severity number 10.\n* info3: info3, severity number 11.\n* info4: info4, severity number 12.\n* trace: trace, severity number 1.\n* trace2: trace2, severity number 2.\n* trace3: trace3, severity number 3.\n* trace4: trace4, severity number 4.\n* warn: warn, severity number 13.\n* warn2: warn2, severity number 14.\n* warn3: warn3, severity number 15.\n* warn4: warn4, severity number 16.\nIf omitted, INFO is used.\n"
    },
    "attribute_limits": {
      "$ref": "#/$defs/AttributeLimits",
      "description": "Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.\nIf omitted, default values as described in AttributeLimits are used.\n"
    },
    "logger_provider": {
      "$ref": "#/$defs/LoggerProvider",
      "description": "Configure logger provider.\nIf omitted, a noop logger provider is used.\n"
    },
    "meter_provider": {
      "$ref": "#/$defs/MeterProvider",
      "description": "Configure meter provider.\nIf omitted, a noop meter provider is used.\n"
    },
    "propagator": {
      "$ref": "#/$defs/Propagator",
      "description": "Configure text map context propagators.\nIf omitted, a noop propagator is used.\n"
    },
    "tracer_provider": {
      "$ref": "#/$defs/TracerProvider",
      "description": "Configure tracer provider.\nIf omitted, a noop tracer provider is used.\n"
    },
    "resource": {
      "$ref": "#/$defs/Resource",
      "description": "Configure resource for all signals.\nIf omitted, the default resource is used.\n"
    },
    "instrumentation/development": {
      "$ref": "#/$defs/ExperimentalInstrumentation",
      "description": "Configure instrumentation.\nIf omitted, instrumentation defaults are used.\n"
    },
    "distribution": {
      "$ref": "#/$defs/Distribution",
      "description": "Defines configuration parameters specific to a particular OpenTelemetry distribution or vendor.\nThis section provides a standardized location for distribution-specific settings\nthat are not part of the OpenTelemetry configuration model.\nIt allows vendors to expose their own extensions and general configuration options.\nIf omitted, distribution defaults are used.\n"
    }
  },
  "required": [
    "file_format"
  ]
}

OtlpGrpcExporter

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
compressionone of:
* string
* null
falseIf omitted or null, none is used.No constraints.Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
endpointone of:
* string
* null
falseIf omitted or null, http://localhost:4317 is used.No constraints.Configure endpoint.
headersarray of NameStringValuePairfalseIf 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_listone of:
* string
* null
falseIf 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.
timeoutone of:
* integer
* null
falseIf 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).
tlsGrpcTlsfalseIf omitted, system default TLS settings are used.No constraints.Configure TLS settings for the exporter.
Language support status
Propertycppgojavajsphp
compressionsupportedsupportedsupportedunknownsupported
endpointsupportedsupportedsupportedunknownsupported
headerssupportedsupportedsupportedunknownsupported
headers_listsupportedsupportedsupportedunknownsupported
timeoutsupportedsupportedsupportedunknownsupported
tlssupportedsupportedsupportedunknownignored

Constraints:

  • additionalProperties: false

Usages:

Snippets:

Logs Kitchen Sink

Snippet Source File

endpoint: http://localhost:4317
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:4317
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"
      ],
      "description": "Configure endpoint.\nIf omitted or null, http://localhost:4317 is used.\n"
    },
    "tls": {
      "$ref": "#/$defs/GrpcTls",
      "description": "Configure TLS settings for the exporter.\nIf omitted, system default TLS settings are used.\n"
    },
    "headers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/NameStringValuePair"
      },
      "description": "Configure headers. Entries have higher priority than entries from .headers_list.\nIf an entry's .value is null, the entry is ignored.\nIf omitted, no headers are added.\n"
    },
    "headers_list": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure headers. Entries have lower priority than entries from .headers.\nThe 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.\nIf omitted or null, no headers are added.\n"
    },
    "compression": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure compression.\nKnown values include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n"
    },
    "timeout": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max time (in milliseconds) to wait for each export.\nValue must be non-negative. A value of 0 indicates no limit (infinity).\nIf omitted or null, 10000 is used.\n"
    }
  }
}

OtlpGrpcMetricExporter

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
compressionone of:
* string
* null
falseIf omitted or null, none is used.No constraints.Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
default_histogram_aggregationExporterDefaultHistogramAggregationfalseIf omitted, explicit_bucket_histogram is used.No constraints.Configure default histogram aggregation.
endpointone of:
* string
* null
falseIf omitted or null, http://localhost:4317 is used.No constraints.Configure endpoint.
headersarray of NameStringValuePairfalseIf 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_listone of:
* string
* null
falseIf 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_preferenceExporterTemporalityPreferencefalseIf omitted, cumulative is used.No constraints.Configure temporality preference.
timeoutone of:
* integer
* null
falseIf 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).
tlsGrpcTlsfalseIf omitted, system default TLS settings are used.No constraints.Configure TLS settings for the exporter.
Language support status
Propertycppgojavajsphp
compressionsupportedsupportedsupportedunknownsupported
default_histogram_aggregationsupportednot_implementedsupportedunknownnot_implemented
endpointsupportedsupportedsupportedunknownsupported
headerssupportedsupportedsupportedunknownsupported
headers_listsupportedsupportedsupportedunknownsupported
temporality_preferencesupportedsupportedsupportedunknownsupported
timeoutsupportedsupportedsupportedunknownsupported
tlssupportedsupportedsupportedunknownignored

Constraints:

  • additionalProperties: false

Usages:

Snippets:

Metrics Kitchen Sink

Snippet Source File

endpoint: http://localhost:4317
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"
      ],
      "description": "Configure endpoint.\nIf omitted or null, http://localhost:4317 is used.\n"
    },
    "tls": {
      "$ref": "#/$defs/GrpcTls",
      "description": "Configure TLS settings for the exporter.\nIf omitted, system default TLS settings are used.\n"
    },
    "headers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/NameStringValuePair"
      },
      "description": "Configure headers. Entries have higher priority than entries from .headers_list.\nIf an entry's .value is null, the entry is ignored.\nIf omitted, no headers are added.\n"
    },
    "headers_list": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure headers. Entries have lower priority than entries from .headers.\nThe 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.\nIf omitted or null, no headers are added.\n"
    },
    "compression": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure compression.\nKnown values include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n"
    },
    "timeout": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max time (in milliseconds) to wait for each export.\nValue must be non-negative. A value of 0 indicates no limit (infinity).\nIf omitted or null, 10000 is used.\n"
    },
    "temporality_preference": {
      "$ref": "#/$defs/ExporterTemporalityPreference",
      "description": "Configure temporality preference.\nValues include:\n* cumulative: Use cumulative aggregation temporality for all instrument types.\n* delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n* low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\nIf omitted, cumulative is used.\n"
    },
    "default_histogram_aggregation": {
      "$ref": "#/$defs/ExporterDefaultHistogramAggregation",
      "description": "Configure default histogram aggregation.\nValues include:\n* base2_exponential_bucket_histogram: Use base2 exponential histogram as the default aggregation for histogram instruments.\n* explicit_bucket_histogram: Use explicit bucket histogram as the default aggregation for histogram instruments.\nIf omitted, explicit_bucket_histogram is used.\n"
    }
  }
}

OtlpHttpEncoding

This is a enum type.

ValueDescription
jsonProtobuf JSON encoding.
protobufProtobuf binary encoding.
Language support status
Valuecppgojavajsphp
jsonsupportednot_implementednot_implementedunknownsupported
protobufsupportednot_implementednot_implementedunknownsupported

No constraints.

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

OtlpHttpExporter

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
compressionone of:
* string
* null
falseIf omitted or null, none is used.No constraints.Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
encodingOtlpHttpEncodingfalseIf omitted, protobuf is used.No constraints.Configure the encoding used for messages.
Implementations may not support json.
endpointone of:
* string
* null
falseIf 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.
headersarray of NameStringValuePairfalseIf 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_listone of:
* string
* null
falseIf 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.
timeoutone of:
* integer
* null
falseIf 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).
tlsHttpTlsfalseIf omitted, system default TLS settings are used.No constraints.Configure TLS settings for the exporter.
Language support status
Propertycppgojavajsphp
compressionsupportedsupportedsupportedunknownsupported
encodingsupportednot_implementednot_implementedunknownsupported
endpointsupportedsupportedsupportedunknownsupported
headerssupportedsupportedsupportedunknownsupported
headers_listsupportedsupportedsupportedunknownsupported
timeoutsupportedsupportedsupportedunknownsupported
tlssupportedsupportedsupportedunknownignored

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"
      ],
      "description": "Configure endpoint, including the signal specific path.\nIf omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.\n"
    },
    "tls": {
      "$ref": "#/$defs/HttpTls",
      "description": "Configure TLS settings for the exporter.\nIf omitted, system default TLS settings are used.\n"
    },
    "headers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/NameStringValuePair"
      },
      "description": "Configure headers. Entries have higher priority than entries from .headers_list.\nIf an entry's .value is null, the entry is ignored.\nIf omitted, no headers are added.\n"
    },
    "headers_list": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure headers. Entries have lower priority than entries from .headers.\nThe 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.\nIf omitted or null, no headers are added.\n"
    },
    "compression": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure compression.\nKnown values include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n"
    },
    "timeout": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max time (in milliseconds) to wait for each export.\nValue must be non-negative. A value of 0 indicates no limit (infinity).\nIf omitted or null, 10000 is used.\n"
    },
    "encoding": {
      "$ref": "#/$defs/OtlpHttpEncoding",
      "description": "Configure the encoding used for messages. \nImplementations may not support json.\nValues include:\n* json: Protobuf JSON encoding.\n* protobuf: Protobuf binary encoding.\nIf omitted, protobuf is used.\n"
    }
  }
}

OtlpHttpMetricExporter

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
compressionone of:
* string
* null
falseIf omitted or null, none is used.No constraints.Configure compression.
Known values include: gzip, none. Implementations may support other compression algorithms.
default_histogram_aggregationExporterDefaultHistogramAggregationfalseIf omitted, explicit_bucket_histogram is used.No constraints.Configure default histogram aggregation.
encodingOtlpHttpEncodingfalseIf omitted, protobuf is used.No constraints.Configure the encoding used for messages.
Implementations may not support json.
endpointone of:
* string
* null
falseIf omitted or null, http://localhost:4318/v1/metrics is used.No constraints.Configure endpoint.
headersarray of NameStringValuePairfalseIf 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_listone of:
* string
* null
falseIf 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_preferenceExporterTemporalityPreferencefalseIf omitted, cumulative is used.No constraints.Configure temporality preference.
timeoutone of:
* integer
* null
falseIf 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).
tlsHttpTlsfalseIf omitted, system default TLS settings are used.No constraints.Configure TLS settings for the exporter.
Language support status
Propertycppgojavajsphp
compressionsupportedsupportedsupportedunknownsupported
default_histogram_aggregationsupportednot_implementedsupportedunknownnot_implemented
encodingsupportednot_implementednot_implementedunknownsupported
endpointsupportedsupportedsupportedunknownsupported
headerssupportedsupportedsupportedunknownsupported
headers_listsupportedsupportedsupportedunknownsupported
temporality_preferencesupportedsupportedsupportedunknownsupported
timeoutsupportedsupportedsupportedunknownsupported
tlssupportedsupportedsupportedunknownignored

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:4318/v1/metrics
default_histogram_aggregation: base2_exponential_bucket_histogram
JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "endpoint": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure endpoint.\nIf omitted or null, http://localhost:4318/v1/metrics is used.\n"
    },
    "tls": {
      "$ref": "#/$defs/HttpTls",
      "description": "Configure TLS settings for the exporter.\nIf omitted, system default TLS settings are used.\n"
    },
    "headers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/NameStringValuePair"
      },
      "description": "Configure headers. Entries have higher priority than entries from .headers_list.\nIf an entry's .value is null, the entry is ignored.\nIf omitted, no headers are added.\n"
    },
    "headers_list": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure headers. Entries have lower priority than entries from .headers.\nThe 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.\nIf omitted or null, no headers are added.\n"
    },
    "compression": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure compression.\nKnown values include: gzip, none. Implementations may support other compression algorithms.\nIf omitted or null, none is used.\n"
    },
    "timeout": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max time (in milliseconds) to wait for each export.\nValue must be non-negative. A value of 0 indicates no limit (infinity).\nIf omitted or null, 10000 is used.\n"
    },
    "encoding": {
      "$ref": "#/$defs/OtlpHttpEncoding",
      "description": "Configure the encoding used for messages. \nImplementations may not support json.\nValues include:\n* json: Protobuf JSON encoding.\n* protobuf: Protobuf binary encoding.\nIf omitted, protobuf is used.\n"
    },
    "temporality_preference": {
      "$ref": "#/$defs/ExporterTemporalityPreference",
      "description": "Configure temporality preference.\nValues include:\n* cumulative: Use cumulative aggregation temporality for all instrument types.\n* delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n* low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\nIf omitted, cumulative is used.\n"
    },
    "default_histogram_aggregation": {
      "$ref": "#/$defs/ExporterDefaultHistogramAggregation",
      "description": "Configure default histogram aggregation.\nValues include:\n* base2_exponential_bucket_histogram: Use base2 exponential histogram as the default aggregation for histogram instruments.\n* explicit_bucket_histogram: Use explicit bucket histogram as the default aggregation for histogram instruments.\nIf omitted, explicit_bucket_histogram is used.\n"
    }
  }
}

ParentBasedSampler

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
local_parent_not_sampledSamplerfalseIf omitted, always_off is used.No constraints.Configure local_parent_not_sampled sampler.
local_parent_sampledSamplerfalseIf omitted, always_on is used.No constraints.Configure local_parent_sampled sampler.
remote_parent_not_sampledSamplerfalseIf omitted, always_off is used.No constraints.Configure remote_parent_not_sampled sampler.
remote_parent_sampledSamplerfalseIf omitted, always_on is used.No constraints.Configure remote_parent_sampled sampler.
rootSamplerfalseIf omitted, always_on is used.No constraints.Configure root sampler.
Language support status
Propertycppgojavajsphp
local_parent_not_sampledsupportedsupportedsupportedunknownsupported
local_parent_sampledsupportedsupportedsupportedunknownsupported
remote_parent_not_sampledsupportedsupportedsupportedunknownsupported
remote_parent_sampledsupportedsupportedsupportedunknownsupported
rootsupportedsupportedsupportedunknownsupported

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "root": {
      "$ref": "#/$defs/Sampler",
      "description": "Configure root sampler.\nIf omitted, always_on is used.\n"
    },
    "remote_parent_sampled": {
      "$ref": "#/$defs/Sampler",
      "description": "Configure remote_parent_sampled sampler.\nIf omitted, always_on is used.\n"
    },
    "remote_parent_not_sampled": {
      "$ref": "#/$defs/Sampler",
      "description": "Configure remote_parent_not_sampled sampler.\nIf omitted, always_off is used.\n"
    },
    "local_parent_sampled": {
      "$ref": "#/$defs/Sampler",
      "description": "Configure local_parent_sampled sampler.\nIf omitted, always_on is used.\n"
    },
    "local_parent_not_sampled": {
      "$ref": "#/$defs/Sampler",
      "description": "Configure local_parent_not_sampled sampler.\nIf omitted, always_off is used.\n"
    }
  }
}

PeriodicMetricReader

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
cardinality_limitsCardinalityLimitsfalseIf omitted, default values as described in CardinalityLimits are used.No constraints.Configure cardinality limits.
exporterPushMetricExportertrueProperty is required and must be non-null.No constraints.Configure exporter.
intervalone of:
* integer
* null
falseIf omitted or null, 60000 is used.* minimum: 0
Configure delay interval (in milliseconds) between start of two consecutive exports.
Value must be non-negative.
producersarray of MetricProducerfalseIf omitted, no metric producers are added.* minItems: 1
Configure metric producers.
timeoutone of:
* integer
* null
falseIf 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).
max_export_batch_size/development
WARNING: This property is experimental.
one of:
* integer
* null
falseIf omitted or null, no limit is used.* minimum: 1
Configure maximum export batch size.
Language support status
Propertycppgojavajsphp
cardinality_limitssupportednot_implementedsupportedunknownsupported
exportersupportedsupportedsupportedunknownsupported
intervalsupportedsupportedsupportedunknownnot_implemented
producerssupportednot_implementednot_implementedunknownnot_implemented
timeoutsupportedsupportedsupportedunknownsupported
max_export_batch_size/developmentnot_implementednot_implementednot_implementednot_implementednot_implemented

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,
      "description": "Configure delay interval (in milliseconds) between start of two consecutive exports. \nValue must be non-negative.\nIf omitted or null, 60000 is used.\n"
    },
    "timeout": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure maximum allowed time (in milliseconds) to export data. \nValue must be non-negative. A value of 0 indicates no limit (infinity).\nIf omitted or null, 30000 is used.\n"
    },
    "max_export_batch_size/development": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1,
      "description": "Configure maximum export batch size.\nIf omitted or null, no limit is used.\n"
    },
    "exporter": {
      "$ref": "#/$defs/PushMetricExporter",
      "description": "Configure exporter.\nProperty is required and must be non-null.\n"
    },
    "producers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/MetricProducer"
      },
      "description": "Configure metric producers.\nIf omitted, no metric producers are added.\n"
    },
    "cardinality_limits": {
      "$ref": "#/$defs/CardinalityLimits",
      "description": "Configure cardinality limits.\nIf omitted, default values as described in CardinalityLimits are used.\n"
    }
  },
  "required": [
    "exporter"
  ]
}

Propagator

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
compositearray of TextMapPropagatorfalseIf 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. Known third party keys include: xray.
composite_listone of:
* string
* null
falseIf 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. Known third party identifiers include: xray.
Language support status
Propertycppgojavajsphp
compositesupportedsupportedsupportedunknownsupported
composite_listsupportedsupportedsupportedunknownsupported

Constraints:

  • additionalProperties: false

Usages:

Snippets:

Kitchen Sink

Snippet Source File

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

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "composite": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/TextMapPropagator"
      },
      "description": "Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out.\nBuilt-in propagator keys include: tracecontext, baggage, b3, b3multi. Known third party keys include: xray.\nIf omitted, and .composite_list is omitted or null, a noop propagator is used.\n"
    },
    "composite_list": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out.\nThe 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.\nBuilt-in propagator identifiers include: tracecontext, baggage, b3, b3multi. Known third party identifiers include: xray.\nIf omitted or null, and .composite is omitted or null, a noop propagator is used.\n"
    }
  }
}

PullMetricExporter

PullMetricExporter is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
prometheus/development
WARNING: This property is experimental.
ExperimentalPrometheusMetricExporterfalseIf omitted, ignore.No constraints.Configure exporter to be prometheus.
Language support status
Propertycppgojavajsphp
prometheus/developmentsupportedunknownsupportedunknownnot_implemented

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",
      "description": "Configure exporter to be prometheus.\nIf omitted, ignore.\n"
    }
  }
}

PullMetricReader

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
cardinality_limitsCardinalityLimitsfalseIf omitted, default values as described in CardinalityLimits are used.No constraints.Configure cardinality limits.
exporterPullMetricExportertrueProperty is required and must be non-null.No constraints.Configure exporter.
producersarray of MetricProducerfalseIf omitted, no metric producers are added.* minItems: 1
Configure metric producers.
Language support status
Propertycppgojavajsphp
cardinality_limitssupportedunknownsupportedunknownnot_implemented
exportersupportedunknownsupportedunknownnot_implemented
producerssupportedunknownnot_implementedunknownnot_implemented

Constraints:

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

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "exporter": {
      "$ref": "#/$defs/PullMetricExporter",
      "description": "Configure exporter.\nProperty is required and must be non-null.\n"
    },
    "producers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/MetricProducer"
      },
      "description": "Configure metric producers.\nIf omitted, no metric producers are added.\n"
    },
    "cardinality_limits": {
      "$ref": "#/$defs/CardinalityLimits",
      "description": "Configure cardinality limits.\nIf omitted, default values as described in CardinalityLimits are used.\n"
    }
  },
  "required": [
    "exporter"
  ]
}

PushMetricExporter

PushMetricExporter is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
consoleConsoleMetricExporterfalseIf omitted, ignore.No constraints.Configure exporter to be console.
otlp_grpcOtlpGrpcMetricExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with gRPC transport.
otlp_httpOtlpHttpMetricExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with HTTP transport.
otlp_file/development
WARNING: This property is experimental.
ExperimentalOtlpFileMetricExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with file transport.
Language support status
Propertycppgojavajsphp
consolesupportedunknownsupportedunknownsupported
otlp_grpcsupportedunknownsupportedunknownsupported
otlp_httpsupportedunknownsupportedunknownsupported
otlp_file/developmentsupportedunknownsupportedunknownsupported

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",
      "description": "Configure exporter to be OTLP with HTTP transport.\nIf omitted, ignore.\n"
    },
    "otlp_grpc": {
      "$ref": "#/$defs/OtlpGrpcMetricExporter",
      "description": "Configure exporter to be OTLP with gRPC transport.\nIf omitted, ignore.\n"
    },
    "otlp_file/development": {
      "$ref": "#/$defs/ExperimentalOtlpFileMetricExporter",
      "description": "Configure exporter to be OTLP with file transport.\nIf omitted, ignore.\n"
    },
    "console": {
      "$ref": "#/$defs/ConsoleMetricExporter",
      "description": "Configure exporter to be console.\nIf omitted, ignore.\n"
    }
  }
}

RandomIdGenerator

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

Resource

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
attributesarray of AttributeNameValuefalseIf omitted, no resource attributes are added.* minItems: 1
Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
attributes_listone of:
* string
* null
falseIf 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_urlone of:
* string
* null
falseIf omitted or null, no schema URL is used.No constraints.Configure resource schema URL.
detection/development
WARNING: This property is experimental.
ExperimentalResourceDetectionfalseIf omitted, resource detection is disabled.No constraints.Configure resource detection.
Language support status
Propertycppgojavajsphp
attributessupportedunknownsupportedunknownsupported
attributes_listsupportedunknownsupportedunknownsupported
schema_urlsupportedunknownsupportedunknownsupported
detection/developmentsupportedunknownsupportedunknownsupported

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"
      },
      "description": "Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.\nIf omitted, no resource attributes are added.\n"
    },
    "detection/development": {
      "$ref": "#/$defs/ExperimentalResourceDetection",
      "description": "Configure resource detection.\nIf omitted, resource detection is disabled.\n"
    },
    "schema_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure resource schema URL.\nIf omitted or null, no schema URL is used.\n"
    },
    "attributes_list": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure resource attributes. Entries have lower priority than entries from .resource.attributes.\nThe 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.\nIf omitted or null, no resource attributes are added.\n"
    }
  }
}

Sampler

Sampler is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
always_offAlwaysOffSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be always_off.
always_onAlwaysOnSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be always_on.
parent_basedParentBasedSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be parent_based.
trace_id_ratio_basedTraceIdRatioBasedSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be trace_id_ratio_based.
composite/development
WARNING: This property is experimental.
ExperimentalComposableSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be composite.
jaeger_remote/development
WARNING: This property is experimental.
ExperimentalJaegerRemoteSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be jaeger_remote.
probability/development
WARNING: This property is experimental.
ExperimentalProbabilitySamplerfalseIf omitted, ignore.No constraints.Configure sampler to be probability.
Language support status
Propertycppgojavajsphp
always_offsupportedsupportedsupportedunknownsupported
always_onsupportedsupportedsupportedunknownsupported
parent_basedsupportedsupportedsupportedunknownsupported
trace_id_ratio_basedsupportedsupportedsupportedunknownsupported
composite/developmentsupportednot_implementedsupportedunknownnot_implemented
jaeger_remote/developmentsupportednot_implementedsupportedunknownnot_implemented
probability/developmentsupportednot_implementedsupportedunknownnot_implemented

Constraints:

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

Usages:

Snippets:

Composite Rule Based Drop Redis Ping

Snippet Source File

# Use the composite rule_based sampler to suppress noisy Redis health check spans,
# while falling back to standard parent-based sampling for all other spans.
# Rules are matched in order; if no rule matches, the span is not sampled.
composite/development:
  rule_based:
    rules:
      # Drop Redis PING health check spans. These are CLIENT spans where db.operation=PING.
      # Use db.operation.name instead if using stable DB semantic conventions.
      - span_kinds:
          - client
        attribute_values:
          key: db.operation
          values:
            - PING
        sampler:
          always_off:
      # Catch-all: apply standard parent-based behavior for all other spans.
      # parent_threshold respects the parent sampling decision; always_on is used
      # for root spans (no parent), matching the default parent_based behavior.
      - sampler:
          parent_threshold:
            root:
              always_on:
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",
      "description": "Configure sampler to be always_off.\nIf omitted, ignore.\n"
    },
    "always_on": {
      "$ref": "#/$defs/AlwaysOnSampler",
      "description": "Configure sampler to be always_on.\nIf omitted, ignore.\n"
    },
    "composite/development": {
      "$ref": "#/$defs/ExperimentalComposableSampler",
      "description": "Configure sampler to be composite.\nIf omitted, ignore.\n"
    },
    "jaeger_remote/development": {
      "$ref": "#/$defs/ExperimentalJaegerRemoteSampler",
      "description": "Configure sampler to be jaeger_remote.\nIf omitted, ignore.\n"
    },
    "parent_based": {
      "$ref": "#/$defs/ParentBasedSampler",
      "description": "Configure sampler to be parent_based.\nIf omitted, ignore.\n"
    },
    "probability/development": {
      "$ref": "#/$defs/ExperimentalProbabilitySampler",
      "description": "Configure sampler to be probability.\nIf omitted, ignore.\n"
    },
    "trace_id_ratio_based": {
      "$ref": "#/$defs/TraceIdRatioBasedSampler",
      "description": "Configure sampler to be trace_id_ratio_based.\nIf omitted, ignore.\n"
    }
  }
}

SeverityNumber

This is a enum type.

ValueDescription
debugdebug, severity number 5.
debug2debug2, severity number 6.
debug3debug3, severity number 7.
debug4debug4, severity number 8.
errorerror, severity number 17.
error2error2, severity number 18.
error3error3, severity number 19.
error4error4, severity number 20.
fatalfatal, severity number 21.
fatal2fatal2, severity number 22.
fatal3fatal3, severity number 23.
fatal4fatal4, severity number 24.
infoinfo, severity number 9.
info2info2, severity number 10.
info3info3, severity number 11.
info4info4, severity number 12.
tracetrace, severity number 1.
trace2trace2, severity number 2.
trace3trace3, severity number 3.
trace4trace4, severity number 4.
warnwarn, severity number 13.
warn2warn2, severity number 14.
warn3warn3, severity number 15.
warn4warn4, severity number 16.
Language support status
Valuecppgojavajsphp
debugsupportedunknownsupportedunknownsupported
debug2supportedunknownsupportedunknownsupported
debug3supportedunknownsupportedunknownsupported
debug4supportedunknownsupportedunknownsupported
errorsupportedunknownsupportedunknownsupported
error2supportedunknownsupportedunknownsupported
error3supportedunknownsupportedunknownsupported
error4supportedunknownsupportedunknownsupported
fatalsupportedunknownsupportedunknownsupported
fatal2supportedunknownsupportedunknownsupported
fatal3supportedunknownsupportedunknownsupported
fatal4supportedunknownsupportedunknownsupported
infosupportedunknownsupportedunknownsupported
info2supportedunknownsupportedunknownsupported
info3supportedunknownsupportedunknownsupported
info4supportedunknownsupportedunknownsupported
tracesupportedunknownsupportedunknownsupported
trace2supportedunknownsupportedunknownsupported
trace3supportedunknownsupportedunknownsupported
trace4supportedunknownsupportedunknownsupported
warnsupportedunknownsupportedunknownsupported
warn2supportedunknownsupportedunknownsupported
warn3supportedunknownsupportedunknownsupported
warn4supportedunknownsupportedunknownsupported

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

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
exporterLogRecordExportertrueProperty is required and must be non-null.No constraints.Configure exporter.
Language support status
Propertycppgojavajsphp
exportersupportedunknownsupportedunknownsupported

Constraints:

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

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "exporter": {
      "$ref": "#/$defs/LogRecordExporter",
      "description": "Configure exporter.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "exporter"
  ]
}

SimpleSpanProcessor

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
exporterSpanExportertrueProperty is required and must be non-null.No constraints.Configure exporter.
Language support status
Propertycppgojavajsphp
exportersupportedsupportedsupportedunknownsupported

Constraints:

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

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "exporter": {
      "$ref": "#/$defs/SpanExporter",
      "description": "Configure exporter.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "exporter"
  ]
}

SpanExporter

SpanExporter is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
consoleConsoleExporterfalseIf omitted, ignore.No constraints.Configure exporter to be console.
otlp_grpcOtlpGrpcExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with gRPC transport.
otlp_httpOtlpHttpExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with HTTP transport.
otlp_file/development
WARNING: This property is experimental.
ExperimentalOtlpFileExporterfalseIf omitted, ignore.No constraints.Configure exporter to be OTLP with file transport.
Language support status
Propertycppgojavajsphp
consolesupportedsupportedsupportedunknownsupported
otlp_grpcsupportedsupportedsupportedunknownsupported
otlp_httpsupportedsupportedsupportedunknownsupported
otlp_file/developmentsupportednot_implementedsupportedunknownsupported

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",
      "description": "Configure exporter to be OTLP with HTTP transport.\nIf omitted, ignore.\n"
    },
    "otlp_grpc": {
      "$ref": "#/$defs/OtlpGrpcExporter",
      "description": "Configure exporter to be OTLP with gRPC transport.\nIf omitted, ignore.\n"
    },
    "otlp_file/development": {
      "$ref": "#/$defs/ExperimentalOtlpFileExporter",
      "description": "Configure exporter to be OTLP with file transport.\nIf omitted, ignore.\n"
    },
    "console": {
      "$ref": "#/$defs/ConsoleExporter",
      "description": "Configure exporter to be console.\nIf omitted, ignore.\n"
    }
  }
}

SpanKind

This is a enum type.

ValueDescription
clientclient, a client span.
consumerconsumer, a consumer span.
internalinternal, an internal span.
producerproducer, a producer span.
serverserver, a server span.
Language support status
Valuecppgojavajsphp
clientnot_implementedunknownsupportedunknownnot_implemented
consumernot_implementedunknownsupportedunknownnot_implemented
internalnot_implementedunknownsupportedunknownnot_implemented
producernot_implementedunknownsupportedunknownnot_implemented
servernot_implementedunknownsupportedunknownnot_implemented

No constraints.

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

SpanLimits

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
attribute_count_limitone of:
* integer
* null
falseIf 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_limitone of:
* integer
* null
falseIf 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_limitone of:
* integer
* null
falseIf omitted or null, 128 is used.* minimum: 0
Configure max attributes per span event.
Value must be non-negative.
event_count_limitone of:
* integer
* null
falseIf omitted or null, 128 is used.* minimum: 0
Configure max span event count.
Value must be non-negative.
link_attribute_count_limitone of:
* integer
* null
falseIf omitted or null, 128 is used.* minimum: 0
Configure max attributes per span link.
Value must be non-negative.
link_count_limitone of:
* integer
* null
falseIf omitted or null, 128 is used.* minimum: 0
Configure max span link count.
Value must be non-negative.
Language support status
Propertycppgojavajsphp
attribute_count_limitsupportedunknownsupportedunknownsupported
attribute_value_length_limitsupportedunknownsupportedunknownsupported
event_attribute_count_limitsupportedunknownsupportedunknownsupported
event_count_limitsupportedunknownsupportedunknownsupported
link_attribute_count_limitsupportedunknownsupportedunknownsupported
link_count_limitsupportedunknownsupportedunknownsupported

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,
      "description": "Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit. \nValue must be non-negative.\nIf omitted or null, there is no limit.\n"
    },
    "attribute_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max attribute count. Overrides .attribute_limits.attribute_count_limit. \nValue must be non-negative.\nIf omitted or null, 128 is used.\n"
    },
    "event_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max span event count. \nValue must be non-negative.\nIf omitted or null, 128 is used.\n"
    },
    "link_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max span link count. \nValue must be non-negative.\nIf omitted or null, 128 is used.\n"
    },
    "event_attribute_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max attributes per span event. \nValue must be non-negative.\nIf omitted or null, 128 is used.\n"
    },
    "link_attribute_count_limit": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure max attributes per span link. \nValue must be non-negative.\nIf omitted or null, 128 is used.\n"
    }
  }
}

SpanProcessor

SpanProcessor is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
batchBatchSpanProcessorfalseIf omitted, ignore.No constraints.Configure a batch span processor.
simpleSimpleSpanProcessorfalseIf omitted, ignore.No constraints.Configure a simple span processor.
Language support status
Propertycppgojavajsphp
batchsupportedsupportedsupportedunknownsupported
simplesupportedsupportedsupportedunknownsupported

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",
      "description": "Configure a batch span processor.\nIf omitted, ignore.\n"
    },
    "simple": {
      "$ref": "#/$defs/SimpleSpanProcessor",
      "description": "Configure a simple span processor.\nIf omitted, ignore.\n"
    }
  }
}

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.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
b3B3PropagatorfalseIf omitted, ignore.No constraints.Include the zipkin b3 propagator.
b3multiB3MultiPropagatorfalseIf omitted, ignore.No constraints.Include the zipkin b3 multi propagator.
baggageBaggagePropagatorfalseIf omitted, ignore.No constraints.Include the w3c baggage propagator.
tracecontextTraceContextPropagatorfalseIf omitted, ignore.No constraints.Include the w3c trace context propagator.
Language support status
Propertycppgojavajsphp
b3supportedsupportedsupportedunknownsupported
b3multisupportedsupportedsupportedunknownsupported
baggagesupportedsupportedsupportedunknownsupported
tracecontextsupportedsupportedsupportedunknownsupported

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",
      "description": "Include the w3c trace context propagator.\nIf omitted, ignore.\n"
    },
    "baggage": {
      "$ref": "#/$defs/BaggagePropagator",
      "description": "Include the w3c baggage propagator.\nIf omitted, ignore.\n"
    },
    "b3": {
      "$ref": "#/$defs/B3Propagator",
      "description": "Include the zipkin b3 propagator.\nIf omitted, ignore.\n"
    },
    "b3multi": {
      "$ref": "#/$defs/B3MultiPropagator",
      "description": "Include the zipkin b3 multi propagator.\nIf omitted, ignore.\n"
    }
  }
}

TraceContextPropagator

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

TraceIdRatioBasedSampler

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
ratioone of:
* number
* null
falseIf omitted or null, 1.0 is used.* minimum: 0
* maximum: 1
Configure trace_id_ratio.
Language support status
Propertycppgojavajsphp
ratiosupportedsupportedsupportedunknownsupported

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,
      "description": "Configure trace_id_ratio.\nIf omitted or null, 1.0 is used.\n"
    }
  }
}

TracerProvider

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
id_generatorIdGeneratorfalseIf omitted, RandomIdGenerator is used.No constraints.Configure the trace and span ID generator.
limitsSpanLimitsfalseIf omitted, default values as described in SpanLimits are used.No constraints.Configure span limits. See also attribute_limits.
processorsarray of SpanProcessortrueProperty is required and must be non-null.* minItems: 1
Configure span processors.
samplerSamplerfalseIf 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.
ExperimentalTracerConfiguratorfalseIf omitted, all tracers use default values as described in ExperimentalTracerConfig.No constraints.Configure tracers.
Language support status
Propertycppgojavajsphp
id_generatorsupportedunknownsupportedunknownsupported
limitssupportedunknownsupportedunknownsupported
processorssupportedunknownsupportedunknownsupported
samplersupportedunknownsupportedunknownsupported
tracer_configurator/developmentsupportedunknownsupportedunknownsupported

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"
      },
      "description": "Configure span processors.\nProperty is required and must be non-null.\n"
    },
    "limits": {
      "$ref": "#/$defs/SpanLimits",
      "description": "Configure span limits. See also attribute_limits.\nIf omitted, default values as described in SpanLimits are used.\n"
    },
    "sampler": {
      "$ref": "#/$defs/Sampler",
      "description": "Configure the sampler.\nIf omitted, parent based sampler with a root of always_on is used.\n"
    },
    "id_generator": {
      "$ref": "#/$defs/IdGenerator",
      "description": "Configure the trace and span ID generator.\nIf omitted, RandomIdGenerator is used.\n"
    },
    "tracer_configurator/development": {
      "$ref": "#/$defs/ExperimentalTracerConfigurator",
      "description": "Configure tracers.\nIf omitted, all tracers use default values as described in ExperimentalTracerConfig.\n"
    }
  },
  "required": [
    "processors"
  ]
}

View

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
selectorViewSelectortrueProperty 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.
streamViewStreamtrueProperty is required and must be non-null.No constraints.Configure view stream.
Language support status
Propertycppgojavajsphp
selectorsupportedunknownsupportedunknownsupported
streamsupportedunknownsupportedunknownsupported

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",
      "description": "Configure view selector. \nSelection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.\nProperty is required and must be non-null.\n"
    },
    "stream": {
      "$ref": "#/$defs/ViewStream",
      "description": "Configure view stream.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "selector",
    "stream"
  ]
}

ViewSelector

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
instrument_nameone of:
* string
* null
falseIf omitted or null, all instrument names match.No constraints.Configure instrument name selection criteria.
instrument_typeInstrumentTypefalseIf omitted, all instrument types match.No constraints.Configure instrument type selection criteria.
meter_nameone of:
* string
* null
falseIf omitted or null, all meter names match.No constraints.Configure meter name selection criteria.
meter_schema_urlone of:
* string
* null
falseIf omitted or null, all meter schema URLs match.No constraints.Configure meter schema url selection criteria.
meter_versionone of:
* string
* null
falseIf omitted or null, all meter versions match.No constraints.Configure meter version selection criteria.
unitone of:
* string
* null
falseIf omitted or null, all instrument units match.No constraints.Configure the instrument unit selection criteria.
Language support status
Propertycppgojavajsphp
instrument_namesupportedunknownsupportedunknownsupported
instrument_typesupportedunknownsupportedunknownsupported
meter_namesupportedunknownsupportedunknownsupported
meter_schema_urlsupportedunknownsupportedunknownsupported
meter_versionsupportedunknownsupportedunknownsupported
unitsupportedunknownsupportedunknownnot_implemented

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "instrument_name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure instrument name selection criteria.\nIf omitted or null, all instrument names match.\n"
    },
    "instrument_type": {
      "$ref": "#/$defs/InstrumentType",
      "description": "Configure instrument type selection criteria.\nValues include:\n* counter: Synchronous counter instruments.\n* gauge: Synchronous gauge instruments.\n* histogram: Synchronous histogram instruments.\n* observable_counter: Asynchronous counter instruments.\n* observable_gauge: Asynchronous gauge instruments.\n* observable_up_down_counter: Asynchronous up down counter instruments.\n* up_down_counter: Synchronous up down counter instruments.\nIf omitted, all instrument types match.\n"
    },
    "unit": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure the instrument unit selection criteria.\nIf omitted or null, all instrument units match.\n"
    },
    "meter_name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure meter name selection criteria.\nIf omitted or null, all meter names match.\n"
    },
    "meter_version": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure meter version selection criteria.\nIf omitted or null, all meter versions match.\n"
    },
    "meter_schema_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure meter schema url selection criteria.\nIf omitted or null, all meter schema URLs match.\n"
    }
  }
}

ViewStream

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
aggregationAggregationfalseIf omitted, default is used.No constraints.Configure aggregation of the resulting stream(s).
aggregation_cardinality_limitone of:
* integer
* null
falseIf omitted or null, the metric reader's default cardinality limit is used.* exclusiveMinimum: 0
Configure the aggregation cardinality limit.
attribute_keysIncludeExcludefalseIf omitted, all attribute keys are retained.No constraints.Configure attribute keys retained in the resulting stream(s).
descriptionone of:
* string
* null
falseIf omitted or null, the instrument's origin description is used.No constraints.Configure metric description of the resulting stream(s).
nameone of:
* string
* null
falseIf omitted or null, the instrument's original name is used.No constraints.Configure metric name of the resulting stream(s).
Language support status
Propertycppgojavajsphp
aggregationsupportedunknownsupportedunknownignored
aggregation_cardinality_limitsupportedunknownsupportedunknownnot_implemented
attribute_keyssupportedunknownsupportedunknownsupported
descriptionsupportedunknownsupportedunknownsupported
namesupportedunknownsupportedunknownsupported

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure metric name of the resulting stream(s).\nIf omitted or null, the instrument's original name is used.\n"
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure metric description of the resulting stream(s).\nIf omitted or null, the instrument's origin description is used.\n"
    },
    "aggregation": {
      "$ref": "#/$defs/Aggregation",
      "description": "Configure aggregation of the resulting stream(s).\nIf omitted, default is used.\n"
    },
    "aggregation_cardinality_limit": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0,
      "description": "Configure the aggregation cardinality limit.\nIf omitted or null, the metric reader's default cardinality limit is used.\n"
    },
    "attribute_keys": {
      "$ref": "#/$defs/IncludeExclude",
      "description": "Configure attribute keys retained in the resulting stream(s).\nIf omitted, all attribute keys are retained.\n"
    }
  }
}

Experimental Types

ExperimentalCodeInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
semconvExperimentalSemconvConfigfalseIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.No constraints.Configure code semantic convention version and migration behavior.

This property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.

See code semantic conventions: https://opentelemetry.io/docs/specs/semconv/registry/attributes/code/
Language support status
Propertycppgojavajsphp
semconvunknownnot_implementedunknownunknownunknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "semconv": {
      "$ref": "#/$defs/ExperimentalSemconvConfig",
      "description": "Configure code semantic convention version and migration behavior.\n\nThis property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.\n\nSee code semantic conventions: https://opentelemetry.io/docs/specs/semconv/registry/attributes/code/\nIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.\n"
    }
  }
}

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.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
rootExperimentalComposableSamplertrueProperty is required and must be non-null.No constraints.Sampler to use when there is no parent.
Language support status
Propertycppgojavajsphp
rootignorednot_implementedsupportedunknownnot_implemented

Constraints:

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

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "root": {
      "$ref": "#/$defs/ExperimentalComposableSampler",
      "description": "Sampler to use when there is no parent.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "root"
  ]
}

ExperimentalComposableProbabilitySampler

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
ratioone of:
* number
* null
falseIf omitted or null, 1.0 is used.* minimum: 0
* maximum: 1
Configure ratio.
Language support status
Propertycppgojavajsphp
ratioignorednot_implementedsupportedunknownnot_implemented

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,
      "description": "Configure ratio.\nIf omitted or null, 1.0 is used.\n"
    }
  }
}

ExperimentalComposableRuleBasedSampler

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
rulesarray of ExperimentalComposableRuleBasedSamplerRulefalseIf omitted, no span is sampled.* minItems: 1
The rules for the sampler, matched in order.
Each rule can have multiple match conditions. All conditions must match for the rule to match.
If no conditions are specified, the rule matches all spans that reach it.
If no rules match, the span is not sampled.
Language support status
Propertycppgojavajsphp
rulesignorednot_implementedsupportedunknownnot_implemented

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object",
    "null"
  ],
  "additionalProperties": false,
  "properties": {
    "rules": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRule"
      },
      "description": "The rules for the sampler, matched in order.\nEach rule can have multiple match conditions. All conditions must match for the rule to match.\nIf no conditions are specified, the rule matches all spans that reach it.\nIf no rules match, the span is not sampled.\nIf omitted, no span is sampled.\n"
    }
  }
}

ExperimentalComposableRuleBasedSamplerRule

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
attribute_patternsExperimentalComposableRuleBasedSamplerRuleAttributePatternsfalseIf 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_valuesExperimentalComposableRuleBasedSamplerRuleAttributeValuesfalseIf 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.
parentarray of ExperimentalSpanParentfalseIf omitted, ignore.* minItems: 1
The parent span types to match.
samplerExperimentalComposableSamplertrueProperty is required and must be non-null.No constraints.The sampler to use for matching spans.
span_kindsarray of SpanKindfalseIf omitted, ignore.* minItems: 1
The span kinds to match. If the span's kind matches any of these, it matches.
Language support status
Propertycppgojavajsphp
attribute_patternsignorednot_implementedsupportedunknownnot_implemented
attribute_valuesignorednot_implementedsupportedunknownnot_implemented
parentignorednot_implementedsupportedunknownnot_implemented
samplerignorednot_implementedsupportedunknownnot_implemented
span_kindsignorednot_implementedsupportedunknownnot_implemented

Constraints:

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

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",
      "description": "Values to match against a single attribute. Non-string attributes are matched using their string representation:\nfor example, a value of \"404\" would match the http.response.status_code 404. For array attributes, if any\nitem matches, it is considered a match.\nIf omitted, ignore.\n"
    },
    "attribute_patterns": {
      "$ref": "#/$defs/ExperimentalComposableRuleBasedSamplerRuleAttributePatterns",
      "description": "Patterns to match against a single attribute. Non-string attributes are matched using their string representation:\nfor example, a pattern of \"4*\" would match any http.response.status_code in 400-499. For array attributes, if any\nitem matches, it is considered a match.\nIf omitted, ignore.\n"
    },
    "span_kinds": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/SpanKind"
      },
      "description": "The span kinds to match. If the span's kind matches any of these, it matches.\nValues include:\n* client: client, a client span.\n* consumer: consumer, a consumer span.\n* internal: internal, an internal span.\n* producer: producer, a producer span.\n* server: server, a server span.\nIf omitted, ignore.\n"
    },
    "parent": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalSpanParent"
      },
      "description": "The parent span types to match.\nValues include:\n* local: local, a local parent.\n* none: none, no parent, i.e., the trace root.\n* remote: remote, a remote parent.\nIf omitted, ignore.\n"
    },
    "sampler": {
      "$ref": "#/$defs/ExperimentalComposableSampler",
      "description": "The sampler to use for matching spans.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "sampler"
  ]
}

ExperimentalComposableRuleBasedSamplerRuleAttributePatterns

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
excludedarray of stringfalseIf 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).
Matching is case-sensitive. Values are evaluated to match as follows:
* If the value exactly matches.
* If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
includedarray of stringfalseIf omitted, all values are included.* minItems: 1
Configure list of value patterns to include.
Matching is case-sensitive. Values are evaluated to match as follows:
* If the value exactly matches.
* If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
keystringtrueProperty is required and must be non-null.No constraints.The attribute key to match against.
Language support status
Propertycppgojavajsphp
excludedignorednot_implementedsupportedunknownnot_implemented
includedignorednot_implementedsupportedunknownnot_implemented
keyignorednot_implementedsupportedunknownnot_implemented

Constraints:

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

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "key": {
      "type": "string",
      "description": "The attribute key to match against.\nProperty is required and must be non-null.\n"
    },
    "included": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      },
      "description": "Configure list of value patterns to include.\nMatching is case-sensitive. Values are evaluated to match as follows:\n * If the value exactly matches.\n * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\nIf omitted, all values are included.\n"
    },
    "excluded": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      },
      "description": "Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).\nMatching is case-sensitive. Values are evaluated to match as follows:\n * If the value exactly matches.\n * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\nIf omitted, .included attributes are included.\n"
    }
  },
  "required": [
    "key"
  ]
}

ExperimentalComposableRuleBasedSamplerRuleAttributeValues

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
keystringtrueProperty is required and must be non-null.No constraints.The attribute key to match against.
valuesarray of stringtrueProperty 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
Propertycppgojavajsphp
keyignorednot_implementedsupportedunknownnot_implemented
valuesignorednot_implementedsupportedunknownnot_implemented

Constraints:

  • additionalProperties: false
  • required: ["key","values"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "key": {
      "type": "string",
      "description": "The attribute key to match against.\nProperty is required and must be non-null.\n"
    },
    "values": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      },
      "description": "The attribute values to match against. If the attribute's value matches any of these, it matches.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "key",
    "values"
  ]
}

ExperimentalComposableSampler

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
always_offExperimentalComposableAlwaysOffSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be always_off.
always_onExperimentalComposableAlwaysOnSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be always_on.
parent_thresholdExperimentalComposableParentThresholdSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be parent_threshold.
probabilityExperimentalComposableProbabilitySamplerfalseIf omitted, ignore.No constraints.Configure sampler to be probability.
rule_basedExperimentalComposableRuleBasedSamplerfalseIf omitted, ignore.No constraints.Configure sampler to be rule_based.
Language support status
Propertycppgojavajsphp
always_offignorednot_implementedsupportedunknownnot_implemented
always_onignorednot_implementedsupportedunknownnot_implemented
parent_thresholdignorednot_implementedsupportedunknownnot_implemented
probabilityignorednot_implementedsupportedunknownnot_implemented
rule_basedignorednot_implementedsupportedunknownnot_implemented

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",
      "description": "Configure sampler to be always_off.\nIf omitted, ignore.\n"
    },
    "always_on": {
      "$ref": "#/$defs/ExperimentalComposableAlwaysOnSampler",
      "description": "Configure sampler to be always_on.\nIf omitted, ignore.\n"
    },
    "parent_threshold": {
      "$ref": "#/$defs/ExperimentalComposableParentThresholdSampler",
      "description": "Configure sampler to be parent_threshold.\nIf omitted, ignore.\n"
    },
    "probability": {
      "$ref": "#/$defs/ExperimentalComposableProbabilitySampler",
      "description": "Configure sampler to be probability.\nIf omitted, ignore.\n"
    },
    "rule_based": {
      "$ref": "#/$defs/ExperimentalComposableRuleBasedSampler",
      "description": "Configure sampler to be rule_based.\nIf omitted, ignore.\n"
    }
  }
}

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
}

ExperimentalDbInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
semconvExperimentalSemconvConfigfalseIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.No constraints.Configure database semantic convention version and migration behavior.

This property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.

See database migration: https://opentelemetry.io/docs/specs/semconv/database/
Language support status
Propertycppgojavajsphp
semconvunknownnot_implementedunknownunknownunknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "semconv": {
      "$ref": "#/$defs/ExperimentalSemconvConfig",
      "description": "Configure database semantic convention version and migration behavior.\n\nThis property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.\n\nSee database migration: https://opentelemetry.io/docs/specs/semconv/database/\nIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.\n"
    }
  }
}

ExperimentalEventToSpanEventBridgeLogRecordProcessor

Warning

This type is experimental.

No properties.

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

ExperimentalGenAiInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
semconvExperimentalSemconvConfigfalseIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.No constraints.Configure GenAI semantic convention version and migration behavior.

This property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.

See GenAI semantic conventions: https://opentelemetry.io/docs/specs/semconv/gen-ai/
Language support status
Propertycppgojavajsphp
semconvunknownnot_implementedunknownunknownunknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "semconv": {
      "$ref": "#/$defs/ExperimentalSemconvConfig",
      "description": "Configure GenAI semantic convention version and migration behavior.\n\nThis property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.\n\nSee GenAI semantic conventions: https://opentelemetry.io/docs/specs/semconv/gen-ai/\nIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.\n"
    }
  }
}

ExperimentalGeneralInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
codeExperimentalCodeInstrumentationfalseIf omitted, defaults as described in ExperimentalCodeInstrumentation are used.No constraints.Configure instrumentations following the code semantic conventions.
See code semantic conventions: https://opentelemetry.io/docs/specs/semconv/registry/attributes/code/
dbExperimentalDbInstrumentationfalseIf omitted, defaults as described in ExperimentalDbInstrumentation are used.No constraints.Configure instrumentations following the database semantic conventions.
See database semantic conventions: https://opentelemetry.io/docs/specs/semconv/database/
gen_aiExperimentalGenAiInstrumentationfalseIf omitted, defaults as described in ExperimentalGenAiInstrumentation are used.No constraints.Configure instrumentations following the GenAI semantic conventions.
See GenAI semantic conventions: https://opentelemetry.io/docs/specs/semconv/gen-ai/
httpExperimentalHttpInstrumentationfalseIf 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/
messagingExperimentalMessagingInstrumentationfalseIf omitted, defaults as described in ExperimentalMessagingInstrumentation are used.No constraints.Configure instrumentations following the messaging semantic conventions.
See messaging semantic conventions: https://opentelemetry.io/docs/specs/semconv/messaging/
rpcExperimentalRpcInstrumentationfalseIf omitted, defaults as described in ExperimentalRpcInstrumentation are used.No constraints.Configure instrumentations following the RPC semantic conventions.
See RPC semantic conventions: https://opentelemetry.io/docs/specs/semconv/rpc/
sanitizationExperimentalSanitizationfalseIf omitted, defaults as described in ExperimentalSanitization are used.No constraints.Configure general sanitization options.
stability_opt_in_listone of:
* string
* null
falseIf omitted or null, no opt-in is configured and instrumentations continue emitting their default semantic convention version.No constraints.Configure semantic convention stability opt-in as a comma-separated list.
This property follows the format and semantics of the OTEL_SEMCONV_STABILITY_OPT_IN environment variable.
Controls the emission of stable vs. experimental semantic conventions for instrumentation.
This setting is only intended for migrating from experimental to stable semantic conventions.

Known values include:
- http: Emit stable HTTP and networking conventions only
- http/dup: Emit both old and stable HTTP and networking conventions (for phased migration)
- database: Emit stable database conventions only
- database/dup: Emit both old and stable database conventions (for phased migration)
- rpc: Emit stable RPC conventions only
- rpc/dup: Emit both experimental and stable RPC conventions (for phased migration)
- messaging: Emit stable messaging conventions only
- messaging/dup: Emit both old and stable messaging conventions (for phased migration)
- code: Emit stable code conventions only
- code/dup: Emit both old and stable code conventions (for phased migration)

Multiple values can be specified as a comma-separated list (e.g., "http,database/dup").
Additional signal types may be supported in future versions.

Domain-specific semconv properties (e.g., .instrumentation/development.general.db.semconv) take precedence over this general setting.

See:
- HTTP migration: https://opentelemetry.io/docs/specs/semconv/non-normative/http-migration/
- Database migration: https://opentelemetry.io/docs/specs/semconv/database/
- RPC: https://opentelemetry.io/docs/specs/semconv/rpc/
- Messaging: https://opentelemetry.io/docs/specs/semconv/messaging/messaging-spans/
Language support status
Propertycppgojavajsphp
codenot_applicablenot_implementedsupportedunknownsupported
dbnot_applicablenot_implementedsupportedunknownsupported
gen_ainot_applicablenot_implementedsupportedunknownsupported
httpnot_applicablenot_implementedsupportedunknownsupported
messagingnot_applicablenot_implementedsupportedunknownsupported
rpcnot_applicablenot_implementedsupportedunknownsupported
sanitizationnot_applicablenot_implementedsupportedunknownsupported
stability_opt_in_listnot_applicablenot_implementedsupportedunknownsupported

Constraints:

  • additionalProperties: false

Usages:

Snippets:

Semconv Stability Opt In

Snippet Source File

# Configure semantic convention stability opt-in using a comma-separated list
# This format is compatible with OTEL_SEMCONV_STABILITY_OPT_IN environment variable
stability_opt_in_list: "http,database/dup"

# Alternatively, configure per-domain semconv settings (takes precedence over stability_opt_in_list)
http:
  # Use stable HTTP and networking conventions (latest version)
  semconv:
    version: 1
db:
  # Use stable database conventions and also emit previous version for phased migration
  semconv:
    version: 1
    dual_emit: true
JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "http": {
      "$ref": "#/$defs/ExperimentalHttpInstrumentation",
      "description": "Configure instrumentations following the http semantic conventions.\nSee http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/\nIf omitted, defaults as described in ExperimentalHttpInstrumentation are used.\n"
    },
    "code": {
      "$ref": "#/$defs/ExperimentalCodeInstrumentation",
      "description": "Configure instrumentations following the code semantic conventions.\nSee code semantic conventions: https://opentelemetry.io/docs/specs/semconv/registry/attributes/code/\nIf omitted, defaults as described in ExperimentalCodeInstrumentation are used.\n"
    },
    "db": {
      "$ref": "#/$defs/ExperimentalDbInstrumentation",
      "description": "Configure instrumentations following the database semantic conventions.\nSee database semantic conventions: https://opentelemetry.io/docs/specs/semconv/database/\nIf omitted, defaults as described in ExperimentalDbInstrumentation are used.\n"
    },
    "gen_ai": {
      "$ref": "#/$defs/ExperimentalGenAiInstrumentation",
      "description": "Configure instrumentations following the GenAI semantic conventions.\nSee GenAI semantic conventions: https://opentelemetry.io/docs/specs/semconv/gen-ai/\nIf omitted, defaults as described in ExperimentalGenAiInstrumentation are used.\n"
    },
    "messaging": {
      "$ref": "#/$defs/ExperimentalMessagingInstrumentation",
      "description": "Configure instrumentations following the messaging semantic conventions.\nSee messaging semantic conventions: https://opentelemetry.io/docs/specs/semconv/messaging/\nIf omitted, defaults as described in ExperimentalMessagingInstrumentation are used.\n"
    },
    "rpc": {
      "$ref": "#/$defs/ExperimentalRpcInstrumentation",
      "description": "Configure instrumentations following the RPC semantic conventions.\nSee RPC semantic conventions: https://opentelemetry.io/docs/specs/semconv/rpc/\nIf omitted, defaults as described in ExperimentalRpcInstrumentation are used.\n"
    },
    "sanitization": {
      "$ref": "#/$defs/ExperimentalSanitization",
      "description": "Configure general sanitization options.\nIf omitted, defaults as described in ExperimentalSanitization are used.\n"
    },
    "stability_opt_in_list": {
      "type": [
        "string",
        "null"
      ],
      "description": "Configure semantic convention stability opt-in as a comma-separated list.\nThis property follows the format and semantics of the OTEL_SEMCONV_STABILITY_OPT_IN environment variable.\nControls the emission of stable vs. experimental semantic conventions for instrumentation.\nThis setting is only intended for migrating from experimental to stable semantic conventions.\n\nKnown values include:\n- http: Emit stable HTTP and networking conventions only\n- http/dup: Emit both old and stable HTTP and networking conventions (for phased migration)\n- database: Emit stable database conventions only\n- database/dup: Emit both old and stable database conventions (for phased migration)\n- rpc: Emit stable RPC conventions only\n- rpc/dup: Emit both experimental and stable RPC conventions (for phased migration)\n- messaging: Emit stable messaging conventions only\n- messaging/dup: Emit both old and stable messaging conventions (for phased migration)\n- code: Emit stable code conventions only\n- code/dup: Emit both old and stable code conventions (for phased migration)\n\nMultiple values can be specified as a comma-separated list (e.g., \"http,database/dup\").\nAdditional signal types may be supported in future versions.\n\nDomain-specific semconv properties (e.g., .instrumentation/development.general.db.semconv) take precedence over this general setting.\n\nSee:\n- HTTP migration: https://opentelemetry.io/docs/specs/semconv/non-normative/http-migration/\n- Database migration: https://opentelemetry.io/docs/specs/semconv/database/\n- RPC: https://opentelemetry.io/docs/specs/semconv/rpc/\n- Messaging: https://opentelemetry.io/docs/specs/semconv/messaging/messaging-spans/\nIf omitted or null, no opt-in is configured and instrumentations continue emitting their default semantic convention version.\n"
    }
  }
}

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.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
known_methodsarray of stringfalseIf omitted, HTTP methods GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH are known.* minItems: 0
Override the default list of known HTTP methods.
Known methods are case-sensitive.
This is a full override of the default known methods, not a list of known methods in addition to the defaults.
request_captured_headersarray of stringfalseIf omitted, no outbound request headers are captured.* minItems: 1
Configure headers to capture for outbound http requests.
response_captured_headersarray of stringfalseIf omitted, no inbound response headers are captured.* minItems: 1
Configure headers to capture for inbound http responses.
Language support status
Propertycppgojavajsphp
known_methodsnot_applicablenot_implementedsupportedunknownsupported
request_captured_headersnot_applicablenot_implementedsupportedunknownsupported
response_captured_headersnot_applicablenot_implementedsupportedunknownsupported

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"
      },
      "description": "Configure headers to capture for outbound http requests.\nIf omitted, no outbound request headers are captured.\n"
    },
    "response_captured_headers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      },
      "description": "Configure headers to capture for inbound http responses.\nIf omitted, no inbound response headers are captured.\n"
    },
    "known_methods": {
      "type": "array",
      "minItems": 0,
      "items": {
        "type": "string"
      },
      "description": "Override the default list of known HTTP methods.\nKnown methods are case-sensitive.\nThis is a full override of the default known methods, not a list of known methods in addition to the defaults.\nIf omitted, HTTP methods GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH are known.\n"
    }
  }
}

ExperimentalHttpInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
clientExperimentalHttpClientInstrumentationfalseIf omitted, defaults as described in ExperimentalHttpClientInstrumentation are used.No constraints.Configure instrumentations following the http client semantic conventions.
semconvExperimentalSemconvConfigfalseIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.No constraints.Configure HTTP semantic convention version and migration behavior.

This property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.

See HTTP migration: https://opentelemetry.io/docs/specs/semconv/non-normative/http-migration/
serverExperimentalHttpServerInstrumentationfalseIf omitted, defaults as described in ExperimentalHttpServerInstrumentation are used.No constraints.Configure instrumentations following the http server semantic conventions.
Language support status
Propertycppgojavajsphp
clientnot_applicablenot_implementedsupportedunknownsupported
semconvnot_applicablenot_implementedsupportedunknownsupported
servernot_applicablenot_implementedsupportedunknownsupported

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "semconv": {
      "$ref": "#/$defs/ExperimentalSemconvConfig",
      "description": "Configure HTTP semantic convention version and migration behavior.\n\nThis property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.\n\nSee HTTP migration: https://opentelemetry.io/docs/specs/semconv/non-normative/http-migration/\nIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.\n"
    },
    "client": {
      "$ref": "#/$defs/ExperimentalHttpClientInstrumentation",
      "description": "Configure instrumentations following the http client semantic conventions.\nIf omitted, defaults as described in ExperimentalHttpClientInstrumentation are used.\n"
    },
    "server": {
      "$ref": "#/$defs/ExperimentalHttpServerInstrumentation",
      "description": "Configure instrumentations following the http server semantic conventions.\nIf omitted, defaults as described in ExperimentalHttpServerInstrumentation are used.\n"
    }
  }
}

ExperimentalHttpServerInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
known_methodsarray of stringfalseIf omitted, HTTP methods GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH are known.* minItems: 0
Override the default list of known HTTP methods.
Known methods are case-sensitive.
This is a full override of the default known methods, not a list of known methods in addition to the defaults.
request_captured_headersarray of stringfalseIf omitted, no request headers are captured.* minItems: 1
Configure headers to capture for inbound http requests.
response_captured_headersarray of stringfalseIf omitted, no response headers are captures.* minItems: 1
Configure headers to capture for outbound http responses.
Language support status
Propertycppgojavajsphp
known_methodsnot_applicablenot_implementedsupportedunknownsupported
request_captured_headersnot_applicablenot_implementedsupportedunknownsupported
response_captured_headersnot_applicablenot_implementedsupportedunknownsupported

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"
      },
      "description": "Configure headers to capture for inbound http requests.\nIf omitted, no request headers are captured.\n"
    },
    "response_captured_headers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      },
      "description": "Configure headers to capture for outbound http responses.\nIf omitted, no response headers are captures.\n"
    },
    "known_methods": {
      "type": "array",
      "minItems": 0,
      "items": {
        "type": "string"
      },
      "description": "Override the default list of known HTTP methods.\nKnown methods are case-sensitive.\nThis is a full override of the default known methods, not a list of known methods in addition to the defaults.\nIf omitted, HTTP methods GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH are known.\n"
    }
  }
}

ExperimentalInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
cppExperimentalLanguageSpecificInstrumentationfalseIf omitted, instrumentation defaults are used.No constraints.Configure C++ language-specific instrumentation libraries.
dotnetExperimentalLanguageSpecificInstrumentationfalseIf 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.
erlangExperimentalLanguageSpecificInstrumentationfalseIf 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.
generalExperimentalGeneralInstrumentationfalseIf 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..
goExperimentalLanguageSpecificInstrumentationfalseIf 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.
javaExperimentalLanguageSpecificInstrumentationfalseIf 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.
jsExperimentalLanguageSpecificInstrumentationfalseIf 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.
phpExperimentalLanguageSpecificInstrumentationfalseIf 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.
pythonExperimentalLanguageSpecificInstrumentationfalseIf 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.
rubyExperimentalLanguageSpecificInstrumentationfalseIf 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.
rustExperimentalLanguageSpecificInstrumentationfalseIf 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.
swiftExperimentalLanguageSpecificInstrumentationfalseIf 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
Propertycppgojavajsphp
cppnot_applicablenot_implementednot_applicableunknownnot_applicable
dotnetnot_applicablenot_implementednot_applicableunknownnot_applicable
erlangnot_applicablenot_implementednot_applicableunknownnot_applicable
generalnot_applicablenot_implementedsupportedunknownsupported
gonot_applicablenot_implementednot_applicableunknownnot_applicable
javanot_applicablenot_implementedsupportedunknownnot_applicable
jsnot_applicablenot_implementednot_applicableunknownnot_applicable
phpnot_applicablenot_implementednot_applicableunknownsupported
pythonnot_applicablenot_implementednot_applicableunknownnot_applicable
rubynot_applicablenot_implementednot_applicableunknownnot_applicable
rustnot_applicablenot_implementednot_applicableunknownnot_applicable
swiftnot_applicablenot_implementednot_applicableunknownnot_applicable

Constraints:

  • additionalProperties: false

Usages:

Snippets:

Kitchen Sink

Snippet Source File

general:
  http:
    semconv:
      version: 1
      experimental: true
      dual_emit: true
    client:
      request_captured_headers:
        - Content-Type
        - Accept
      response_captured_headers:
        - Content-Type
        - Content-Encoding
      known_methods:
        - CONNECT
        - DELETE
        - GET
        - HEAD
        - OPTIONS
        - PATCH
        - POST
        - PUT
        - TRACE
    server:
      request_captured_headers:
        - Content-Type
        - Accept
      response_captured_headers:
        - Content-Type
        - Content-Encoding
      known_methods:
        - CONNECT
        - DELETE
        - GET
        - HEAD
        - OPTIONS
        - PATCH
        - POST
        - PUT
        - TRACE
  db:
    semconv:
      version: 1
      experimental: false
      dual_emit: false
  rpc:
    semconv:
      version: 1
      experimental: false
      dual_emit: true
  messaging:
    semconv:
      version: 1
      experimental: true
      dual_emit: false
  sanitization:
    url:
      sensitive_query_parameters:
        - AWSAccessKeyId
        - Signature
        - sig
        - X-Goog-Signature
  # Domain-specific semconv sections above (http, db, etc.) take precedence over this general setting.
  stability_opt_in_list: "http/dup,database"
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",
      "description": "Configure general SemConv options that may apply to multiple languages and instrumentations.\nInstrumenation may merge general config options with the language specific configuration at .instrumentation..\nIf omitted, default values as described in ExperimentalGeneralInstrumentation are used.\n"
    },
    "cpp": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure C++ language-specific instrumentation libraries.\nIf omitted, instrumentation defaults are used.\n"
    },
    "dotnet": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure .NET language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "erlang": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure Erlang language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "go": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure Go language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "java": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure Java language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "js": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure JavaScript language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "php": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure PHP language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "python": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure Python language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "ruby": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure Ruby language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "rust": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure Rust language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    },
    "swift": {
      "$ref": "#/$defs/ExperimentalLanguageSpecificInstrumentation",
      "description": "Configure Swift language-specific instrumentation libraries.\nEach entry's key identifies a particular instrumentation library. The corresponding value configures it.\nIf omitted, instrumentation defaults are used.\n"
    }
  }
}

ExperimentalJaegerRemoteSampler

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
endpointstringtrueProperty is required and must be non-null.No constraints.Configure the endpoint of the jaeger remote sampling service.
initial_samplerSamplertrueProperty is required and must be non-null.No constraints.Configure the initial sampler used before first configuration is fetched.
intervalone of:
* integer
* null
falseIf omitted or null, 60000 is used.* minimum: 0
Configure the polling interval (in milliseconds) to fetch from the remote sampling service.
Language support status
Propertycppgojavajsphp
endpointnot_implementednot_implementedsupportedunknownnot_implemented
initial_samplernot_implementednot_implementedsupportedunknownnot_implemented
intervalnot_implementednot_implementedsupportedunknownnot_implemented

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"
      ],
      "description": "Configure the endpoint of the jaeger remote sampling service.\nProperty is required and must be non-null.\n"
    },
    "interval": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Configure the polling interval (in milliseconds) to fetch from the remote sampling service.\nIf omitted or null, 60000 is used.\n"
    },
    "initial_sampler": {
      "$ref": "#/$defs/Sampler",
      "description": "Configure the initial sampler used before first configuration is fetched.\nProperty is required and must be non-null.\n"
    }
  },
  "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.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
enabledone of:
* boolean
* null
falseIf omitted or null, true is used.No constraints.Configure if the logger is enabled or not.
minimum_severitySeverityNumberfalseIf 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_basedone of:
* boolean
* null
falseIf 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
Propertycppgojavajsphp
enablednot_implementedunknownsupportedunknownsupported
minimum_severitynot_implementedunknownsupportedunknownnot_implemented
trace_basednot_implementedunknownsupportedunknownnot_implemented

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "enabled": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Configure if the logger is enabled or not.\nIf omitted or null, true is used.\n"
    },
    "minimum_severity": {
      "$ref": "#/$defs/SeverityNumber",
      "description": "Configure severity filtering.\nLog records with an non-zero (i.e. unspecified) severity number which is less than minimum_severity are not processed.\nValues include:\n* debug: debug, severity number 5.\n* debug2: debug2, severity number 6.\n* debug3: debug3, severity number 7.\n* debug4: debug4, severity number 8.\n* error: error, severity number 17.\n* error2: error2, severity number 18.\n* error3: error3, severity number 19.\n* error4: error4, severity number 20.\n* fatal: fatal, severity number 21.\n* fatal2: fatal2, severity number 22.\n* fatal3: fatal3, severity number 23.\n* fatal4: fatal4, severity number 24.\n* info: info, severity number 9.\n* info2: info2, severity number 10.\n* info3: info3, severity number 11.\n* info4: info4, severity number 12.\n* trace: trace, severity number 1.\n* trace2: trace2, severity number 2.\n* trace3: trace3, severity number 3.\n* trace4: trace4, severity number 4.\n* warn: warn, severity number 13.\n* warn2: warn2, severity number 14.\n* warn3: warn3, severity number 15.\n* warn4: warn4, severity number 16.\nIf omitted, severity filtering is not applied.\n"
    },
    "trace_based": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Configure trace based filtering.\nIf 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.\nIf omitted or null, trace based filtering is not applied.\n"
    }
  }
}

ExperimentalLoggerConfigurator

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
default_configExperimentalLoggerConfigfalseIf 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.
loggersarray of ExperimentalLoggerMatcherAndConfigfalseIf omitted, all loggers use .default_config.* minItems: 1
Configure loggers.
Language support status
Propertycppgojavajsphp
default_configsupportednot_implementedsupportedunknownsupported
loggerssupportednot_implementedsupportedunknownsupported

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",
      "description": "Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers.\nIf omitted, unmatched .loggers use default values as described in ExperimentalLoggerConfig.\n"
    },
    "loggers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalLoggerMatcherAndConfig"
      },
      "description": "Configure loggers.\nIf omitted, all loggers use .default_config.\n"
    }
  }
}

ExperimentalLoggerMatcherAndConfig

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
configExperimentalLoggerConfigtrueProperty is required and must be non-null.No constraints.The logger config.
namestringtrueProperty is required and must be non-null.No constraints.Configure logger names to match. Matching is case-sensitive, 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
Propertycppgojavajsphp
configsupportedunknownsupportedunknownsupported
namesupportedunknownsupportedunknownsupported

Constraints:

  • additionalProperties: false
  • required: ["name","config"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": [
        "string"
      ],
      "description": "Configure logger names to match. Matching is case-sensitive, evaluated as follows:\n\n * If the logger name exactly matches.\n * If the logger name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\nProperty is required and must be non-null.\n"
    },
    "config": {
      "$ref": "#/$defs/ExperimentalLoggerConfig",
      "description": "The logger config.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "name",
    "config"
  ]
}

ExperimentalMessagingInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
semconvExperimentalSemconvConfigfalseIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.No constraints.Configure messaging semantic convention version and migration behavior.

This property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.

See messaging semantic conventions: https://opentelemetry.io/docs/specs/semconv/messaging/
Language support status
Propertycppgojavajsphp
semconvunknownnot_implementedunknownunknownunknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "semconv": {
      "$ref": "#/$defs/ExperimentalSemconvConfig",
      "description": "Configure messaging semantic convention version and migration behavior.\n\nThis property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.\n\nSee messaging semantic conventions: https://opentelemetry.io/docs/specs/semconv/messaging/\nIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.\n"
    }
  }
}

ExperimentalMeterConfig

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
enabledbooleanfalseIf omitted, true is used.No constraints.Configure if the meter is enabled or not.
Language support status
Propertycppgojavajsphp
enabledsupportedunknownsupportedunknownsupported

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "enabled": {
      "type": [
        "boolean"
      ],
      "description": "Configure if the meter is enabled or not.\nIf omitted, true is used.\n"
    }
  }
}

ExperimentalMeterConfigurator

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
default_configExperimentalMeterConfigfalseIf 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.
metersarray of ExperimentalMeterMatcherAndConfigfalseIf omitted, all meters used .default_config.* minItems: 1
Configure meters.
Language support status
Propertycppgojavajsphp
default_configsupportednot_implementedsupportedunknownsupported
meterssupportednot_implementedsupportedunknownsupported

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",
      "description": "Configure the default meter config used there is no matching entry in .meter_configurator/development.meters.\nIf omitted, unmatched .meters use default values as described in ExperimentalMeterConfig.\n"
    },
    "meters": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalMeterMatcherAndConfig"
      },
      "description": "Configure meters.\nIf omitted, all meters used .default_config.\n"
    }
  }
}

ExperimentalMeterMatcherAndConfig

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
configExperimentalMeterConfigtrueProperty is required and must be non-null.No constraints.The meter config.
namestringtrueProperty is required and must be non-null.No constraints.Configure meter names to match. Matching is case-sensitive, 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
Propertycppgojavajsphp
configsupportedunknownsupportedunknownsupported
namesupportedunknownsupportedunknownsupported

Constraints:

  • additionalProperties: false
  • required: ["name","config"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": [
        "string"
      ],
      "description": "Configure meter names to match. Matching is case-sensitive, evaluated as follows:\n\n * If the meter name exactly matches.\n * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\nProperty is required and must be non-null.\n"
    },
    "config": {
      "$ref": "#/$defs/ExperimentalMeterConfig",
      "description": "The meter config.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "name",
    "config"
  ]
}

ExperimentalOtlpFileExporter

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
output_streamone of:
* string
* null
falseIf 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
Propertycppgojavajsphp
output_streamsupportednot_implementednot_implementedunknownsupported

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"
      ],
      "description": "Configure output stream. \nValues include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\nIf omitted or null, stdout is used.\n"
    }
  }
}

ExperimentalOtlpFileMetricExporter

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
default_histogram_aggregationExporterDefaultHistogramAggregationfalseIf omitted, explicit_bucket_histogram is used.No constraints.Configure default histogram aggregation.
output_streamone of:
* string
* null
falseIf 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_preferenceExporterTemporalityPreferencefalseIf omitted, cumulative is used.No constraints.Configure temporality preference.
Language support status
Propertycppgojavajsphp
default_histogram_aggregationsupportednot_implementedsupportedunknownnot_implemented
output_streamsupportednot_implementednot_implementedunknownsupported
temporality_preferencesupportednot_implementedsupportedunknownsupported

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"
      ],
      "description": "Configure output stream. \nValues include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\nIf omitted or null, stdout is used.\n"
    },
    "temporality_preference": {
      "$ref": "#/$defs/ExporterTemporalityPreference",
      "description": "Configure temporality preference.\nValues include:\n* cumulative: Use cumulative aggregation temporality for all instrument types.\n* delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n* low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\nIf omitted, cumulative is used.\n"
    },
    "default_histogram_aggregation": {
      "$ref": "#/$defs/ExporterDefaultHistogramAggregation",
      "description": "Configure default histogram aggregation.\nValues include:\n* base2_exponential_bucket_histogram: Use base2 exponential histogram as the default aggregation for histogram instruments.\n* explicit_bucket_histogram: Use explicit bucket histogram as the default aggregation for histogram instruments.\nIf omitted, explicit_bucket_histogram is used.\n"
    }
  }
}

ExperimentalProbabilitySampler

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
ratioone of:
* number
* null
falseIf omitted or null, 1.0 is used.* minimum: 0
* maximum: 1
Configure ratio.
Language support status
Propertycppgojavajsphp
ratioignorednot_implementedsupportedunknownnot_implemented

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,
      "description": "Configure ratio.\nIf omitted or null, 1.0 is used.\n"
    }
  }
}

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.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
hostone of:
* string
* null
falseIf omitted or null, localhost is used.No constraints.Configure host.
portone of:
* integer
* null
falseIf omitted or null, 9464 is used.No constraints.Configure port.
resource_constant_labelsIncludeExcludefalseIf 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.
scope_info_enabledone of:
* boolean
* null
falseIf omitted or null, true is used.No constraints.Configure Prometheus Exporter to produce metrics with scope labels.
translation_strategyExperimentalPrometheusTranslationStrategyfalseIf omitted, underscore_escaping_with_suffixes is used.No constraints.Configure how metric names are translated to Prometheus metric names.
target_info_enabled/development
WARNING: This property is experimental.
one of:
* boolean
* null
falseIf omitted or null, true is used.No constraints.Configure Prometheus Exporter to produce metrics with a target info metric for the resource.
Language support status
Propertycppgojavajsphp
hostsupportedsupportedsupportedunknownnot_implemented
portsupportedsupportedsupportedunknownnot_implemented
resource_constant_labelssupportedsupportedsupportedunknownnot_implemented
scope_info_enabledsupportedsupportedsupportedunknownnot_implemented
translation_strategysupportedsupportednot_implementedunknownnot_implemented
target_info_enabled/developmentsupportedsupportedsupportedunknownnot_implemented

Constraints:

  • additionalProperties: false

Usages:

Snippets:

Kitchen Sink

Snippet Source File

host: localhost
port: 9464
scope_info_enabled: true
target_info_enabled/development: true
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"
      ],
      "description": "Configure host.\nIf omitted or null, localhost is used.\n"
    },
    "port": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Configure port.\nIf omitted or null, 9464 is used.\n"
    },
    "scope_info_enabled": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Configure Prometheus Exporter to produce metrics with scope labels.\nIf omitted or null, true is used.\n"
    },
    "target_info_enabled/development": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Configure Prometheus Exporter to produce metrics with a target info metric for the resource.\nIf omitted or null, true is used.\n"
    },
    "resource_constant_labels": {
      "$ref": "#/$defs/IncludeExclude",
      "description": "Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns.\nIf omitted, no resource attributes are added.\n"
    },
    "translation_strategy": {
      "$ref": "#/$defs/ExperimentalPrometheusTranslationStrategy",
      "description": "Configure how metric names are translated to Prometheus metric names.\nValues include:\n* no_translation/development: Special character escaping is disabled. Type and unit suffixes are disabled. Metric names are unaltered.\n* no_utf8_escaping_with_suffixes/development: Special character escaping is disabled. Type and unit suffixes are enabled.\n* underscore_escaping_with_suffixes: Special character escaping is enabled. Type and unit suffixes are enabled.\n* underscore_escaping_without_suffixes/development: Special character escaping is enabled. Type and unit suffixes are disabled. This represents classic Prometheus metric name compatibility.\nIf omitted, underscore_escaping_with_suffixes is used.\n"
    }
  }
}

ExperimentalPrometheusTranslationStrategy

Warning

This type is experimental.

This is a enum type.

ValueDescription
no_translation/developmentSpecial character escaping is disabled. Type and unit suffixes are disabled. Metric names are unaltered.
no_utf8_escaping_with_suffixes/developmentSpecial character escaping is disabled. Type and unit suffixes are enabled.
underscore_escaping_with_suffixesSpecial character escaping is enabled. Type and unit suffixes are enabled.
underscore_escaping_without_suffixes/developmentSpecial character escaping is enabled. Type and unit suffixes are disabled. This represents classic Prometheus metric name compatibility.
Language support status
Valuecppgojavajsphp
no_translation/developmentnot_implementedsupportednot_implementedunknownnot_implemented
no_utf8_escaping_with_suffixes/developmentnot_implementedsupportednot_implementedunknownnot_implemented
underscore_escaping_with_suffixessupportedsupportednot_implementedunknownnot_implemented
underscore_escaping_without_suffixes/developmentsupportedsupportednot_implementedunknownnot_implemented

No constraints.

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

ExperimentalResourceDetection

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
attributesIncludeExcludefalseIf omitted, all attributes from resource detectors are added.No constraints.Configure attributes provided by resource detectors.
detectorsarray of ExperimentalResourceDetectorfalseIf 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
Propertycppgojavajsphp
attributesnot_implementedsupportedsupportedunknownsupported
detectorsnot_implementedsupportedsupportedunknownsupported

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "attributes": {
      "$ref": "#/$defs/IncludeExclude",
      "description": "Configure attributes provided by resource detectors.\nIf omitted, all attributes from resource detectors are added.\n"
    },
    "detectors": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalResourceDetector"
      },
      "description": "Configure resource detectors.\nResource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language. \nIf omitted, no resource detectors are enabled.\n"
    }
  }
}

ExperimentalResourceDetector

Warning

This type is experimental.

ExperimentalResourceDetector is an SDK extension plugin.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
containerExperimentalContainerResourceDetectorfalseIf omitted, ignore.No constraints.Enable the container resource detector, which populates container.* attributes.
hostExperimentalHostResourceDetectorfalseIf omitted, ignore.No constraints.Enable the host resource detector, which populates host.* and os.* attributes.
processExperimentalProcessResourceDetectorfalseIf omitted, ignore.No constraints.Enable the process resource detector, which populates process.* attributes.
serviceExperimentalServiceResourceDetectorfalseIf 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
Propertycppgojavajsphp
containernot_implementedsupportedsupportedunknownignored
hostnot_implementedsupportedsupportedunknownsupported
processnot_implementedsupportedsupportedunknownsupported
servicenot_implementedsupportedsupportedunknownsupported

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",
      "description": "Enable the container resource detector, which populates container.* attributes.\nIf omitted, ignore.\n"
    },
    "host": {
      "$ref": "#/$defs/ExperimentalHostResourceDetector",
      "description": "Enable the host resource detector, which populates host.* and os.* attributes.\nIf omitted, ignore.\n"
    },
    "process": {
      "$ref": "#/$defs/ExperimentalProcessResourceDetector",
      "description": "Enable the process resource detector, which populates process.* attributes.\nIf omitted, ignore.\n"
    },
    "service": {
      "$ref": "#/$defs/ExperimentalServiceResourceDetector",
      "description": "Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.\nIf omitted, ignore.\n"
    }
  }
}

ExperimentalRpcInstrumentation

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
semconvExperimentalSemconvConfigfalseIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.No constraints.Configure RPC semantic convention version and migration behavior.

This property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.

See RPC semantic conventions: https://opentelemetry.io/docs/specs/semconv/rpc/
Language support status
Propertycppgojavajsphp
semconvunknownnot_implementedunknownunknownunknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "semconv": {
      "$ref": "#/$defs/ExperimentalSemconvConfig",
      "description": "Configure RPC semantic convention version and migration behavior.\n\nThis property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.\n\nSee RPC semantic conventions: https://opentelemetry.io/docs/specs/semconv/rpc/\nIf omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.\n"
    }
  }
}

ExperimentalSanitization

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
urlExperimentalUrlSanitizationfalseIf omitted, defaults as described in ExperimentalUrlSanitization are used.No constraints.Configure URL sanitization options.
Language support status
Propertycppgojavajsphp
urlunknownunknownunknownunknownunknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "url": {
      "$ref": "#/$defs/ExperimentalUrlSanitization",
      "description": "Configure URL sanitization options.\nIf omitted, defaults as described in ExperimentalUrlSanitization are used.\n"
    }
  }
}

ExperimentalSemconvConfig

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
dual_emitone of:
* boolean
* null
falseIf omitted or null, false is used.No constraints.When true, also emit the previous major version alongside the target version.
For version=1, the previous version refers to the pre-stable conventions that the instrumentation emitted before the first stable semantic convention version was defined.
For version=2 and above, the previous version is the prior stable major version (e.g., version=2, dual_emit=true emits both v2 and v1).
Enables dual-emit for phased migration between versions.
experimentalone of:
* boolean
* null
falseIf omitted or null, false is used.No constraints.Use latest experimental semantic conventions (before stable is available or to enable experimental features on top of stable conventions).
versionone of:
* integer
* null
falseIf omitted or null, the latest stable version is used, or if no stable version is available and .experimental is true then the latest experimental version is used.* minimum: 0
The target semantic convention version for this domain (e.g., 1).
Language support status
Propertycppgojavajsphp
dual_emitunknownunknownunknownunknownunknown
experimentalunknownunknownunknownunknownunknown
versionunknownunknownunknownunknownunknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "version": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "The target semantic convention version for this domain (e.g., 1).\nIf omitted or null, the latest stable version is used, or if no stable version is available and .experimental is true then the latest experimental version is used.\n"
    },
    "experimental": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Use latest experimental semantic conventions (before stable is available or to enable experimental features on top of stable conventions).\nIf omitted or null, false is used.\n"
    },
    "dual_emit": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "When true, also emit the previous major version alongside the target version.\nFor version=1, the previous version refers to the pre-stable conventions that the instrumentation emitted before the first stable semantic convention version was defined.\nFor version=2 and above, the previous version is the prior stable major version (e.g., version=2, dual_emit=true emits both v2 and v1).\nEnables dual-emit for phased migration between versions.\nIf omitted or null, false is used.\n"
    }
  }
}

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.

ValueDescription
locallocal, a local parent.
nonenone, no parent, i.e., the trace root.
remoteremote, a remote parent.
Language support status
Valuecppgojavajsphp
localnot_implementedunknownsupportedunknownnot_implemented
nonenot_implementedunknownsupportedunknownnot_implemented
remotenot_implementedunknownsupportedunknownnot_implemented

No constraints.

Usages:

No snippets.

JSON Schema

JSON Schema Source File

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

ExperimentalTracerConfig

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
enabledbooleanfalseIf omitted, true is used.No constraints.Configure if the tracer is enabled or not.
Language support status
Propertycppgojavajsphp
enabledsupportedunknownsupportedunknownsupported

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "enabled": {
      "type": [
        "boolean"
      ],
      "description": "Configure if the tracer is enabled or not.\nIf omitted, true is used.\n"
    }
  }
}

ExperimentalTracerConfigurator

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
default_configExperimentalTracerConfigfalseIf 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.
tracersarray of ExperimentalTracerMatcherAndConfigfalseIf omitted, all tracers use .default_config.* minItems: 1
Configure tracers.
Language support status
Propertycppgojavajsphp
default_configsupportednot_implementedsupportedunknownsupported
tracerssupportednot_implementedsupportedunknownsupported

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",
      "description": "Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers.\nIf omitted, unmatched .tracers use default values as described in ExperimentalTracerConfig.\n"
    },
    "tracers": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ExperimentalTracerMatcherAndConfig"
      },
      "description": "Configure tracers.\nIf omitted, all tracers use .default_config.\n"
    }
  }
}

ExperimentalTracerMatcherAndConfig

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
configExperimentalTracerConfigtrueProperty is required and must be non-null.No constraints.The tracer config.
namestringtrueProperty is required and must be non-null.No constraints.Configure tracer names to match. Matching is case-sensitive, evaluated as follows:

* If the tracer name exactly matches.
* If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
Language support status
Propertycppgojavajsphp
configsupportedunknownsupportedunknownsupported
namesupportedunknownsupportedunknownsupported

Constraints:

  • additionalProperties: false
  • required: ["name","config"]

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": [
    "object"
  ],
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": [
        "string"
      ],
      "description": "Configure tracer names to match. Matching is case-sensitive, evaluated as follows:\n\n * If the tracer name exactly matches.\n * If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\nProperty is required and must be non-null.\n"
    },
    "config": {
      "$ref": "#/$defs/ExperimentalTracerConfig",
      "description": "The tracer config.\nProperty is required and must be non-null.\n"
    }
  },
  "required": [
    "name",
    "config"
  ]
}

ExperimentalUrlSanitization

Warning

This type is experimental.

PropertyTypeRequired?Default and Null BehaviorConstraintsDescription
sensitive_query_parametersarray of stringfalseIf omitted, the default sensitive query parameter list as defined by the url semantic conventions (https://github.com/open-telemetry/semantic-conventions/blob/main/docs/registry/attributes/url.md) is used.* minItems: 0
List of query parameter names whose values should be redacted from URLs.
Query parameter names are case-sensitive.
This is a full override of the default sensitive query parameter keys, it is not a list of keys in addition to the defaults.
Set to an empty array to disable query parameter redaction.
Language support status
Propertycppgojavajsphp
sensitive_query_parametersunknownunknownunknownunknownunknown

Constraints:

  • additionalProperties: false

Usages:

No snippets.

JSON Schema

JSON Schema Source File

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "sensitive_query_parameters": {
      "type": "array",
      "minItems": 0,
      "items": {
        "type": "string"
      },
      "description": "List of query parameter names whose values should be redacted from URLs.\nQuery parameter names are case-sensitive.\nThis is a full override of the default sensitive query parameter keys, it is not a list of keys in addition to the defaults.\nSet to an empty array to disable query parameter redaction.\nIf omitted, the default sensitive query parameter list as defined by the url semantic conventions (https://github.com/open-telemetry/semantic-conventions/blob/main/docs/registry/attributes/url.md) is used.\n"
    }
  }
}

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.