|
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