-
Notifications
You must be signed in to change notification settings - Fork 17
/
sdk-migration-config.yaml
282 lines (279 loc) · 17.1 KB
/
sdk-migration-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
# sdk-migration-config.yaml is a typical starting point for configuring the SDK when migrating
# from environment variable based configuration.
#
# This template includes env var substitution references (i.e. ${MY_ENV}) for all spec defined
# env vars (https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/)
# which map cleanly to declarative configuration. For example, OTEL_SDK_DISABLED is referenced
# below, but OTEL_TRACES_EXPORTER is not since it does not map well to the hierarchical
# structure of declarative configuration.
#
# NOTE: With the exception of env var substitution syntax, SDKs ignore environment variables
# when interpreting config files. For example, if "disabled: ${OTEL_SDK_DISABLED:-false}"
# is replaced with "disabled: false", then setting the env var OTEL_SDK_DISABLED will have
# no effect. See https://opentelemetry.io/docs/specs/otel/configuration/data-model/
# for more information. The following spec defined env vars are NOT referenced and are thus
# ignored:
#
# - OTEL_LOG_LEVEL
# - OTEL_PROPAGATORS
# - OTEL_TRACES_SAMPLER
# - OTEL_TRACES_SAMPLER_ARG
# - OTEL_EXPORTER_ZIPKIN_ENDPOINT
# - OTEL_EXPORTER_ZIPKIN_TIMEOUT
# - OTEL_EXPORTER_PROMETHEUS_HOST
# - OTEL_EXPORTER_PROMETHEUS_PORT
# - OTEL_TRACES_EXPORTER
# - OTEL_METRICS_EXPORTER
# - OTEL_LOGS_EXPORTER
# - OTEL_EXPORTER_OTLP_PROTOCOL
# - OTEL_EXPORTER_OTLP_ENDPOINT
# - OTEL_EXPORTER_OTLP_INSECURE, OTEL_EXPORTER_OTLP_{SIGNAL}_INSECURE
# - OTEL_EXPORTER_OTLP_CERTIFICATE
# - OTEL_EXPORTER_OTLP_CLIENT_KEY
# - OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE
# - OTEL_EXPORTER_OTLP_COMPRESSION
# - OTEL_EXPORTER_OTLP_TIMEOUT
# The file format version.
# The yaml format is documented at
# https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema
file_format: "0.3"
# Configure if the SDK is disabled or not.
# If omitted or null, false is used.
disabled: ${OTEL_SDK_DISABLED:-false}
# Configure resource for all signals.
# If omitted, the default resource is used.
resource:
# Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
# Entries must contain .name and .value, and may optionally include .type. If an entry's .type omitted or null, string is used.
# The .value's type must match the .type. Values for .type include: string, bool, int, double, string_array, bool_array, int_array, double_array.
attributes:
- name: service.name
value: ${OTEL_SERVICE_NAME:-unknown_service}
# Configure resource attributes. Entries have lower priority than entries from .resource.attributes.
# The value is a list of comma separated key-value pairs matching the format of OTEL_RESOURCE_ATTRIBUTES. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.
# If omitted or null, no resource attributes are added.
attributes_list: ${OTEL_RESOURCE_ATTRIBUTES}
# Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
attribute_limits:
# Configure max attribute value size.
# If omitted or null, there is no limit.
attribute_value_length_limit: ${OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT}
# Configure max attribute count.
# If omitted or null, 128 is used.
attribute_count_limit: ${OTEL_ATTRIBUTE_COUNT_LIMIT:-128}
# Configure text map context propagators.
# If omitted, tracecontext and baggage are used.
propagator:
# Configure the set of propagators to include in the composite text map propagator. Built-in values include: tracecontext, baggage, b3, b3multi, jaeger, none. Known third party values include: xray, ottrace. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration.
composite: [ tracecontext, baggage ]
# Configure tracer provider.
# If omitted, a noop tracer provider is used.
tracer_provider:
# Configure span processors.
processors:
- # Configure a batch span processor.
batch:
# Configure delay interval (in milliseconds) between two consecutive exports.
# If omitted or null, 5000 is used.
schedule_delay: ${OTEL_BSP_SCHEDULE_DELAY:-5000}
# Configure maximum allowed time (in milliseconds) to export data.
# If omitted or null, 30000 is used.
export_timeout: ${OTEL_BSP_EXPORT_TIMEOUT:-30000}
# Configure maximum queue size.
# If omitted or null, 2048 is used.
max_queue_size: ${OTEL_BSP_MAX_QUEUE_SIZE:-2048}
# Configure maximum batch size.
# If omitted or null, 512 is used.
max_export_batch_size: ${OTEL_BSP_MAX_EXPORT_BATCH_SIZE:-512}
# Configure exporter.
exporter:
# Configure exporter to be OTLP.
otlp:
# Configure protocol. Values include: http/protobuf, http/json, grpc.
protocol: ${OTEL_EXPORTER_OTLP_TRACES_PROTOCOL:-http/protobuf}
# Configure endpoint.
# If .protocol is http/protobuf or http/json, the signal specific path must be included (i.e. http://localhost:4318/v1/{signal}). If .protocol is grpc, a path should not be included (i.e. http://localhost:4317).
endpoint: ${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://localhost:4318/v1/traces}
# Configure certificate. Absolute path to certificate file.
# If omitted or null, system default certificate verification is used for secure connections.
certificate: ${OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE}
# Configure mTLS private client key. Absolute path to client key in PEM format. If set, .client_certificate must also be set.
# If omitted or null, mTLS is not used.
client_key: ${OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY}
# Configure mTLS client certificate. Absolute path to certificate file. If set, .client_key must also be set.
# If omitted or null, mTLS is not used.
client_certificate: ${OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE}
# Configure compression. Values include: gzip, none. Implementations may support other compression algorithms.
# If omitted or null, none is used.
compression: ${OTEL_EXPORTER_OTLP_TRACES_COMPRESSION:-gzip}
# Configure max time (in milliseconds) to wait for each export.
# If omitted or null, 10000 is used.
timeout: ${OTEL_EXPORTER_OTLP_TRACES_TIMEOUT:-10000}
# Configure headers. Entries have higher priority than entries from .headers_list.
# If an entry's .value is null, the entry is ignored.
headers: []
# 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.
headers_list: ${OTEL_EXPORTER_OTLP_TRACES_HEADERS}
# Configure span limits. See also attribute_limits.
limits:
# Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
# If omitted or null, there is no limit.
attribute_value_length_limit: ${OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT}
# Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
# If omitted or null, 128 is used.
attribute_count_limit: ${OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT:-128}
# Configure max span event count.
# If omitted or null, 128 is used.
event_count_limit: ${OTEL_SPAN_EVENT_COUNT_LIMIT:-128}
# Configure max span link count.
# If omitted or null, 128 is used.
link_count_limit: ${OTEL_SPAN_LINK_COUNT_LIMIT:-128}
# Configure max attributes per span event.
# If omitted or null, 128 is used.
event_attribute_count_limit: ${OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT:-128}
# Configure max attributes per span link.
# If omitted or null, 128 is used.
link_attribute_count_limit: ${OTEL_LINK_ATTRIBUTE_COUNT_LIMIT:-128}
# Configure the sampler.
# If omitted, parent based sampler with a root of always_on is used.
sampler:
# Configure sampler to be parent_based.
parent_based:
# Configure root sampler.
# If omitted or null, always_on is used.
root:
# Configure sampler to be always_on.
always_on:
# Configure remote_parent_sampled sampler.
# If omitted or null, always_on is used.
remote_parent_sampled:
# Configure sampler to be always_on.
always_on:
# Configure remote_parent_not_sampled sampler.
# If omitted or null, always_off is used.
remote_parent_not_sampled:
# Configure sampler to be always_off.
always_off:
# Configure local_parent_sampled sampler.
# If omitted or null, always_on is used.
local_parent_sampled:
# Configure sampler to be always_on.
always_on:
# Configure local_parent_not_sampled sampler.
# If omitted or null, always_off is used.
local_parent_not_sampled:
# Configure sampler to be always_off.
always_off:
# Configure meter provider.
# If omitted, a noop meter provider is used.
meter_provider:
# Configure metric readers.
readers:
- # Configure a periodic metric reader.
periodic:
# Configure delay interval (in milliseconds) between start of two consecutive exports.
# If omitted or null, 60000 is used.
interval: ${OTEL_METRIC_EXPORT_INTERVAL:-60000}
# Configure maximum allowed time (in milliseconds) to export data.
# If omitted or null, 30000 is used.
timeout: ${OTEL_METRIC_EXPORT_TIMEOUT:-30000}
# Configure exporter.
exporter:
# Configure exporter to be OTLP.
otlp:
# Configure protocol. Values include: http/protobuf, http/json, grpc.
protocol: ${OTEL_EXPORTER_OTLP_METRICS_PROTOCOL:-http/protobuf}
# Configure endpoint.
# If .protocol is http/protobuf or http/json, the signal specific path must be included (i.e. http://localhost:4318/v1/{signal}). If .protocol is grpc, a path should not be included (i.e. http://localhost:4317).
endpoint: ${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics}
# Configure certificate. Absolute path to certificate file.
# If omitted or null, system default certificate verification is used for secure connections.
certificate: ${OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE}
# Configure mTLS private client key. Absolute path to client key in PEM format. If set, .client_certificate must also be set.
# If omitted or null, mTLS is not used.
client_key: ${OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY}
# Configure mTLS client certificate. Absolute path to certificate file. If set, .client_key must also be set.
# If omitted or null, mTLS is not used.
client_certificate: ${OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE}
# Configure compression. Values include: gzip, none. Implementations may support other compression algorithms.
# If omitted or null, none is used.
compression: ${OTEL_EXPORTER_OTLP_METRICS_COMPRESSION:-gzip}
# Configure max time (in milliseconds) to wait for each export.
# If omitted or null, 10000 is used.
timeout: ${OTEL_EXPORTER_OTLP_METRICS_TIMEOUT:-10000}
# Configure headers. Entries have higher priority than entries from .headers_list.
# If an entry's .value is null, the entry is ignored.
headers: []
# 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.
headers_list: ${OTEL_EXPORTER_OTLP_METRICS_HEADERS}
# Configure temporality preference. Values include: cumulative, delta, low_memory. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
# If omitted or null, cumulative is used.
temporality_preference: ${OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE:-cumulative}
# Configure default histogram aggregation. Values include: explicit_bucket_histogram, base2_exponential_bucket_histogram. For behavior of values, see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/otlp.md.
# If omitted or null, explicit_bucket_histogram is used.
default_histogram_aggregation: ${OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION:-explicit_bucket_histogram}
# Configure the exemplar filter. Values include: trace_based, always_on, always_off. For behavior of values see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#metrics-sdk-configuration.
# If omitted or null, trace_based is used.
exemplar_filter: ${OTEL_METRICS_EXEMPLAR_FILTER:-trace_based}
# Configure logger provider.
# If omitted, a noop logger provider is used.
logger_provider:
# Configure log record processors.
processors:
- # Configure a batch log record processor.
batch:
# Configure delay interval (in milliseconds) between two consecutive exports.
# If omitted or null, 1000 is used.
schedule_delay: ${OTEL_BLRP_SCHEDULE_DELAY:-1000}
# Configure maximum allowed time (in milliseconds) to export data.
# If omitted or null, 30000 is used.
export_timeout: ${OTEL_BLRP_EXPORT_TIMEOUT:-30000}
# Configure maximum queue size.
# If omitted or null, 2048 is used.
max_queue_size: ${OTEL_BLRP_MAX_QUEUE_SIZE:-2048}
# Configure maximum batch size.
# If omitted or null, 512 is used.
max_export_batch_size: ${OTEL_BLRP_MAX_EXPORT_BATCH_SIZE:-512}
# Configure exporter.
exporter:
# Configure exporter to be OTLP.
otlp:
# Configure protocol. Values include: http/protobuf, http/json, grpc.
protocol: ${OTEL_EXPORTER_OTLP_LOGS_PROTOCOL:-http/protobuf}
# Configure endpoint.
# If .protocol is http/protobuf or http/json, the signal specific path must be included (i.e. http://localhost:4318/v1/{signal}). If .protocol is grpc, a path should not be included (i.e. http://localhost:4317).
endpoint: ${OTEL_EXPORTER_OTLP_LOGS_ENDPOINT:-http://localhost:4318/v1/logs}
# Configure certificate. Absolute path to certificate file.
# If omitted or null, system default certificate verification is used for secure connections.
certificate: ${OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE}
# Configure mTLS private client key. Absolute path to client key in PEM format. If set, .client_certificate must also be set.
# If omitted or null, mTLS is not used.
client_key: ${OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY}
# Configure mTLS client certificate. Absolute path to certificate file. If set, .client_key must also be set.
# If omitted or null, mTLS is not used.
client_certificate: ${OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE}
# Configure compression. Values include: gzip, none. Implementations may support other compression algorithms.
# If omitted or null, none is used.
compression: ${OTEL_EXPORTER_OTLP_LOGS_COMPRESSION:-gzip}
# Configure max time (in milliseconds) to wait for each export.
# If omitted or null, 10000 is used.
timeout: ${OTEL_EXPORTER_OTLP_LOGS_TIMEOUT:-10000}
# Configure headers. Entries have higher priority than entries from .headers_list.
# If an entry's .value is null, the entry is ignored.
headers: []
# 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.
headers_list: ${OTEL_EXPORTER_OTLP_LOGS_HEADERS}
# Configure log record limits. See also attribute_limits.
limits:
# Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
# If omitted or null, there is no limit.
attribute_value_length_limit: ${OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT}
# Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
# If omitted or null, 128 is used.
attribute_count_limit: ${OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT:-128}