-
Notifications
You must be signed in to change notification settings - Fork 128
/
sdk-config.yaml
246 lines (234 loc) · 10.6 KB
/
sdk-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
# Copy of https://github.com/open-telemetry/opentelemetry-configuration/blob/v0.3.0/examples/sdk-config.yaml
# with the following changes:
# - OpenTelemetry Java Agent properties added at .instrumentation.java.
# - OTLP exporter endpoints modified to point to http://collector:4318/v1/{path} to export to collector from docker-compose.yml
# - .tracer_provider.sampler.parent_based.root set to rule_based_routing sampler to demonstrate turning off sampling for spring boot actuator endpoints.
#
# sdk-config.yaml is a typical starting point for configuring the SDK, including exporting to
# localhost via OTLP.
# NOTE: With the exception of env var substitution syntax (i.e. ${MY_ENV}), SDKs ignore
# environment variables when interpreting config files. This including ignoring all env
# vars defined in https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/.
# The file format version.
file_format: "0.3"
# Configure if the SDK is disabled or not. This is not required to be provided to ensure the SDK isn't disabled, the default value when this is not provided is for the SDK to be enabled.
disabled: false
# Configure resource for all signals.
resource:
# Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.
# Entries must contain .name nand .value, and may optionally include .type, which defaults ot "string" if not set. The value 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: unknown_service
# Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.
attribute_limits:
# Configure max attribute value size.
attribute_value_length_limit:
# Configure max attribute count.
attribute_count_limit: 128
# Configure text map context propagators.
propagator:
# Configure the set of propagators to include in the composite text map propagator.
composite: [ tracecontext, baggage ]
# Configure tracer provider.
tracer_provider:
# Configure span processors.
processors:
- # Configure a batch span processor.
batch:
# Configure delay interval (in milliseconds) between two consecutive exports.
schedule_delay: 5000
# Configure maximum allowed time (in milliseconds) to export data.
export_timeout: 30000
# Configure maximum queue size.
max_queue_size: 2048
# Configure maximum batch size.
max_export_batch_size: 512
# Configure exporter.
exporter:
# Configure exporter to be OTLP.
otlp:
# Configure protocol.
protocol: http/protobuf
# Configure endpoint.
endpoint: http://collector:4318/v1/traces
# Configure certificate.
certificate:
# Configure mTLS private client key.
client_key:
# Configure mTLS client certificate.
client_certificate:
# Configure compression.
compression: gzip
# Configure max time (in milliseconds) to wait for each export.
timeout: 10000
# Configure headers. Entries have higher priority than entries from .headers_list.
headers: []
# Configure span limits. See also attribute_limits.
limits:
# Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
attribute_value_length_limit: # Configure max span attribute count. Overrides attribute_limits.attribute_count_limit.
# Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
attribute_count_limit: 128
# Configure max span event count.
event_count_limit: 128
# Configure max span link count.
link_count_limit: 128
# Configure max attributes per span event.
event_attribute_count_limit: 128
# Configure max attributes per span link.
link_attribute_count_limit: 128
# Configure the sampler.
sampler:
# Configure sampler to be parent_based.
parent_based:
# Configure the parent_based sampler's root sampler to be rule_based_routing sampler from https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/samplers.
root:
rule_based_routing:
# Fallback to the always_on sampler if the criteria is not met.
fallback_sampler:
always_on:
# Only apply to SERVER spans.
span_kind: SERVER
rules:
# Drop spans where url.path matches the regex /actuator.* (i.e. spring boot actuator endpoints).
- action: DROP
attribute: url.path
pattern: /actuator.*
# Configure remote_parent_sampled sampler.
remote_parent_sampled:
# Configure sampler to be always_on.
always_on: {}
# Configure remote_parent_not_sampled sampler.
remote_parent_not_sampled:
# Configure sampler to be always_off.
always_off: {}
# Configure local_parent_sampled sampler.
local_parent_sampled:
# Configure sampler to be always_on.
always_on: {}
# Configure local_parent_not_sampled sampler.
local_parent_not_sampled:
# Configure sampler to be always_off.
always_off: {}
# Configure meter provider.
meter_provider:
# Configure metric readers.
readers:
- # Configure a periodic metric reader.
periodic:
# Configure delay interval (in milliseconds) between start of two consecutive exports.
interval: 60000
# Configure maximum allowed time (in milliseconds) to export data.
timeout: 30000
# Configure exporter.
exporter:
# Configure exporter to be OTLP.
otlp:
# Configure protocol.
protocol: http/protobuf
# Configure endpoint.
endpoint: http://collector:4318/v1/metrics
# Configure certificate.
certificate:
# Configure mTLS private client key.
client_key:
# Configure mTLS client certificate.
client_certificate:
# Configure compression.
compression: gzip
# Configure max time (in milliseconds) to wait for each export.
timeout: 10000
# Configure headers. Entries have higher priority than entries from .headers_list.
headers: []
# Configure temporality preference.
temporality_preference: cumulative
# Configure default histogram aggregation.
default_histogram_aggregation: explicit_bucket_histogram
# Configure logger provider.
logger_provider:
# Configure log record processors.
processors:
- # Configure a batch log record processor.
batch:
# Configure delay interval (in milliseconds) between two consecutive exports.
schedule_delay: 1000
# Configure maximum allowed time (in milliseconds) to export data.
export_timeout: 30000
# Configure maximum queue size.
max_queue_size: 2048
# Configure maximum batch size.
max_export_batch_size: 512
# Configure exporter.
exporter:
# Configure exporter to be OTLP.
otlp:
# Configure protocol.
protocol: http/protobuf
# Configure endpoint.
endpoint: http://collector:4318/v1/logs
# Configure certificate.
certificate:
# Configure mTLS private client key.
client_key:
# Configure mTLS client certificate.
client_certificate:
# Configure compression.
compression: gzip
# Configure max time (in milliseconds) to wait for each export.
timeout: 10000
# Configure headers. Entries have higher priority than entries from .headers_list.
headers: []
# Configure log record limits. See also attribute_limits.
limits:
# Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.
attribute_value_length_limit: # Configure max log record attribute count. Overrides attribute_limits.attribute_count_limit.
# Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
attribute_count_limit: 128
# Configure instrumentation.
instrumentation:
# Configure OpenTelemetry Java Agent. A standard translation process is applied to convert the
# flat system properties / env var configuration scheme from https://opentelemetry.io/docs/zero-code/java/agent/
# to the structured scheme used by declarative configuration:
#
# - Resolve properties starting with "otel.instrumentation."
# - Strip the "otel.instrumentation." prefix.
# - Split the remaining property string on "." character to break into segments
# - Starting at .instrumentation.java, follow N-1 segments to resolve the leaf node to read the property from
# - Read segment N from the resolved leaf node
#
# For example, the property "otel.instrumentation.common.default-enabled" is resolved by
# reading: .instrumentation.java.common.default-enabled
#
# Some system properties / env vars cannot be configured via declarative configuration, normally
# because they are resolved in the application lifecycle before declarative configuration is
# available. The set of unsupported properties includes:
# - otel.javaagent.enabled
# - otel.javaagent.configuration-file
# - otel.javaagent.extensions
# - otel.javaagent.logging
# - otel.resource.providers.[provider].enabled
#
# A sample set of OpenTelemetry Java Agent are shown below, with env var substitution references
# reflecting agent defaults. For properties that are not referenced, consult the translation
# steps discussed above.
java:
common:
default-enabled: true
# Configuration logback-appender instrumentation. Properties adapted from:
# https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/java-util-logging/javaagent
java-util-logging:
enabled: true
experimental-log-attributes: false
# Configuration logback-appender instrumentation. Properties adapted from:
# https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/logback/logback-appender-1.0/javaagent
logback-appender:
enabled: true
experimental-log-attributes: false
experimental:
capture-code-attributes: false
capture-marker-attributes: false
capture-key-value-pair-attributes: false
capture-logger-context-attributes: false
capture-arguments: false
capture-mdc-attributes: false