|
1 | 1 | use std::collections::HashSet; |
2 | 2 | use std::fs; |
3 | 3 | use std::path::Path; |
4 | | -use std::time::Duration; |
5 | 4 |
|
6 | 5 | use opentelemetry::metrics::{Meter, MeterProvider as _}; |
7 | 6 | use opentelemetry::KeyValue; |
8 | 7 | use opentelemetry::{InstrumentationScope, Key}; |
9 | 8 | use opentelemetry_prometheus::{ExporterBuilder, ResourceSelector}; |
10 | 9 | use opentelemetry_sdk::metrics::SdkMeterProvider; |
11 | | -use opentelemetry_sdk::resource::{ |
12 | | - EnvResourceDetector, SdkProvidedResourceDetector, TelemetryResourceDetector, |
13 | | -}; |
14 | 10 | use opentelemetry_sdk::Resource; |
15 | 11 | use opentelemetry_semantic_conventions::resource::{SERVICE_NAME, TELEMETRY_SDK_VERSION}; |
16 | 12 | use prometheus::{Encoder, TextEncoder}; |
@@ -360,26 +356,20 @@ fn prometheus_exporter_integration() { |
360 | 356 | let exporter = tc.builder.with_registry(registry.clone()).build().unwrap(); |
361 | 357 |
|
362 | 358 | let res = if tc.empty_resource { |
363 | | - Resource::empty() |
| 359 | + Resource::builder_empty().build() |
364 | 360 | } else { |
365 | | - Resource::from_detectors( |
366 | | - Duration::from_secs(0), |
367 | | - vec![ |
368 | | - Box::new(SdkProvidedResourceDetector), |
369 | | - Box::new(EnvResourceDetector::new()), |
370 | | - Box::new(TelemetryResourceDetector), |
371 | | - ], |
372 | | - ) |
373 | | - .merge(&mut Resource::new( |
374 | | - vec![ |
375 | | - // always specify service.name because the default depends on the running OS |
376 | | - KeyValue::new(SERVICE_NAME, "prometheus_test"), |
377 | | - // Overwrite the semconv.TelemetrySDKVersionKey value so we don't need to update every version |
378 | | - KeyValue::new(TELEMETRY_SDK_VERSION, "latest"), |
379 | | - ] |
380 | | - .into_iter() |
381 | | - .chain(tc.custom_resource_attrs.into_iter()), |
382 | | - )) |
| 361 | + Resource::builder() |
| 362 | + .with_attributes( |
| 363 | + vec![ |
| 364 | + // always specify service.name because the default depends on the running OS |
| 365 | + KeyValue::new(SERVICE_NAME, "prometheus_test"), |
| 366 | + // Overwrite the semconv.TelemetrySDKVersionKey value so we don't need to update every version |
| 367 | + KeyValue::new(TELEMETRY_SDK_VERSION, "latest"), |
| 368 | + ] |
| 369 | + .into_iter() |
| 370 | + .chain(tc.custom_resource_attrs.into_iter()), |
| 371 | + ) |
| 372 | + .build() |
383 | 373 | }; |
384 | 374 |
|
385 | 375 | let provider = SdkMeterProvider::builder() |
@@ -431,20 +421,14 @@ fn multiple_scopes() { |
431 | 421 | .build() |
432 | 422 | .unwrap(); |
433 | 423 |
|
434 | | - let resource = Resource::from_detectors( |
435 | | - Duration::from_secs(0), |
436 | | - vec![ |
437 | | - Box::new(SdkProvidedResourceDetector), |
438 | | - Box::new(EnvResourceDetector::new()), |
439 | | - Box::new(TelemetryResourceDetector), |
440 | | - ], |
441 | | - ) |
442 | | - .merge(&mut Resource::new(vec![ |
443 | | - // always specify service.name because the default depends on the running OS |
444 | | - KeyValue::new(SERVICE_NAME, "prometheus_test"), |
445 | | - // Overwrite the semconv.TelemetrySDKVersionKey value so we don't need to update every version |
446 | | - KeyValue::new(TELEMETRY_SDK_VERSION, "latest"), |
447 | | - ])); |
| 424 | + let resource = Resource::builder() |
| 425 | + .with_attributes([ |
| 426 | + // always specify service.name because the default depends on the running OS |
| 427 | + KeyValue::new(SERVICE_NAME, "prometheus_test"), |
| 428 | + // Overwrite the semconv.TelemetrySDKVersionKey value so we don't need to update every version |
| 429 | + KeyValue::new(TELEMETRY_SDK_VERSION, "latest"), |
| 430 | + ]) |
| 431 | + .build(); |
448 | 432 |
|
449 | 433 | let provider = SdkMeterProvider::builder() |
450 | 434 | .with_reader(exporter) |
@@ -781,24 +765,18 @@ fn duplicate_metrics() { |
781 | 765 | let registry = prometheus::Registry::new(); |
782 | 766 | let exporter = tc.builder.with_registry(registry.clone()).build().unwrap(); |
783 | 767 |
|
784 | | - let resource = Resource::from_detectors( |
785 | | - Duration::from_secs(0), |
786 | | - vec![ |
787 | | - Box::new(SdkProvidedResourceDetector), |
788 | | - Box::new(EnvResourceDetector::new()), |
789 | | - Box::new(TelemetryResourceDetector), |
790 | | - ], |
791 | | - ) |
792 | | - .merge(&mut Resource::new( |
793 | | - vec![ |
794 | | - // always specify service.name because the default depends on the running OS |
795 | | - KeyValue::new(SERVICE_NAME, "prometheus_test"), |
796 | | - // Overwrite the semconv.TelemetrySDKVersionKey value so we don't need to update every version |
797 | | - KeyValue::new(TELEMETRY_SDK_VERSION, "latest"), |
798 | | - ] |
799 | | - .into_iter() |
800 | | - .chain(tc.custom_resource_attrs.into_iter()), |
801 | | - )); |
| 768 | + let resource = Resource::builder() |
| 769 | + .with_attributes( |
| 770 | + vec![ |
| 771 | + // always specify service.name because the default depends on the running OS |
| 772 | + KeyValue::new(SERVICE_NAME, "prometheus_test"), |
| 773 | + // Overwrite the semconv.TelemetrySDKVersionKey value so we don't need to update every version |
| 774 | + KeyValue::new(TELEMETRY_SDK_VERSION, "latest"), |
| 775 | + ] |
| 776 | + .into_iter() |
| 777 | + .chain(tc.custom_resource_attrs.into_iter()), |
| 778 | + ) |
| 779 | + .build(); |
802 | 780 |
|
803 | 781 | let provider = SdkMeterProvider::builder() |
804 | 782 | .with_resource(resource) |
|
0 commit comments