Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
332 changes: 168 additions & 164 deletions opentelemetry_configuration.json

Large diffs are not rendered by default.

789 changes: 397 additions & 392 deletions schema-docs.md

Large diffs are not rendered by default.

43 changes: 24 additions & 19 deletions schema/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ $defs:
Values are evaluated to match as follows:
* If the value exactly matches.
* If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
If omitted, all values are included.
defaultBehavior: all values are included
excluded:
type: array
minItems: 1
Expand All @@ -24,7 +24,7 @@ $defs:
Values are evaluated to match as follows:
* If the value exactly matches.
* If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
If omitted, .included attributes are included.
defaultBehavior: .included attributes are included
NameStringValuePair:
type: object
additionalProperties: false
Expand All @@ -37,6 +37,7 @@ $defs:
- string
- "null"
description: The value of the pair.
nullBehavior: TODO
required:
- name
- value
Expand All @@ -52,10 +53,11 @@ $defs:
- "null"
description: |
Configure endpoint, including the signal specific path.
If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.
defaultBehavior: the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used
tls:
$ref: "#/$defs/HttpTls"
description: Configure TLS settings for the exporter.
defaultBehavior: system default TLS settings are used
headers:
type: array
minItems: 1
Expand All @@ -64,22 +66,23 @@ $defs:
description: |
Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
defaultBehavior: no headers are added
headers_list:
type:
- string
- "null"
description: |
Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
If omitted or null, no headers are added.
defaultBehavior: no headers are added
compression:
type:
- string
- "null"
description: |
Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
If omitted or null, none is used.
defaultBehavior: none is used
timeout:
type:
- integer
Expand All @@ -88,13 +91,13 @@ $defs:
description: |
Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 10000 is used.
defaultBehavior: 10000 is used
encoding:
$ref: "#/$defs/OtlpHttpEncoding"
description: |
Configure the encoding used for messages.
Values include: protobuf, json. Implementations may not support json.
If omitted or null, protobuf is used.
defaultBehavior: protobuf is used
OtlpHttpEncoding:
type:
- string
Expand All @@ -117,10 +120,11 @@ $defs:
- "null"
description: |
Configure endpoint.
If omitted or null, http://localhost:4317 is used.
defaultBehavior: http://localhost:4317 is used
tls:
$ref: "#/$defs/GrpcTls"
description: Configure TLS settings for the exporter.
defaultBehavior: system default TLS settings are used
headers:
type: array
minItems: 1
Expand All @@ -129,22 +133,23 @@ $defs:
description: |
Configure headers. Entries have higher priority than entries from .headers_list.
If an entry's .value is null, the entry is ignored.
defaultBehavior: no headers are added
headers_list:
type:
- string
- "null"
description: |
Configure headers. Entries have lower priority than entries from .headers.
The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.
If omitted or null, no headers are added.
defaultBehavior: no headers are added
compression:
type:
- string
- "null"
description: |
Configure compression.
Values include: gzip, none. Implementations may support other compression algorithms.
If omitted or null, none is used.
defaultBehavior: none is used
timeout:
type:
- integer
Expand All @@ -153,7 +158,7 @@ $defs:
description: |
Configure max time (in milliseconds) to wait for each export.
Value must be non-negative. A value of 0 indicates no limit (infinity).
If omitted or null, 10000 is used.
defaultBehavior: 10000 is used
ExperimentalOtlpFileExporter:
type:
- object
Expand All @@ -167,7 +172,7 @@ $defs:
description: |
Configure output stream.
Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
If omitted or null, stdout is used.
defaultBehavior: stdout is used
ConsoleExporter:
type:
- object
Expand All @@ -186,23 +191,23 @@ $defs:
description: |
Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
If omitted or null, system default certificate verification is used for secure connections.
defaultBehavior: system default certificate verification is used for secure connections
key_file:
type:
- string
- "null"
description: |
Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
If omitted or null, mTLS is not used.
defaultBehavior: mTLS is not used
cert_file:
type:
- string
- "null"
description: |
Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
If omitted or null, mTLS is not used.
defaultBehavior: mTLS is not used
GrpcTls:
type:
- object
Expand All @@ -216,28 +221,28 @@ $defs:
description: |
Configure certificate used to verify a server's TLS credentials.
Absolute path to certificate file in PEM format.
If omitted or null, system default certificate verification is used for secure connections.
defaultBehavior: system default certificate verification is used for secure connections
key_file:
type:
- string
- "null"
description: |
Configure mTLS private client key.
Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
If omitted or null, mTLS is not used.
defaultBehavior: mTLS is not used
cert_file:
type:
- string
- "null"
description: |
Configure mTLS client certificate.
Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
If omitted or null, mTLS is not used.
defaultBehavior: mTLS is not used
insecure:
type:
- boolean
- "null"
description: |
Configure client transport security for the exporter's connection.
Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.
If omitted or null, false is used.
defaultBehavior: false is used
22 changes: 22 additions & 0 deletions schema/instrumentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,59 +6,71 @@ properties:
description: |
Configure general SemConv options that may apply to multiple languages and instrumentations.
Instrumenation may merge general config options with the language specific configuration at .instrumentation.<language>.
defaultBehavior: default values as described in ExperimentalGeneralInstrumentation are used
cpp:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: Configure C++ language-specific instrumentation libraries.
defaultBehavior: instrumentation defaults are used
dotnet:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure .NET language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
erlang:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure Erlang language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
go:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure Go language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
java:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure Java language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
js:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure JavaScript language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
php:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure PHP language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
python:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure Python language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
ruby:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure Ruby language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
rust:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure Rust language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
swift:
$ref: "#/$defs/ExperimentalLanguageSpecificInstrumentation"
description: |
Configure Swift language-specific instrumentation libraries.
Each entry's key identifies a particular instrumentation library. The corresponding value configures it.
defaultBehavior: instrumentation defaults are used
$defs:
ExperimentalGeneralInstrumentation:
type: object
Expand All @@ -69,11 +81,13 @@ $defs:
description: |
Configure instrumentations following the peer semantic conventions.
See peer semantic conventions: https://opentelemetry.io/docs/specs/semconv/attributes-registry/peer/
defaultBehavior: defaults as described in ExperimentalPeerInstrumentation are used
http:
$ref: "#/$defs/ExperimentalHttpInstrumentation"
description: |
Configure instrumentations following the http semantic conventions.
See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/
defaultBehavior: defaults as described in ExperimentalHttpInstrumentation are used
ExperimentalPeerInstrumentation:
type: object
additionalProperties: false
Expand All @@ -86,6 +100,7 @@ $defs:
description: |
Configure the service mapping for instrumentations following peer.service semantic conventions.
See peer.service semantic conventions: https://opentelemetry.io/docs/specs/semconv/general/attributes/#general-remote-service-attributes
defaultBehavior: no peer service mappings are used
ExperimentalPeerServiceMapping:
type: object
additionalProperties: false
Expand All @@ -112,12 +127,15 @@ $defs:
type: string
description: |
Configure headers to capture for outbound http requests.
defaultBehavior: no outbound request headers are captured
response_captured_headers:
type: array
minItems: 1
items:
type: string
description: |
Configure headers to capture for inbound http responses.
defaultBehavior: no inbound response headers are captured
ExperimentalHttpServerInstrumentation:
type: object
additionalProperties: false
Expand All @@ -129,23 +147,27 @@ $defs:
type: string
description: |
Configure headers to capture for inbound http requests.
defaultBehavior: no request headers are captured
response_captured_headers:
type: array
minItems: 1
items:
type: string
description: |
Configure headers to capture for outbound http responses.
defaultBehavior: no response headers are captures
ExperimentalHttpInstrumentation:
type: object
additionalProperties: false
properties:
client:
$ref: "#/$defs/ExperimentalHttpClientInstrumentation"
description: Configure instrumentations following the http client semantic conventions.
defaultBehavior: defaults as described in ExperimentalHttpClientInstrumentation are used
server:
$ref: "#/$defs/ExperimentalHttpServerInstrumentation"
description: Configure instrumentations following the http server semantic conventions.
defaultBehavior: defaults as described in ExperimentalHttpServerInstrumentation are used
ExperimentalLanguageSpecificInstrumentation:
type: object
additionalProperties:
Expand Down
Loading
Loading