@opentelemetry/configuration 0.218.0 → 0.220.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,70 @@
27
27
  * * warn4: warn4, severity number 16.
28
28
  * If omitted, INFO is used.
29
29
  */
30
- export type SeverityNumber = 'trace' | 'trace2' | 'trace3' | 'trace4' | 'debug' | 'debug2' | 'debug3' | 'debug4' | 'info' | 'info2' | 'info3' | 'info4' | 'warn' | 'warn2' | 'warn3' | 'warn4' | 'error' | 'error2' | 'error3' | 'error4' | 'fatal' | 'fatal2' | 'fatal3' | 'fatal4';
30
+ export type SeverityNumber = ('trace' | 'trace2' | 'trace3' | 'trace4' | 'debug' | 'debug2' | 'debug3' | 'debug4' | 'info' | 'info2' | 'info3' | 'info4' | 'warn' | 'warn2' | 'warn3' | 'warn4' | 'error' | 'error2' | 'error3' | 'error4' | 'fatal' | 'fatal2' | 'fatal3' | 'fatal4') | null;
31
+ /**
32
+ * Configure exporter to be OTLP with HTTP transport.
33
+ * If omitted, ignore.
34
+ */
35
+ export type OtlpHttpExporter = {
36
+ /**
37
+ * Configure endpoint, including the signal specific path.
38
+ * If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.
39
+ */
40
+ endpoint?: string | null;
41
+ tls?: HttpTls;
42
+ /**
43
+ * Configure headers. Entries have higher priority than entries from .headers_list.
44
+ * If an entry's .value is null, the entry is ignored.
45
+ * If omitted, no headers are added.
46
+ *
47
+ * @minItems 1
48
+ */
49
+ headers?: NameStringValuePair[];
50
+ /**
51
+ * Configure headers. Entries have lower priority than entries from .headers.
52
+ * 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.
53
+ * If omitted or null, no headers are added.
54
+ */
55
+ headers_list?: string | null;
56
+ /**
57
+ * Configure compression.
58
+ * Known values include: gzip, none. Implementations may support other compression algorithms.
59
+ * If omitted or null, none is used.
60
+ */
61
+ compression?: string | null;
62
+ /**
63
+ * Configure max time (in milliseconds) to wait for each export.
64
+ * Value must be non-negative. A value of 0 indicates no limit (infinity).
65
+ * If omitted or null, 10000 is used.
66
+ */
67
+ timeout?: number | null;
68
+ encoding?: OtlpHttpEncoding;
69
+ } | null;
70
+ /**
71
+ * Configure TLS settings for the exporter.
72
+ * If omitted, system default TLS settings are used.
73
+ */
74
+ export type HttpTls = {
75
+ /**
76
+ * Configure certificate used to verify a server's TLS credentials.
77
+ * Absolute path to certificate file in PEM format.
78
+ * If omitted or null, system default certificate verification is used for secure connections.
79
+ */
80
+ ca_file?: string | null;
81
+ /**
82
+ * Configure mTLS private client key.
83
+ * Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
84
+ * If omitted or null, mTLS is not used.
85
+ */
86
+ key_file?: string | null;
87
+ /**
88
+ * Configure mTLS client certificate.
89
+ * Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
90
+ * If omitted or null, mTLS is not used.
91
+ */
92
+ cert_file?: string | null;
93
+ } | null;
31
94
  /**
32
95
  * Configure the encoding used for messages.
33
96
  * Implementations may not support json.
@@ -36,7 +99,138 @@ export type SeverityNumber = 'trace' | 'trace2' | 'trace3' | 'trace4' | 'debug'
36
99
  * * protobuf: Protobuf binary encoding.
37
100
  * If omitted, protobuf is used.
38
101
  */
39
- export type OtlpHttpEncoding = 'protobuf' | 'json';
102
+ export type OtlpHttpEncoding = ('protobuf' | 'json') | null;
103
+ /**
104
+ * Configure exporter to be OTLP with gRPC transport.
105
+ * If omitted, ignore.
106
+ */
107
+ export type OtlpGrpcExporter = {
108
+ /**
109
+ * Configure endpoint.
110
+ * If omitted or null, http://localhost:4317 is used.
111
+ */
112
+ endpoint?: string | null;
113
+ tls?: GrpcTls;
114
+ /**
115
+ * Configure headers. Entries have higher priority than entries from .headers_list.
116
+ * If an entry's .value is null, the entry is ignored.
117
+ * If omitted, no headers are added.
118
+ *
119
+ * @minItems 1
120
+ */
121
+ headers?: NameStringValuePair[];
122
+ /**
123
+ * Configure headers. Entries have lower priority than entries from .headers.
124
+ * 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.
125
+ * If omitted or null, no headers are added.
126
+ */
127
+ headers_list?: string | null;
128
+ /**
129
+ * Configure compression.
130
+ * Known values include: gzip, none. Implementations may support other compression algorithms.
131
+ * If omitted or null, none is used.
132
+ */
133
+ compression?: string | null;
134
+ /**
135
+ * Configure max time (in milliseconds) to wait for each export.
136
+ * Value must be non-negative. A value of 0 indicates no limit (infinity).
137
+ * If omitted or null, 10000 is used.
138
+ */
139
+ timeout?: number | null;
140
+ } | null;
141
+ /**
142
+ * Configure TLS settings for the exporter.
143
+ * If omitted, system default TLS settings are used.
144
+ */
145
+ export type GrpcTls = {
146
+ /**
147
+ * Configure certificate used to verify a server's TLS credentials.
148
+ * Absolute path to certificate file in PEM format.
149
+ * If omitted or null, system default certificate verification is used for secure connections.
150
+ */
151
+ ca_file?: string | null;
152
+ /**
153
+ * Configure mTLS private client key.
154
+ * Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
155
+ * If omitted or null, mTLS is not used.
156
+ */
157
+ key_file?: string | null;
158
+ /**
159
+ * Configure mTLS client certificate.
160
+ * Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
161
+ * If omitted or null, mTLS is not used.
162
+ */
163
+ cert_file?: string | null;
164
+ /**
165
+ * Configure client transport security for the exporter's connection.
166
+ * Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.
167
+ * If omitted or null, false is used.
168
+ */
169
+ insecure?: boolean | null;
170
+ } | null;
171
+ /**
172
+ * Configure exporter to be OTLP with file transport.
173
+ * If omitted, ignore.
174
+ */
175
+ export type ExperimentalOtlpFileExporter = {
176
+ /**
177
+ * Configure output stream.
178
+ * Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
179
+ * If omitted or null, stdout is used.
180
+ */
181
+ output_stream?: string | null;
182
+ } | null;
183
+ /**
184
+ * Configure exporter to be console.
185
+ * If omitted, ignore.
186
+ */
187
+ export type ConsoleExporter = {} | null;
188
+ /**
189
+ * Configure an event to span event bridge log record processor.
190
+ * If omitted, ignore.
191
+ */
192
+ export type ExperimentalEventToSpanEventBridgeLogRecordProcessor = {} | null;
193
+ /**
194
+ * Configure exporter to be OTLP with HTTP transport.
195
+ * If omitted, ignore.
196
+ */
197
+ export type OtlpHttpMetricExporter = {
198
+ /**
199
+ * Configure endpoint.
200
+ * If omitted or null, http://localhost:4318/v1/metrics is used.
201
+ */
202
+ endpoint?: string | null;
203
+ tls?: HttpTls;
204
+ /**
205
+ * Configure headers. Entries have higher priority than entries from .headers_list.
206
+ * If an entry's .value is null, the entry is ignored.
207
+ * If omitted, no headers are added.
208
+ *
209
+ * @minItems 1
210
+ */
211
+ headers?: NameStringValuePair[];
212
+ /**
213
+ * Configure headers. Entries have lower priority than entries from .headers.
214
+ * 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.
215
+ * If omitted or null, no headers are added.
216
+ */
217
+ headers_list?: string | null;
218
+ /**
219
+ * Configure compression.
220
+ * Known values include: gzip, none. Implementations may support other compression algorithms.
221
+ * If omitted or null, none is used.
222
+ */
223
+ compression?: string | null;
224
+ /**
225
+ * Configure max time (in milliseconds) to wait for each export.
226
+ * Value must be non-negative. A value of 0 indicates no limit (infinity).
227
+ * If omitted or null, 10000 is used.
228
+ */
229
+ timeout?: number | null;
230
+ encoding?: OtlpHttpEncoding;
231
+ temporality_preference?: ExporterTemporalityPreference;
232
+ default_histogram_aggregation?: ExporterDefaultHistogramAggregation;
233
+ } | null;
40
234
  /**
41
235
  * Configure temporality preference.
42
236
  * Values include:
@@ -45,7 +239,7 @@ export type OtlpHttpEncoding = 'protobuf' | 'json';
45
239
  * * low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.
46
240
  * If omitted, cumulative is used.
47
241
  */
48
- export type ExporterTemporalityPreference = 'cumulative' | 'delta' | 'low_memory';
242
+ export type ExporterTemporalityPreference = ('cumulative' | 'delta' | 'low_memory') | null;
49
243
  /**
50
244
  * Configure default histogram aggregation.
51
245
  * Values include:
@@ -53,7 +247,102 @@ export type ExporterTemporalityPreference = 'cumulative' | 'delta' | 'low_memory
53
247
  * * explicit_bucket_histogram: Use explicit bucket histogram as the default aggregation for histogram instruments.
54
248
  * If omitted, explicit_bucket_histogram is used.
55
249
  */
56
- export type ExporterDefaultHistogramAggregation = 'explicit_bucket_histogram' | 'base2_exponential_bucket_histogram';
250
+ export type ExporterDefaultHistogramAggregation = ('explicit_bucket_histogram' | 'base2_exponential_bucket_histogram') | null;
251
+ /**
252
+ * Configure exporter to be OTLP with gRPC transport.
253
+ * If omitted, ignore.
254
+ */
255
+ export type OtlpGrpcMetricExporter = {
256
+ /**
257
+ * Configure endpoint.
258
+ * If omitted or null, http://localhost:4317 is used.
259
+ */
260
+ endpoint?: string | null;
261
+ tls?: GrpcTls;
262
+ /**
263
+ * Configure headers. Entries have higher priority than entries from .headers_list.
264
+ * If an entry's .value is null, the entry is ignored.
265
+ * If omitted, no headers are added.
266
+ *
267
+ * @minItems 1
268
+ */
269
+ headers?: NameStringValuePair[];
270
+ /**
271
+ * Configure headers. Entries have lower priority than entries from .headers.
272
+ * 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.
273
+ * If omitted or null, no headers are added.
274
+ */
275
+ headers_list?: string | null;
276
+ /**
277
+ * Configure compression.
278
+ * Known values include: gzip, none. Implementations may support other compression algorithms.
279
+ * If omitted or null, none is used.
280
+ */
281
+ compression?: string | null;
282
+ /**
283
+ * Configure max time (in milliseconds) to wait for each export.
284
+ * Value must be non-negative. A value of 0 indicates no limit (infinity).
285
+ * If omitted or null, 10000 is used.
286
+ */
287
+ timeout?: number | null;
288
+ temporality_preference?: ExporterTemporalityPreference;
289
+ default_histogram_aggregation?: ExporterDefaultHistogramAggregation;
290
+ } | null;
291
+ /**
292
+ * Configure exporter to be OTLP with file transport.
293
+ * If omitted, ignore.
294
+ */
295
+ export type ExperimentalOtlpFileMetricExporter = {
296
+ /**
297
+ * Configure output stream.
298
+ * Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
299
+ * If omitted or null, stdout is used.
300
+ */
301
+ output_stream?: string | null;
302
+ temporality_preference?: ExporterTemporalityPreference;
303
+ default_histogram_aggregation?: ExporterDefaultHistogramAggregation;
304
+ } | null;
305
+ /**
306
+ * Configure exporter to be console.
307
+ * If omitted, ignore.
308
+ */
309
+ export type ConsoleMetricExporter = {
310
+ temporality_preference?: ExporterTemporalityPreference;
311
+ default_histogram_aggregation?: ExporterDefaultHistogramAggregation;
312
+ } | null;
313
+ /**
314
+ * Configure metric producer to be opencensus.
315
+ * If omitted, ignore.
316
+ */
317
+ export type OpenCensusMetricProducer = {} | null;
318
+ /**
319
+ * Configure exporter to be prometheus.
320
+ * If omitted, ignore.
321
+ */
322
+ export type ExperimentalPrometheusMetricExporter = {
323
+ /**
324
+ * Configure host.
325
+ * If omitted or null, localhost is used.
326
+ */
327
+ host?: string | null;
328
+ /**
329
+ * Configure port.
330
+ * If omitted or null, 9464 is used.
331
+ */
332
+ port?: number | null;
333
+ /**
334
+ * Configure Prometheus Exporter to produce metrics with scope labels.
335
+ * If omitted or null, true is used.
336
+ */
337
+ scope_info_enabled?: boolean | null;
338
+ /**
339
+ * Configure Prometheus Exporter to produce metrics with a target info metric for the resource.
340
+ * If omitted or null, true is used.
341
+ */
342
+ 'target_info_enabled/development'?: boolean | null;
343
+ resource_constant_labels?: IncludeExclude;
344
+ translation_strategy?: ExperimentalPrometheusTranslationStrategy;
345
+ } | null;
57
346
  /**
58
347
  * Configure how metric names are translated to Prometheus metric names.
59
348
  * Values include:
@@ -63,7 +352,7 @@ export type ExporterDefaultHistogramAggregation = 'explicit_bucket_histogram' |
63
352
  * * underscore_escaping_without_suffixes/development: Special character escaping is enabled. Type and unit suffixes are disabled. This represents classic Prometheus metric name compatibility.
64
353
  * If omitted, underscore_escaping_with_suffixes is used.
65
354
  */
66
- export type ExperimentalPrometheusTranslationStrategy = 'underscore_escaping_with_suffixes' | 'underscore_escaping_without_suffixes/development' | 'no_utf8_escaping_with_suffixes/development' | 'no_translation/development';
355
+ export type ExperimentalPrometheusTranslationStrategy = ('underscore_escaping_with_suffixes' | 'underscore_escaping_without_suffixes/development' | 'no_utf8_escaping_with_suffixes/development' | 'no_translation/development') | null;
67
356
  /**
68
357
  * Configure instrument type selection criteria.
69
358
  * Values include:
@@ -76,18 +365,199 @@ export type ExperimentalPrometheusTranslationStrategy = 'underscore_escaping_wit
76
365
  * * up_down_counter: Synchronous up down counter instruments.
77
366
  * If omitted, all instrument types match.
78
367
  */
79
- export type InstrumentType = 'counter' | 'gauge' | 'histogram' | 'observable_counter' | 'observable_gauge' | 'observable_up_down_counter' | 'up_down_counter';
368
+ export type InstrumentType = ('counter' | 'gauge' | 'histogram' | 'observable_counter' | 'observable_gauge' | 'observable_up_down_counter' | 'up_down_counter') | null;
369
+ /**
370
+ * 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.
371
+ * If omitted, ignore.
372
+ */
373
+ export type DefaultAggregation = {} | null;
374
+ /**
375
+ * 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.
376
+ * If omitted, ignore.
377
+ */
378
+ export type DropAggregation = {} | null;
379
+ /**
380
+ * 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
381
+ * If omitted, ignore.
382
+ */
383
+ export type ExplicitBucketHistogramAggregation = {
384
+ /**
385
+ * Configure bucket boundaries.
386
+ * If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.
387
+ *
388
+ * @minItems 0
389
+ */
390
+ boundaries?: number[];
391
+ /**
392
+ * Configure record min and max.
393
+ * If omitted or null, true is used.
394
+ */
395
+ record_min_max?: boolean | null;
396
+ } | null;
397
+ /**
398
+ * 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.
399
+ * If omitted, ignore.
400
+ */
401
+ export type Base2ExponentialBucketHistogramAggregation = {
402
+ /**
403
+ * Configure the max scale factor.
404
+ * If omitted or null, 20 is used.
405
+ */
406
+ max_scale?: number | null;
407
+ /**
408
+ * Configure the maximum number of buckets in each of the positive and negative ranges, not counting the special zero bucket.
409
+ * If omitted or null, 160 is used.
410
+ */
411
+ max_size?: number | null;
412
+ /**
413
+ * Configure whether or not to record min and max.
414
+ * If omitted or null, true is used.
415
+ */
416
+ record_min_max?: boolean | null;
417
+ } | null;
418
+ /**
419
+ * 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.
420
+ * If omitted, ignore.
421
+ */
422
+ export type LastValueAggregation = {} | null;
423
+ /**
424
+ * 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.
425
+ * If omitted, ignore.
426
+ */
427
+ export type SumAggregation = {} | null;
428
+ /**
429
+ * Configure the exemplar filter.
430
+ * Values include:
431
+ * * always_off: ExemplarFilter which makes no measurements eligible for being an Exemplar.
432
+ * * always_on: ExemplarFilter which makes all measurements eligible for being an Exemplar.
433
+ * * trace_based: ExemplarFilter which makes measurements recorded in the context of a sampled parent span eligible for being an Exemplar.
434
+ * If omitted, trace_based is used.
435
+ */
436
+ export type ExemplarFilter = ('always_on' | 'always_off' | 'trace_based') | null;
437
+ /**
438
+ * Include the w3c trace context propagator.
439
+ * If omitted, ignore.
440
+ */
441
+ export type TraceContextPropagator = {} | null;
442
+ /**
443
+ * Include the w3c baggage propagator.
444
+ * If omitted, ignore.
445
+ */
446
+ export type BaggagePropagator = {} | null;
447
+ /**
448
+ * Include the zipkin b3 propagator.
449
+ * If omitted, ignore.
450
+ */
451
+ export type B3Propagator = {} | null;
452
+ /**
453
+ * Include the zipkin b3 multi propagator.
454
+ * If omitted, ignore.
455
+ */
456
+ export type B3MultiPropagator = {} | null;
457
+ /**
458
+ * Configure sampler to be always_off.
459
+ * If omitted, ignore.
460
+ */
461
+ export type AlwaysOffSampler = {} | null;
462
+ /**
463
+ * Configure sampler to be always_on.
464
+ * If omitted, ignore.
465
+ */
466
+ export type AlwaysOnSampler = {} | null;
467
+ /**
468
+ * Configure sampler to be always_off.
469
+ * If omitted, ignore.
470
+ */
471
+ export type ExperimentalComposableAlwaysOffSampler = {} | null;
472
+ /**
473
+ * Configure sampler to be always_on.
474
+ * If omitted, ignore.
475
+ */
476
+ export type ExperimentalComposableAlwaysOnSampler = {} | null;
477
+ /**
478
+ * Configure sampler to be probability.
479
+ * If omitted, ignore.
480
+ */
481
+ export type ExperimentalComposableProbabilitySampler = {
482
+ /**
483
+ * Configure ratio.
484
+ * If omitted or null, 1.0 is used.
485
+ */
486
+ ratio?: number | null;
487
+ } | null;
488
+ /**
489
+ * Configure sampler to be rule_based.
490
+ * If omitted, ignore.
491
+ */
492
+ export type ExperimentalComposableRuleBasedSampler = {
493
+ /**
494
+ * The rules for the sampler, matched in order.
495
+ * Each rule can have multiple match conditions. All conditions must match for the rule to match.
496
+ * If no conditions are specified, the rule matches all spans that reach it.
497
+ * If no rules match, the span is not sampled.
498
+ * If omitted, no span is sampled.
499
+ *
500
+ * @minItems 1
501
+ */
502
+ rules?: ExperimentalComposableRuleBasedSamplerRule[];
503
+ } | null;
504
+ export type SpanKind = ('internal' | 'server' | 'client' | 'producer' | 'consumer') | null;
505
+ export type ExperimentalSpanParent = ('none' | 'remote' | 'local') | null;
506
+ /**
507
+ * Configure sampler to be jaeger_remote.
508
+ * If omitted, ignore.
509
+ */
510
+ export type ExperimentalJaegerRemoteSampler = {
511
+ /**
512
+ * Configure the endpoint of the jaeger remote sampling service.
513
+ * Property is required and must be non-null.
514
+ */
515
+ endpoint: string;
516
+ /**
517
+ * Configure the polling interval (in milliseconds) to fetch from the remote sampling service.
518
+ * If omitted or null, 60000 is used.
519
+ */
520
+ interval?: number | null;
521
+ initial_sampler: Sampler;
522
+ } | null;
523
+ /**
524
+ * Configure sampler to be parent_based.
525
+ * If omitted, ignore.
526
+ */
527
+ export type ParentBasedSampler = {
528
+ root?: Sampler;
529
+ remote_parent_sampled?: Sampler;
530
+ remote_parent_not_sampled?: Sampler;
531
+ local_parent_sampled?: Sampler;
532
+ local_parent_not_sampled?: Sampler;
533
+ } | null;
534
+ /**
535
+ * Configure sampler to be probability.
536
+ * If omitted, ignore.
537
+ */
538
+ export type ExperimentalProbabilitySampler = {
539
+ /**
540
+ * Configure ratio.
541
+ * If omitted or null, 1.0 is used.
542
+ */
543
+ ratio?: number | null;
544
+ } | null;
80
545
  /**
81
- * Configure the exemplar filter.
82
- * Values include:
83
- * * always_off: ExemplarFilter which makes no measurements eligible for being an Exemplar.
84
- * * always_on: ExemplarFilter which makes all measurements eligible for being an Exemplar.
85
- * * trace_based: ExemplarFilter which makes measurements recorded in the context of a sampled parent span eligible for being an Exemplar.
86
- * If omitted, trace_based is used.
546
+ * Configure sampler to be trace_id_ratio_based.
547
+ * If omitted, ignore.
548
+ */
549
+ export type TraceIdRatioBasedSampler = {
550
+ /**
551
+ * Configure trace_id_ratio.
552
+ * If omitted or null, 1.0 is used.
553
+ */
554
+ ratio?: number | null;
555
+ } | null;
556
+ /**
557
+ * Configure the ID generator to randomly generate TraceIds and SpanIds (spec default).
558
+ * If omitted, ignore.
87
559
  */
88
- export type ExemplarFilter = 'always_on' | 'always_off' | 'trace_based';
89
- export type SpanKind = 'internal' | 'server' | 'client' | 'producer' | 'consumer';
90
- export type ExperimentalSpanParent = 'none' | 'remote' | 'local';
560
+ export type RandomIdGenerator = {} | null;
91
561
  /**
92
562
  * The attribute type.
93
563
  * Values include:
@@ -101,7 +571,27 @@ export type ExperimentalSpanParent = 'none' | 'remote' | 'local';
101
571
  * * string_array: String array attribute value.
102
572
  * If omitted, string is used.
103
573
  */
104
- export type AttributeType = 'string' | 'bool' | 'int' | 'double' | 'string_array' | 'bool_array' | 'int_array' | 'double_array';
574
+ export type AttributeType = ('string' | 'bool' | 'int' | 'double' | 'string_array' | 'bool_array' | 'int_array' | 'double_array') | null;
575
+ /**
576
+ * Enable the container resource detector, which populates container.* attributes.
577
+ * If omitted, ignore.
578
+ */
579
+ export type ExperimentalContainerResourceDetector = {} | null;
580
+ /**
581
+ * Enable the host resource detector, which populates host.* and os.* attributes.
582
+ * If omitted, ignore.
583
+ */
584
+ export type ExperimentalHostResourceDetector = {} | null;
585
+ /**
586
+ * Enable the process resource detector, which populates process.* attributes.
587
+ * If omitted, ignore.
588
+ */
589
+ export type ExperimentalProcessResourceDetector = {} | null;
590
+ /**
591
+ * Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.
592
+ * If omitted, ignore.
593
+ */
594
+ export type ExperimentalServiceResourceDetector = {} | null;
105
595
  export interface ConfigurationModel {
106
596
  /**
107
597
  * The file format version.
@@ -115,7 +605,7 @@ export interface ConfigurationModel {
115
605
  * Configure if the SDK is disabled or not.
116
606
  * If omitted or null, false is used.
117
607
  */
118
- disabled?: boolean;
608
+ disabled?: boolean | null;
119
609
  log_level?: SeverityNumber;
120
610
  attribute_limits?: AttributeLimits;
121
611
  logger_provider?: LoggerProvider;
@@ -137,13 +627,13 @@ export interface AttributeLimits {
137
627
  * Value must be non-negative.
138
628
  * If omitted or null, there is no limit.
139
629
  */
140
- attribute_value_length_limit?: number;
630
+ attribute_value_length_limit?: number | null;
141
631
  /**
142
632
  * Configure max attribute count.
143
633
  * Value must be non-negative.
144
634
  * If omitted or null, 128 is used.
145
635
  */
146
- attribute_count_limit?: number;
636
+ attribute_count_limit?: number | null;
147
637
  }
148
638
  /**
149
639
  * Configure logger provider.
@@ -163,7 +653,8 @@ export interface LoggerProvider {
163
653
  export interface LogRecordProcessor {
164
654
  batch?: BatchLogRecordProcessor;
165
655
  simple?: SimpleLogRecordProcessor;
166
- [k: string]: object | undefined;
656
+ 'event_to_span_event_bridge/development'?: ExperimentalEventToSpanEventBridgeLogRecordProcessor;
657
+ [k: string]: object | null | undefined;
167
658
  }
168
659
  /**
169
660
  * Configure a batch log record processor.
@@ -175,23 +666,23 @@ export interface BatchLogRecordProcessor {
175
666
  * Value must be non-negative.
176
667
  * If omitted or null, 1000 is used.
177
668
  */
178
- schedule_delay?: number;
669
+ schedule_delay?: number | null;
179
670
  /**
180
671
  * Configure maximum allowed time (in milliseconds) to export data.
181
672
  * Value must be non-negative. A value of 0 indicates no limit (infinity).
182
673
  * If omitted or null, 30000 is used.
183
674
  */
184
- export_timeout?: number;
675
+ export_timeout?: number | null;
185
676
  /**
186
677
  * Configure maximum queue size. Value must be positive.
187
678
  * If omitted or null, 2048 is used.
188
679
  */
189
- max_queue_size?: number;
680
+ max_queue_size?: number | null;
190
681
  /**
191
682
  * Configure maximum batch size. Value must be positive.
192
683
  * If omitted or null, 512 is used.
193
684
  */
194
- max_export_batch_size?: number;
685
+ max_export_batch_size?: number | null;
195
686
  exporter: LogRecordExporter;
196
687
  }
197
688
  /**
@@ -203,70 +694,7 @@ export interface LogRecordExporter {
203
694
  otlp_grpc?: OtlpGrpcExporter;
204
695
  'otlp_file/development'?: ExperimentalOtlpFileExporter;
205
696
  console?: ConsoleExporter;
206
- [k: string]: object | undefined;
207
- }
208
- /**
209
- * Configure exporter to be OTLP with HTTP transport.
210
- * If omitted, ignore.
211
- */
212
- export interface OtlpHttpExporter {
213
- /**
214
- * Configure endpoint, including the signal specific path.
215
- * If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.
216
- */
217
- endpoint?: string;
218
- tls?: HttpTls;
219
- /**
220
- * Configure headers. Entries have higher priority than entries from .headers_list.
221
- * If an entry's .value is null, the entry is ignored.
222
- * If omitted, no headers are added.
223
- *
224
- * @minItems 1
225
- */
226
- headers?: NameStringValuePair[];
227
- /**
228
- * Configure headers. Entries have lower priority than entries from .headers.
229
- * 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.
230
- * If omitted or null, no headers are added.
231
- */
232
- headers_list?: string;
233
- /**
234
- * Configure compression.
235
- * Known values include: gzip, none. Implementations may support other compression algorithms.
236
- * If omitted or null, none is used.
237
- */
238
- compression?: string;
239
- /**
240
- * Configure max time (in milliseconds) to wait for each export.
241
- * Value must be non-negative. A value of 0 indicates no limit (infinity).
242
- * If omitted or null, 10000 is used.
243
- */
244
- timeout?: number;
245
- encoding?: OtlpHttpEncoding;
246
- }
247
- /**
248
- * Configure TLS settings for the exporter.
249
- * If omitted, system default TLS settings are used.
250
- */
251
- export interface HttpTls {
252
- /**
253
- * Configure certificate used to verify a server's TLS credentials.
254
- * Absolute path to certificate file in PEM format.
255
- * If omitted or null, system default certificate verification is used for secure connections.
256
- */
257
- ca_file?: string;
258
- /**
259
- * Configure mTLS private client key.
260
- * Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
261
- * If omitted or null, mTLS is not used.
262
- */
263
- key_file?: string;
264
- /**
265
- * Configure mTLS client certificate.
266
- * Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
267
- * If omitted or null, mTLS is not used.
268
- */
269
- cert_file?: string;
697
+ [k: string]: object | null | undefined;
270
698
  }
271
699
  export interface NameStringValuePair {
272
700
  /**
@@ -278,93 +706,7 @@ export interface NameStringValuePair {
278
706
  * The value of the pair.
279
707
  * Property must be present, but if null the behavior is dependent on usage context.
280
708
  */
281
- value: string;
282
- }
283
- /**
284
- * Configure exporter to be OTLP with gRPC transport.
285
- * If omitted, ignore.
286
- */
287
- export interface OtlpGrpcExporter {
288
- /**
289
- * Configure endpoint.
290
- * If omitted or null, http://localhost:4317 is used.
291
- */
292
- endpoint?: string;
293
- tls?: GrpcTls;
294
- /**
295
- * Configure headers. Entries have higher priority than entries from .headers_list.
296
- * If an entry's .value is null, the entry is ignored.
297
- * If omitted, no headers are added.
298
- *
299
- * @minItems 1
300
- */
301
- headers?: NameStringValuePair[];
302
- /**
303
- * Configure headers. Entries have lower priority than entries from .headers.
304
- * 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.
305
- * If omitted or null, no headers are added.
306
- */
307
- headers_list?: string;
308
- /**
309
- * Configure compression.
310
- * Known values include: gzip, none. Implementations may support other compression algorithms.
311
- * If omitted or null, none is used.
312
- */
313
- compression?: string;
314
- /**
315
- * Configure max time (in milliseconds) to wait for each export.
316
- * Value must be non-negative. A value of 0 indicates no limit (infinity).
317
- * If omitted or null, 10000 is used.
318
- */
319
- timeout?: number;
320
- }
321
- /**
322
- * Configure TLS settings for the exporter.
323
- * If omitted, system default TLS settings are used.
324
- */
325
- export interface GrpcTls {
326
- /**
327
- * Configure certificate used to verify a server's TLS credentials.
328
- * Absolute path to certificate file in PEM format.
329
- * If omitted or null, system default certificate verification is used for secure connections.
330
- */
331
- ca_file?: string;
332
- /**
333
- * Configure mTLS private client key.
334
- * Absolute path to client key file in PEM format. If set, .client_certificate must also be set.
335
- * If omitted or null, mTLS is not used.
336
- */
337
- key_file?: string;
338
- /**
339
- * Configure mTLS client certificate.
340
- * Absolute path to client certificate file in PEM format. If set, .client_key must also be set.
341
- * If omitted or null, mTLS is not used.
342
- */
343
- cert_file?: string;
344
- /**
345
- * Configure client transport security for the exporter's connection.
346
- * Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.
347
- * If omitted or null, false is used.
348
- */
349
- insecure?: boolean;
350
- }
351
- /**
352
- * Configure exporter to be OTLP with file transport.
353
- * If omitted, ignore.
354
- */
355
- export interface ExperimentalOtlpFileExporter {
356
- /**
357
- * Configure output stream.
358
- * Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
359
- * If omitted or null, stdout is used.
360
- */
361
- output_stream?: string;
362
- }
363
- /**
364
- * Configure exporter to be console.
365
- * If omitted, ignore.
366
- */
367
- export interface ConsoleExporter {
709
+ value: string | null;
368
710
  }
369
711
  /**
370
712
  * Configure a simple log record processor.
@@ -383,13 +725,13 @@ export interface LogRecordLimits {
383
725
  * Value must be non-negative.
384
726
  * If omitted or null, there is no limit.
385
727
  */
386
- attribute_value_length_limit?: number;
728
+ attribute_value_length_limit?: number | null;
387
729
  /**
388
730
  * Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
389
731
  * Value must be non-negative.
390
732
  * If omitted or null, 128 is used.
391
733
  */
392
- attribute_count_limit?: number;
734
+ attribute_count_limit?: number | null;
393
735
  }
394
736
  /**
395
737
  * Configure loggers.
@@ -414,18 +756,18 @@ export interface ExperimentalLoggerConfig {
414
756
  * Configure if the logger is enabled or not.
415
757
  * If omitted or null, true is used.
416
758
  */
417
- enabled?: boolean;
759
+ enabled?: boolean | null;
418
760
  minimum_severity?: SeverityNumber;
419
761
  /**
420
762
  * Configure trace based filtering.
421
763
  * 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.
422
764
  * If omitted or null, trace based filtering is not applied.
423
765
  */
424
- trace_based?: boolean;
766
+ trace_based?: boolean | null;
425
767
  }
426
768
  export interface ExperimentalLoggerMatcherAndConfig {
427
769
  /**
428
- * Configure logger names to match, evaluated as follows:
770
+ * Configure logger names to match. Matching is case-sensitive, evaluated as follows:
429
771
  *
430
772
  * * If the logger name exactly matches.
431
773
  * * If the logger name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
@@ -458,159 +800,55 @@ export interface MeterProvider {
458
800
  'meter_configurator/development'?: ExperimentalMeterConfigurator;
459
801
  }
460
802
  export interface MetricReader {
461
- periodic?: PeriodicMetricReader;
462
- pull?: PullMetricReader;
463
- }
464
- /**
465
- * Configure a periodic metric reader.
466
- * If omitted, ignore.
467
- */
468
- export interface PeriodicMetricReader {
469
- /**
470
- * Configure delay interval (in milliseconds) between start of two consecutive exports.
471
- * Value must be non-negative.
472
- * If omitted or null, 60000 is used.
473
- */
474
- interval?: number;
475
- /**
476
- * Configure maximum allowed time (in milliseconds) to export data.
477
- * Value must be non-negative. A value of 0 indicates no limit (infinity).
478
- * If omitted or null, 30000 is used.
479
- */
480
- timeout?: number;
481
- exporter: PushMetricExporter;
482
- /**
483
- * Configure metric producers.
484
- * If omitted, no metric producers are added.
485
- *
486
- * @minItems 1
487
- */
488
- producers?: MetricProducer[];
489
- cardinality_limits?: CardinalityLimits;
490
- }
491
- /**
492
- * Configure exporter.
493
- * Property is required and must be non-null.
494
- */
495
- export interface PushMetricExporter {
496
- otlp_http?: OtlpHttpMetricExporter;
497
- otlp_grpc?: OtlpGrpcMetricExporter;
498
- 'otlp_file/development'?: ExperimentalOtlpFileMetricExporter;
499
- console?: ConsoleMetricExporter;
500
- [k: string]: object | undefined;
501
- }
502
- /**
503
- * Configure exporter to be OTLP with HTTP transport.
504
- * If omitted, ignore.
505
- */
506
- export interface OtlpHttpMetricExporter {
507
- /**
508
- * Configure endpoint.
509
- * If omitted or null, http://localhost:4318/v1/metrics is used.
510
- */
511
- endpoint?: string;
512
- tls?: HttpTls;
513
- /**
514
- * Configure headers. Entries have higher priority than entries from .headers_list.
515
- * If an entry's .value is null, the entry is ignored.
516
- * If omitted, no headers are added.
517
- *
518
- * @minItems 1
519
- */
520
- headers?: NameStringValuePair[];
521
- /**
522
- * Configure headers. Entries have lower priority than entries from .headers.
523
- * 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.
524
- * If omitted or null, no headers are added.
525
- */
526
- headers_list?: string;
527
- /**
528
- * Configure compression.
529
- * Known values include: gzip, none. Implementations may support other compression algorithms.
530
- * If omitted or null, none is used.
531
- */
532
- compression?: string;
533
- /**
534
- * Configure max time (in milliseconds) to wait for each export.
535
- * Value must be non-negative. A value of 0 indicates no limit (infinity).
536
- * If omitted or null, 10000 is used.
537
- */
538
- timeout?: number;
539
- encoding?: OtlpHttpEncoding;
540
- temporality_preference?: ExporterTemporalityPreference;
541
- default_histogram_aggregation?: ExporterDefaultHistogramAggregation;
542
- }
543
- /**
544
- * Configure exporter to be OTLP with gRPC transport.
545
- * If omitted, ignore.
546
- */
547
- export interface OtlpGrpcMetricExporter {
548
- /**
549
- * Configure endpoint.
550
- * If omitted or null, http://localhost:4317 is used.
551
- */
552
- endpoint?: string;
553
- tls?: GrpcTls;
554
- /**
555
- * Configure headers. Entries have higher priority than entries from .headers_list.
556
- * If an entry's .value is null, the entry is ignored.
557
- * If omitted, no headers are added.
558
- *
559
- * @minItems 1
560
- */
561
- headers?: NameStringValuePair[];
803
+ periodic?: PeriodicMetricReader;
804
+ pull?: PullMetricReader;
805
+ }
806
+ /**
807
+ * Configure a periodic metric reader.
808
+ * If omitted, ignore.
809
+ */
810
+ export interface PeriodicMetricReader {
562
811
  /**
563
- * Configure headers. Entries have lower priority than entries from .headers.
564
- * 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.
565
- * If omitted or null, no headers are added.
812
+ * Configure delay interval (in milliseconds) between start of two consecutive exports.
813
+ * Value must be non-negative.
814
+ * If omitted or null, 60000 is used.
566
815
  */
567
- headers_list?: string;
816
+ interval?: number | null;
568
817
  /**
569
- * Configure compression.
570
- * Known values include: gzip, none. Implementations may support other compression algorithms.
571
- * If omitted or null, none is used.
818
+ * Configure maximum allowed time (in milliseconds) to export data.
819
+ * Value must be non-negative. A value of 0 indicates no limit (infinity).
820
+ * If omitted or null, 30000 is used.
572
821
  */
573
- compression?: string;
822
+ timeout?: number | null;
574
823
  /**
575
- * Configure max time (in milliseconds) to wait for each export.
576
- * Value must be non-negative. A value of 0 indicates no limit (infinity).
577
- * If omitted or null, 10000 is used.
824
+ * Configure maximum export batch size.
825
+ * If omitted or null, no limit is used.
578
826
  */
579
- timeout?: number;
580
- temporality_preference?: ExporterTemporalityPreference;
581
- default_histogram_aggregation?: ExporterDefaultHistogramAggregation;
582
- }
583
- /**
584
- * Configure exporter to be OTLP with file transport.
585
- * If omitted, ignore.
586
- */
587
- export interface ExperimentalOtlpFileMetricExporter {
827
+ 'max_export_batch_size/development'?: number | null;
828
+ exporter: PushMetricExporter;
588
829
  /**
589
- * Configure output stream.
590
- * Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.
591
- * If omitted or null, stdout is used.
830
+ * Configure metric producers.
831
+ * If omitted, no metric producers are added.
832
+ *
833
+ * @minItems 1
592
834
  */
593
- output_stream?: string;
594
- temporality_preference?: ExporterTemporalityPreference;
595
- default_histogram_aggregation?: ExporterDefaultHistogramAggregation;
835
+ producers?: MetricProducer[];
836
+ cardinality_limits?: CardinalityLimits;
596
837
  }
597
838
  /**
598
- * Configure exporter to be console.
599
- * If omitted, ignore.
839
+ * Configure exporter.
840
+ * Property is required and must be non-null.
600
841
  */
601
- export interface ConsoleMetricExporter {
602
- temporality_preference?: ExporterTemporalityPreference;
603
- default_histogram_aggregation?: ExporterDefaultHistogramAggregation;
842
+ export interface PushMetricExporter {
843
+ otlp_http?: OtlpHttpMetricExporter;
844
+ otlp_grpc?: OtlpGrpcMetricExporter;
845
+ 'otlp_file/development'?: ExperimentalOtlpFileMetricExporter;
846
+ console?: ConsoleMetricExporter;
847
+ [k: string]: object | null | undefined;
604
848
  }
605
849
  export interface MetricProducer {
606
850
  opencensus?: OpenCensusMetricProducer;
607
- [k: string]: object | undefined;
608
- }
609
- /**
610
- * Configure metric producer to be opencensus.
611
- * If omitted, ignore.
612
- */
613
- export interface OpenCensusMetricProducer {
851
+ [k: string]: object | null | undefined;
614
852
  }
615
853
  /**
616
854
  * Configure cardinality limits.
@@ -622,42 +860,42 @@ export interface CardinalityLimits {
622
860
  * Instrument-specific cardinality limits take priority.
623
861
  * If omitted or null, 2000 is used.
624
862
  */
625
- default?: number;
863
+ default?: number | null;
626
864
  /**
627
865
  * Configure default cardinality limit for counter instruments.
628
866
  * If omitted or null, the value from .default is used.
629
867
  */
630
- counter?: number;
868
+ counter?: number | null;
631
869
  /**
632
870
  * Configure default cardinality limit for gauge instruments.
633
871
  * If omitted or null, the value from .default is used.
634
872
  */
635
- gauge?: number;
873
+ gauge?: number | null;
636
874
  /**
637
875
  * Configure default cardinality limit for histogram instruments.
638
876
  * If omitted or null, the value from .default is used.
639
877
  */
640
- histogram?: number;
878
+ histogram?: number | null;
641
879
  /**
642
880
  * Configure default cardinality limit for observable_counter instruments.
643
881
  * If omitted or null, the value from .default is used.
644
882
  */
645
- observable_counter?: number;
883
+ observable_counter?: number | null;
646
884
  /**
647
885
  * Configure default cardinality limit for observable_gauge instruments.
648
886
  * If omitted or null, the value from .default is used.
649
887
  */
650
- observable_gauge?: number;
888
+ observable_gauge?: number | null;
651
889
  /**
652
890
  * Configure default cardinality limit for observable_up_down_counter instruments.
653
891
  * If omitted or null, the value from .default is used.
654
892
  */
655
- observable_up_down_counter?: number;
893
+ observable_up_down_counter?: number | null;
656
894
  /**
657
895
  * Configure default cardinality limit for up_down_counter instruments.
658
896
  * If omitted or null, the value from .default is used.
659
897
  */
660
- up_down_counter?: number;
898
+ up_down_counter?: number | null;
661
899
  }
662
900
  /**
663
901
  * Configure a pull based metric reader.
@@ -680,35 +918,7 @@ export interface PullMetricReader {
680
918
  */
681
919
  export interface PullMetricExporter {
682
920
  'prometheus/development'?: ExperimentalPrometheusMetricExporter;
683
- [k: string]: object | undefined;
684
- }
685
- /**
686
- * Configure exporter to be prometheus.
687
- * If omitted, ignore.
688
- */
689
- export interface ExperimentalPrometheusMetricExporter {
690
- /**
691
- * Configure host.
692
- * If omitted or null, localhost is used.
693
- */
694
- host?: string;
695
- /**
696
- * Configure port.
697
- * If omitted or null, 9464 is used.
698
- */
699
- port?: number;
700
- /**
701
- * Configure Prometheus Exporter to produce metrics without scope labels.
702
- * If omitted or null, false is used.
703
- */
704
- without_scope_info?: boolean;
705
- /**
706
- * Configure Prometheus Exporter to produce metrics without a target info metric for the resource.
707
- * If omitted or null, false is used.
708
- */
709
- 'without_target_info/development'?: boolean;
710
- with_resource_constant_labels?: IncludeExclude;
711
- translation_strategy?: ExperimentalPrometheusTranslationStrategy;
921
+ [k: string]: object | null | undefined;
712
922
  }
713
923
  /**
714
924
  * Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns.
@@ -717,7 +927,7 @@ export interface ExperimentalPrometheusMetricExporter {
717
927
  export interface IncludeExclude {
718
928
  /**
719
929
  * Configure list of value patterns to include.
720
- * Values are evaluated to match as follows:
930
+ * Matching is case-sensitive. Values are evaluated to match as follows:
721
931
  * * If the value exactly matches.
722
932
  * * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
723
933
  * If omitted, all values are included.
@@ -727,7 +937,7 @@ export interface IncludeExclude {
727
937
  included?: string[];
728
938
  /**
729
939
  * Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).
730
- * Values are evaluated to match as follows:
940
+ * Matching is case-sensitive. Values are evaluated to match as follows:
731
941
  * * If the value exactly matches.
732
942
  * * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
733
943
  * If omitted, .included attributes are included.
@@ -750,28 +960,28 @@ export interface ViewSelector {
750
960
  * Configure instrument name selection criteria.
751
961
  * If omitted or null, all instrument names match.
752
962
  */
753
- instrument_name?: string;
963
+ instrument_name?: string | null;
754
964
  instrument_type?: InstrumentType;
755
965
  /**
756
966
  * Configure the instrument unit selection criteria.
757
967
  * If omitted or null, all instrument units match.
758
968
  */
759
- unit?: string;
969
+ unit?: string | null;
760
970
  /**
761
971
  * Configure meter name selection criteria.
762
972
  * If omitted or null, all meter names match.
763
973
  */
764
- meter_name?: string;
974
+ meter_name?: string | null;
765
975
  /**
766
976
  * Configure meter version selection criteria.
767
977
  * If omitted or null, all meter versions match.
768
978
  */
769
- meter_version?: string;
979
+ meter_version?: string | null;
770
980
  /**
771
981
  * Configure meter schema url selection criteria.
772
982
  * If omitted or null, all meter schema URLs match.
773
983
  */
774
- meter_schema_url?: string;
984
+ meter_schema_url?: string | null;
775
985
  }
776
986
  /**
777
987
  * Configure view stream.
@@ -782,18 +992,18 @@ export interface ViewStream {
782
992
  * Configure metric name of the resulting stream(s).
783
993
  * If omitted or null, the instrument's original name is used.
784
994
  */
785
- name?: string;
995
+ name?: string | null;
786
996
  /**
787
997
  * Configure metric description of the resulting stream(s).
788
998
  * If omitted or null, the instrument's origin description is used.
789
999
  */
790
- description?: string;
1000
+ description?: string | null;
791
1001
  aggregation?: Aggregation;
792
1002
  /**
793
1003
  * Configure the aggregation cardinality limit.
794
1004
  * If omitted or null, the metric reader's default cardinality limit is used.
795
1005
  */
796
- aggregation_cardinality_limit?: number;
1006
+ aggregation_cardinality_limit?: number | null;
797
1007
  attribute_keys?: IncludeExclude;
798
1008
  }
799
1009
  /**
@@ -808,69 +1018,6 @@ export interface Aggregation {
808
1018
  last_value?: LastValueAggregation;
809
1019
  sum?: SumAggregation;
810
1020
  }
811
- /**
812
- * 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.
813
- * If omitted, ignore.
814
- */
815
- export interface DefaultAggregation {
816
- }
817
- /**
818
- * 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.
819
- * If omitted, ignore.
820
- */
821
- export interface DropAggregation {
822
- }
823
- /**
824
- * 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
825
- * If omitted, ignore.
826
- */
827
- export interface ExplicitBucketHistogramAggregation {
828
- /**
829
- * Configure bucket boundaries.
830
- * If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.
831
- *
832
- * @minItems 0
833
- */
834
- boundaries?: number[];
835
- /**
836
- * Configure record min and max.
837
- * If omitted or null, true is used.
838
- */
839
- record_min_max?: boolean;
840
- }
841
- /**
842
- * 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.
843
- * If omitted, ignore.
844
- */
845
- export interface Base2ExponentialBucketHistogramAggregation {
846
- /**
847
- * Configure the max scale factor.
848
- * If omitted or null, 20 is used.
849
- */
850
- max_scale?: number;
851
- /**
852
- * Configure the maximum number of buckets in each of the positive and negative ranges, not counting the special zero bucket.
853
- * If omitted or null, 160 is used.
854
- */
855
- max_size?: number;
856
- /**
857
- * Configure whether or not to record min and max.
858
- * If omitted or null, true is used.
859
- */
860
- record_min_max?: boolean;
861
- }
862
- /**
863
- * 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.
864
- * If omitted, ignore.
865
- */
866
- export interface LastValueAggregation {
867
- }
868
- /**
869
- * 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.
870
- * If omitted, ignore.
871
- */
872
- export interface SumAggregation {
873
- }
874
1021
  /**
875
1022
  * Configure meters.
876
1023
  * If omitted, all meters use default values as described in ExperimentalMeterConfig.
@@ -898,7 +1045,7 @@ export interface ExperimentalMeterConfig {
898
1045
  }
899
1046
  export interface ExperimentalMeterMatcherAndConfig {
900
1047
  /**
901
- * Configure meter names to match, evaluated as follows:
1048
+ * Configure meter names to match. Matching is case-sensitive, evaluated as follows:
902
1049
  *
903
1050
  * * If the meter name exactly matches.
904
1051
  * * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
@@ -926,38 +1073,14 @@ export interface Propagator {
926
1073
  * Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi. Known third party identifiers include: xray.
927
1074
  * If omitted or null, and .composite is omitted or null, a noop propagator is used.
928
1075
  */
929
- composite_list?: string;
1076
+ composite_list?: string | null;
930
1077
  }
931
1078
  export interface TextMapPropagator {
932
1079
  tracecontext?: TraceContextPropagator;
933
1080
  baggage?: BaggagePropagator;
934
1081
  b3?: B3Propagator;
935
1082
  b3multi?: B3MultiPropagator;
936
- [k: string]: object | undefined;
937
- }
938
- /**
939
- * Include the w3c trace context propagator.
940
- * If omitted, ignore.
941
- */
942
- export interface TraceContextPropagator {
943
- }
944
- /**
945
- * Include the w3c baggage propagator.
946
- * If omitted, ignore.
947
- */
948
- export interface BaggagePropagator {
949
- }
950
- /**
951
- * Include the zipkin b3 propagator.
952
- * If omitted, ignore.
953
- */
954
- export interface B3Propagator {
955
- }
956
- /**
957
- * Include the zipkin b3 multi propagator.
958
- * If omitted, ignore.
959
- */
960
- export interface B3MultiPropagator {
1083
+ [k: string]: object | null | undefined;
961
1084
  }
962
1085
  /**
963
1086
  * Configure tracer provider.
@@ -973,12 +1096,13 @@ export interface TracerProvider {
973
1096
  processors: SpanProcessor[];
974
1097
  limits?: SpanLimits;
975
1098
  sampler?: Sampler;
1099
+ id_generator?: IdGenerator;
976
1100
  'tracer_configurator/development'?: ExperimentalTracerConfigurator;
977
1101
  }
978
1102
  export interface SpanProcessor {
979
1103
  batch?: BatchSpanProcessor;
980
1104
  simple?: SimpleSpanProcessor;
981
- [k: string]: object | undefined;
1105
+ [k: string]: object | null | undefined;
982
1106
  }
983
1107
  /**
984
1108
  * Configure a batch span processor.
@@ -990,23 +1114,23 @@ export interface BatchSpanProcessor {
990
1114
  * Value must be non-negative.
991
1115
  * If omitted or null, 5000 is used.
992
1116
  */
993
- schedule_delay?: number;
1117
+ schedule_delay?: number | null;
994
1118
  /**
995
1119
  * Configure maximum allowed time (in milliseconds) to export data.
996
1120
  * Value must be non-negative. A value of 0 indicates no limit (infinity).
997
1121
  * If omitted or null, 30000 is used.
998
1122
  */
999
- export_timeout?: number;
1123
+ export_timeout?: number | null;
1000
1124
  /**
1001
1125
  * Configure maximum queue size. Value must be positive.
1002
1126
  * If omitted or null, 2048 is used.
1003
1127
  */
1004
- max_queue_size?: number;
1128
+ max_queue_size?: number | null;
1005
1129
  /**
1006
1130
  * Configure maximum batch size. Value must be positive.
1007
1131
  * If omitted or null, 512 is used.
1008
1132
  */
1009
- max_export_batch_size?: number;
1133
+ max_export_batch_size?: number | null;
1010
1134
  exporter: SpanExporter;
1011
1135
  }
1012
1136
  /**
@@ -1018,7 +1142,7 @@ export interface SpanExporter {
1018
1142
  otlp_grpc?: OtlpGrpcExporter;
1019
1143
  'otlp_file/development'?: ExperimentalOtlpFileExporter;
1020
1144
  console?: ConsoleExporter;
1021
- [k: string]: object | undefined;
1145
+ [k: string]: object | null | undefined;
1022
1146
  }
1023
1147
  /**
1024
1148
  * Configure a simple span processor.
@@ -1037,37 +1161,37 @@ export interface SpanLimits {
1037
1161
  * Value must be non-negative.
1038
1162
  * If omitted or null, there is no limit.
1039
1163
  */
1040
- attribute_value_length_limit?: number;
1164
+ attribute_value_length_limit?: number | null;
1041
1165
  /**
1042
1166
  * Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.
1043
1167
  * Value must be non-negative.
1044
1168
  * If omitted or null, 128 is used.
1045
1169
  */
1046
- attribute_count_limit?: number;
1170
+ attribute_count_limit?: number | null;
1047
1171
  /**
1048
1172
  * Configure max span event count.
1049
1173
  * Value must be non-negative.
1050
1174
  * If omitted or null, 128 is used.
1051
1175
  */
1052
- event_count_limit?: number;
1176
+ event_count_limit?: number | null;
1053
1177
  /**
1054
1178
  * Configure max span link count.
1055
1179
  * Value must be non-negative.
1056
1180
  * If omitted or null, 128 is used.
1057
1181
  */
1058
- link_count_limit?: number;
1182
+ link_count_limit?: number | null;
1059
1183
  /**
1060
1184
  * Configure max attributes per span event.
1061
1185
  * Value must be non-negative.
1062
1186
  * If omitted or null, 128 is used.
1063
1187
  */
1064
- event_attribute_count_limit?: number;
1188
+ event_attribute_count_limit?: number | null;
1065
1189
  /**
1066
1190
  * Configure max attributes per span link.
1067
1191
  * Value must be non-negative.
1068
1192
  * If omitted or null, 128 is used.
1069
1193
  */
1070
- link_attribute_count_limit?: number;
1194
+ link_attribute_count_limit?: number | null;
1071
1195
  }
1072
1196
  /**
1073
1197
  * Configure the sampler.
@@ -1081,19 +1205,7 @@ export interface Sampler {
1081
1205
  parent_based?: ParentBasedSampler;
1082
1206
  'probability/development'?: ExperimentalProbabilitySampler;
1083
1207
  trace_id_ratio_based?: TraceIdRatioBasedSampler;
1084
- [k: string]: object | undefined;
1085
- }
1086
- /**
1087
- * Configure sampler to be always_off.
1088
- * If omitted, ignore.
1089
- */
1090
- export interface AlwaysOffSampler {
1091
- }
1092
- /**
1093
- * Configure sampler to be always_on.
1094
- * If omitted, ignore.
1095
- */
1096
- export interface AlwaysOnSampler {
1208
+ [k: string]: object | null | undefined;
1097
1209
  }
1098
1210
  /**
1099
1211
  * Configure sampler to be composite.
@@ -1105,19 +1217,7 @@ export interface ExperimentalComposableSampler {
1105
1217
  parent_threshold?: ExperimentalComposableParentThresholdSampler;
1106
1218
  probability?: ExperimentalComposableProbabilitySampler;
1107
1219
  rule_based?: ExperimentalComposableRuleBasedSampler;
1108
- [k: string]: object | undefined;
1109
- }
1110
- /**
1111
- * Configure sampler to be always_off.
1112
- * If omitted, ignore.
1113
- */
1114
- export interface ExperimentalComposableAlwaysOffSampler {
1115
- }
1116
- /**
1117
- * Configure sampler to be always_on.
1118
- * If omitted, ignore.
1119
- */
1120
- export interface ExperimentalComposableAlwaysOnSampler {
1220
+ [k: string]: object | null | undefined;
1121
1221
  }
1122
1222
  /**
1123
1223
  * Configure sampler to be parent_threshold.
@@ -1126,33 +1226,6 @@ export interface ExperimentalComposableAlwaysOnSampler {
1126
1226
  export interface ExperimentalComposableParentThresholdSampler {
1127
1227
  root: ExperimentalComposableSampler;
1128
1228
  }
1129
- /**
1130
- * Configure sampler to be probability.
1131
- * If omitted, ignore.
1132
- */
1133
- export interface ExperimentalComposableProbabilitySampler {
1134
- /**
1135
- * Configure ratio.
1136
- * If omitted or null, 1.0 is used.
1137
- */
1138
- ratio?: number;
1139
- }
1140
- /**
1141
- * Configure sampler to be rule_based.
1142
- * If omitted, ignore.
1143
- */
1144
- export interface ExperimentalComposableRuleBasedSampler {
1145
- /**
1146
- * The rules for the sampler, matched in order.
1147
- * Each rule can have multiple match conditions. All conditions must match for the rule to match.
1148
- * If no conditions are specified, the rule matches all spans that reach it.
1149
- * If no rules match, the span is not sampled.
1150
- * If omitted, no span is sampled.
1151
- *
1152
- * @minItems 1
1153
- */
1154
- rules?: ExperimentalComposableRuleBasedSamplerRule[];
1155
- }
1156
1229
  /**
1157
1230
  * A rule for ExperimentalComposableRuleBasedSampler. A rule can have multiple match conditions - the sampler will be applied if all match.
1158
1231
  * If no conditions are specified, the rule matches all spans that reach it.
@@ -1220,7 +1293,7 @@ export interface ExperimentalComposableRuleBasedSamplerRuleAttributePatterns {
1220
1293
  key: string;
1221
1294
  /**
1222
1295
  * Configure list of value patterns to include.
1223
- * Values are evaluated to match as follows:
1296
+ * Matching is case-sensitive. Values are evaluated to match as follows:
1224
1297
  * * If the value exactly matches.
1225
1298
  * * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
1226
1299
  * If omitted, all values are included.
@@ -1230,7 +1303,7 @@ export interface ExperimentalComposableRuleBasedSamplerRuleAttributePatterns {
1230
1303
  included?: string[];
1231
1304
  /**
1232
1305
  * Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).
1233
- * Values are evaluated to match as follows:
1306
+ * Matching is case-sensitive. Values are evaluated to match as follows:
1234
1307
  * * If the value exactly matches.
1235
1308
  * * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
1236
1309
  * If omitted, .included attributes are included.
@@ -1240,54 +1313,12 @@ export interface ExperimentalComposableRuleBasedSamplerRuleAttributePatterns {
1240
1313
  excluded?: string[];
1241
1314
  }
1242
1315
  /**
1243
- * Configure sampler to be jaeger_remote.
1244
- * If omitted, ignore.
1245
- */
1246
- export interface ExperimentalJaegerRemoteSampler {
1247
- /**
1248
- * Configure the endpoint of the jaeger remote sampling service.
1249
- * Property is required and must be non-null.
1250
- */
1251
- endpoint: string;
1252
- /**
1253
- * Configure the polling interval (in milliseconds) to fetch from the remote sampling service.
1254
- * If omitted or null, 60000 is used.
1255
- */
1256
- interval?: number;
1257
- initial_sampler: Sampler;
1258
- }
1259
- /**
1260
- * Configure sampler to be parent_based.
1261
- * If omitted, ignore.
1262
- */
1263
- export interface ParentBasedSampler {
1264
- root?: Sampler;
1265
- remote_parent_sampled?: Sampler;
1266
- remote_parent_not_sampled?: Sampler;
1267
- local_parent_sampled?: Sampler;
1268
- local_parent_not_sampled?: Sampler;
1269
- }
1270
- /**
1271
- * Configure sampler to be probability.
1272
- * If omitted, ignore.
1273
- */
1274
- export interface ExperimentalProbabilitySampler {
1275
- /**
1276
- * Configure ratio.
1277
- * If omitted or null, 1.0 is used.
1278
- */
1279
- ratio?: number;
1280
- }
1281
- /**
1282
- * Configure sampler to be trace_id_ratio_based.
1283
- * If omitted, ignore.
1316
+ * Configure the trace and span ID generator.
1317
+ * If omitted, RandomIdGenerator is used.
1284
1318
  */
1285
- export interface TraceIdRatioBasedSampler {
1286
- /**
1287
- * Configure trace_id_ratio.
1288
- * If omitted or null, 1.0 is used.
1289
- */
1290
- ratio?: number;
1319
+ export interface IdGenerator {
1320
+ random?: RandomIdGenerator;
1321
+ [k: string]: object | null | undefined;
1291
1322
  }
1292
1323
  /**
1293
1324
  * Configure tracers.
@@ -1316,7 +1347,7 @@ export interface ExperimentalTracerConfig {
1316
1347
  }
1317
1348
  export interface ExperimentalTracerMatcherAndConfig {
1318
1349
  /**
1319
- * Configure tracer names to match, evaluated as follows:
1350
+ * Configure tracer names to match. Matching is case-sensitive, evaluated as follows:
1320
1351
  *
1321
1352
  * * If the tracer name exactly matches.
1322
1353
  * * If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.
@@ -1342,13 +1373,13 @@ export interface Resource {
1342
1373
  * Configure resource schema URL.
1343
1374
  * If omitted or null, no schema URL is used.
1344
1375
  */
1345
- schema_url?: string;
1376
+ schema_url?: string | null;
1346
1377
  /**
1347
1378
  * Configure resource attributes. Entries have lower priority than entries from .resource.attributes.
1348
1379
  * 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.
1349
1380
  * If omitted or null, no resource attributes are added.
1350
1381
  */
1351
- attributes_list?: string;
1382
+ attributes_list?: string | null;
1352
1383
  }
1353
1384
  export interface AttributeNameValue {
1354
1385
  /**
@@ -1359,9 +1390,9 @@ export interface AttributeNameValue {
1359
1390
  /**
1360
1391
  * The attribute value.
1361
1392
  * The type of value must match .type.
1362
- * Property is required and must be non-null.
1393
+ * Property must be present, but if null the entry is ignored.
1363
1394
  */
1364
- value: string | number | boolean | string[] | boolean[] | number[];
1395
+ value: string | number | boolean | null | string[] | boolean[] | number[];
1365
1396
  type?: AttributeType;
1366
1397
  }
1367
1398
  /**
@@ -1384,31 +1415,7 @@ export interface ExperimentalResourceDetector {
1384
1415
  host?: ExperimentalHostResourceDetector;
1385
1416
  process?: ExperimentalProcessResourceDetector;
1386
1417
  service?: ExperimentalServiceResourceDetector;
1387
- [k: string]: object | undefined;
1388
- }
1389
- /**
1390
- * Enable the container resource detector, which populates container.* attributes.
1391
- * If omitted, ignore.
1392
- */
1393
- export interface ExperimentalContainerResourceDetector {
1394
- }
1395
- /**
1396
- * Enable the host resource detector, which populates host.* and os.* attributes.
1397
- * If omitted, ignore.
1398
- */
1399
- export interface ExperimentalHostResourceDetector {
1400
- }
1401
- /**
1402
- * Enable the process resource detector, which populates process.* attributes.
1403
- * If omitted, ignore.
1404
- */
1405
- export interface ExperimentalProcessResourceDetector {
1406
- }
1407
- /**
1408
- * Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.
1409
- * If omitted, ignore.
1410
- */
1411
- export interface ExperimentalServiceResourceDetector {
1418
+ [k: string]: object | null | undefined;
1412
1419
  }
1413
1420
  /**
1414
1421
  * Configure instrumentation.
@@ -1471,7 +1478,7 @@ export interface ExperimentalGeneralInstrumentation {
1471
1478
  * - Messaging: https://opentelemetry.io/docs/specs/semconv/messaging/messaging-spans/
1472
1479
  * If omitted or null, no opt-in is configured and instrumentations continue emitting their default semantic convention version.
1473
1480
  */
1474
- stability_opt_in_list?: string;
1481
+ stability_opt_in_list?: string | null;
1475
1482
  }
1476
1483
  /**
1477
1484
  * Configure instrumentations following the http semantic conventions.
@@ -1496,12 +1503,12 @@ export interface ExperimentalSemconvConfig {
1496
1503
  * The target semantic convention version for this domain (e.g., 1).
1497
1504
  * If 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.
1498
1505
  */
1499
- version?: number;
1506
+ version?: number | null;
1500
1507
  /**
1501
1508
  * Use latest experimental semantic conventions (before stable is available or to enable experimental features on top of stable conventions).
1502
1509
  * If omitted or null, false is used.
1503
1510
  */
1504
- experimental?: boolean;
1511
+ experimental?: boolean | null;
1505
1512
  /**
1506
1513
  * When true, also emit the previous major version alongside the target version.
1507
1514
  * 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.
@@ -1509,7 +1516,7 @@ export interface ExperimentalSemconvConfig {
1509
1516
  * Enables dual-emit for phased migration between versions.
1510
1517
  * If omitted or null, false is used.
1511
1518
  */
1512
- dual_emit?: boolean;
1519
+ dual_emit?: boolean | null;
1513
1520
  }
1514
1521
  /**
1515
1522
  * Configure instrumentations following the http client semantic conventions.