Skip to content

Commit 85f678a

Browse files
authored
Remove Batch LogRecord&Span Processor configuration via non-standard environment variables (#1495)
1 parent 2660047 commit 85f678a

File tree

3 files changed

+19
-82
lines changed

3 files changed

+19
-82
lines changed

opentelemetry-sdk/CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@
3131
- [#1375](https://github.com/open-telemetry/opentelemetry-rust/pull/1375/) Fix metric collections during PeriodicReader shutdown
3232
- **Breaking** [#1480](https://github.com/open-telemetry/opentelemetry-rust/pull/1480) Remove fine grained `BatchConfig` configurations from `BatchLogProcessorBuilder` and `BatchSpanProcessorBuilder`. Use `BatchConfigBuilder` to construct a `BatchConfig` instance and pass it using `BatchLogProcessorBuilder::with_batch_config` or `BatchSpanProcessorBuilder::with_batch_config`.
3333
- **Breaking** [#1480](https://github.com/open-telemetry/opentelemetry-rust/pull/1480) Remove mutating functions from `BatchConfig`, use `BatchConfigBuilder` to construct a `BatchConfig` instance.
34+
- **Breaking** [#1495](https://github.com/open-telemetry/opentelemetry-rust/pull/1495) Remove Batch LogRecord&Span Processor configuration via non-standard environment variables. Use the following table to migrate from the no longer supported non-standard environment variables to the standard ones.
35+
36+
| No longer supported | Standard equivalent |
37+
|---------------------------------|---------------------------|
38+
| OTEL_BLRP_SCHEDULE_DELAY_MILLIS | OTEL_BLRP_SCHEDULE_DELAY |
39+
| OTEL_BLRP_EXPORT_TIMEOUT_MILLIS | OTEL_BLRP_EXPORT_TIMEOUT |
40+
| OTEL_BSP_SCHEDULE_DELAY_MILLIS | OTEL_BSP_SCHEDULE_DELAY |
41+
| OTEL_BSP_EXPORT_TIMEOUT_MILLIS | OTEL_BSP_EXPORT_TIMEOUT |
3442

3543
## v0.21.2
3644

opentelemetry-sdk/src/logs/log_processor.rs

+5-41
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,11 @@ pub struct BatchConfigBuilder {
316316
impl Default for BatchConfigBuilder {
317317
/// Create a new [`BatchConfigBuilder`] initialized with default batch config values as per the specs.
318318
/// The values are overriden by environment variables if set.
319-
/// For a list of supported environment variables see [Batch LogRecord Processor](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#batch-logrecord-processor).
319+
/// The supported environment variables are:
320+
/// * `OTEL_BLRP_MAX_QUEUE_SIZE`
321+
/// * `OTEL_BLRP_SCHEDULE_DELAY`
322+
/// * `OTEL_BLRP_MAX_EXPORT_BATCH_SIZE`
323+
/// * `OTEL_BLRP_EXPORT_TIMEOUT`
320324
fn default() -> Self {
321325
BatchConfigBuilder {
322326
max_queue_size: OTEL_BLRP_MAX_QUEUE_SIZE_DEFAULT,
@@ -396,15 +400,13 @@ impl BatchConfigBuilder {
396400

397401
if let Some(scheduled_delay) = env::var(OTEL_BLRP_SCHEDULE_DELAY)
398402
.ok()
399-
.or_else(|| env::var("OTEL_BLRP_SCHEDULE_DELAY_MILLIS").ok())
400403
.and_then(|delay| u64::from_str(&delay).ok())
401404
{
402405
self.scheduled_delay = Duration::from_millis(scheduled_delay);
403406
}
404407

405408
if let Some(max_export_timeout) = env::var(OTEL_BLRP_EXPORT_TIMEOUT)
406409
.ok()
407-
.or_else(|| env::var("OTEL_BLRP_EXPORT_TIMEOUT_MILLIS").ok())
408410
.and_then(|s| u64::from_str(&s).ok())
409411
{
410412
self.max_export_timeout = Duration::from_millis(max_export_timeout);
@@ -522,44 +524,6 @@ mod tests {
522524
assert_eq!(config.max_export_batch_size, 1024);
523525
}
524526

525-
#[test]
526-
fn test_batch_config_configurable_by_env_vars_millis() {
527-
let env_vars = vec![
528-
("OTEL_BLRP_SCHEDULE_DELAY_MILLIS", Some("3000")),
529-
("OTEL_BLRP_EXPORT_TIMEOUT_MILLIS", Some("70000")),
530-
];
531-
532-
let config = temp_env::with_vars(env_vars, BatchConfig::default);
533-
534-
assert_eq!(config.scheduled_delay, Duration::from_millis(3000));
535-
assert_eq!(config.max_export_timeout, Duration::from_millis(70000));
536-
assert_eq!(config.max_queue_size, OTEL_BLRP_MAX_QUEUE_SIZE_DEFAULT);
537-
assert_eq!(
538-
config.max_export_batch_size,
539-
OTEL_BLRP_MAX_EXPORT_BATCH_SIZE_DEFAULT
540-
);
541-
}
542-
543-
#[test]
544-
fn test_batch_config_configurable_by_env_vars_precedence() {
545-
let env_vars = vec![
546-
(OTEL_BLRP_SCHEDULE_DELAY, Some("2000")),
547-
("OTEL_BLRP_SCHEDULE_DELAY_MILLIS", Some("3000")),
548-
(OTEL_BLRP_EXPORT_TIMEOUT, Some("60000")),
549-
("OTEL_BLRP_EXPORT_TIMEOUT_MILLIS", Some("70000")),
550-
];
551-
552-
let config = temp_env::with_vars(env_vars, BatchConfig::default);
553-
554-
assert_eq!(config.scheduled_delay, Duration::from_millis(2000));
555-
assert_eq!(config.max_export_timeout, Duration::from_millis(60000));
556-
assert_eq!(config.max_queue_size, OTEL_BLRP_MAX_QUEUE_SIZE_DEFAULT);
557-
assert_eq!(
558-
config.max_export_batch_size,
559-
OTEL_BLRP_MAX_EXPORT_BATCH_SIZE_DEFAULT
560-
);
561-
}
562-
563527
#[test]
564528
fn test_batch_config_max_export_batch_size_validation() {
565529
let env_vars = vec![

opentelemetry-sdk/src/trace/span_processor.rs

+6-41
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,12 @@ pub struct BatchConfigBuilder {
553553
impl Default for BatchConfigBuilder {
554554
/// Create a new [`BatchConfigBuilder`] initialized with default batch config values as per the specs.
555555
/// The values are overriden by environment variables if set.
556-
/// For a list of supported environment variables see [Batch LogRecord Processor](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#batch-span-processor).
556+
/// The supported environment variables are:
557+
/// * `OTEL_BSP_MAX_QUEUE_SIZE`
558+
/// * `OTEL_BSP_SCHEDULE_DELAY`
559+
/// * `OTEL_BSP_MAX_EXPORT_BATCH_SIZE`
560+
/// * `OTEL_BSP_EXPORT_TIMEOUT`
561+
/// * `OTEL_BSP_MAX_CONCURRENT_EXPORTS`
557562
fn default() -> Self {
558563
BatchConfigBuilder {
559564
max_queue_size: OTEL_BSP_MAX_QUEUE_SIZE_DEFAULT,
@@ -646,7 +651,6 @@ impl BatchConfigBuilder {
646651

647652
if let Some(scheduled_delay) = env::var(OTEL_BSP_SCHEDULE_DELAY)
648653
.ok()
649-
.or_else(|| env::var("OTEL_BSP_SCHEDULE_DELAY_MILLIS").ok())
650654
.and_then(|delay| u64::from_str(&delay).ok())
651655
{
652656
self.scheduled_delay = Duration::from_millis(scheduled_delay);
@@ -667,7 +671,6 @@ impl BatchConfigBuilder {
667671

668672
if let Some(max_export_timeout) = env::var(OTEL_BSP_EXPORT_TIMEOUT)
669673
.ok()
670-
.or_else(|| env::var("OTEL_BSP_EXPORT_TIMEOUT_MILLIS").ok())
671674
.and_then(|timeout| u64::from_str(&timeout).ok())
672675
{
673676
self.max_export_timeout = Duration::from_millis(max_export_timeout);
@@ -815,44 +818,6 @@ mod tests {
815818
assert_eq!(config.max_export_batch_size, 1024);
816819
}
817820

818-
#[test]
819-
fn test_batch_config_configurable_by_env_vars_millis() {
820-
let env_vars = vec![
821-
("OTEL_BSP_SCHEDULE_DELAY_MILLIS", Some("3000")),
822-
("OTEL_BSP_EXPORT_TIMEOUT_MILLIS", Some("70000")),
823-
];
824-
825-
let config = temp_env::with_vars(env_vars, BatchConfig::default);
826-
827-
assert_eq!(config.scheduled_delay, Duration::from_millis(3000));
828-
assert_eq!(config.max_export_timeout, Duration::from_millis(70000));
829-
assert_eq!(config.max_queue_size, OTEL_BSP_MAX_QUEUE_SIZE_DEFAULT);
830-
assert_eq!(
831-
config.max_export_batch_size,
832-
OTEL_BSP_MAX_EXPORT_BATCH_SIZE_DEFAULT
833-
);
834-
}
835-
836-
#[test]
837-
fn test_batch_config_configurable_by_env_vars_precedence() {
838-
let env_vars = vec![
839-
(OTEL_BSP_SCHEDULE_DELAY, Some("2000")),
840-
("OTEL_BSP_SCHEDULE_DELAY_MILLIS", Some("3000")),
841-
(OTEL_BSP_EXPORT_TIMEOUT, Some("60000")),
842-
("OTEL_BSP_EXPORT_TIMEOUT_MILLIS", Some("70000")),
843-
];
844-
845-
let config = temp_env::with_vars(env_vars, BatchConfig::default);
846-
847-
assert_eq!(config.scheduled_delay, Duration::from_millis(2000));
848-
assert_eq!(config.max_export_timeout, Duration::from_millis(60000));
849-
assert_eq!(config.max_queue_size, OTEL_BSP_MAX_QUEUE_SIZE_DEFAULT);
850-
assert_eq!(
851-
config.max_export_batch_size,
852-
OTEL_BSP_MAX_EXPORT_BATCH_SIZE_DEFAULT
853-
);
854-
}
855-
856821
#[test]
857822
fn test_batch_config_max_export_batch_size_validation() {
858823
let env_vars = vec![

0 commit comments

Comments
 (0)