Skip to content

Commit 5efe37a

Browse files
authored
Add CollectorPipeline::build_collector_exporter (#895)
1 parent 0d05be3 commit 5efe37a

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

opentelemetry-jaeger/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
# Changelog
2+
## Main
3+
4+
### Added
5+
6+
- Added `CollectorPipeline::build_collector_exporter` #894
7+
28

39
## v0.17.0
410

opentelemetry-jaeger/src/exporter/config/collector/mod.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,21 @@ impl CollectorPipeline {
473473
install_tracer_provider_and_get_tracer(tracer_provider)
474474
}
475475

476+
/// Build an jaeger exporter targeting a jaeger collector.
477+
pub fn build_collector_exporter<R>(mut self) -> Result<crate::Exporter, TraceError>
478+
where
479+
R: JaegerTraceRuntime,
480+
{
481+
let export_instrument_library = self.transformation_config.export_instrument_library;
482+
let (_, process) = build_config_and_process(
483+
self.trace_config.take(),
484+
self.transformation_config.service_name.take(),
485+
);
486+
let uploader = self.build_uploader::<R>()?;
487+
let exporter = Exporter::new(process.into(), export_instrument_library, uploader);
488+
Ok(exporter)
489+
}
490+
476491
fn build_uploader<R>(self) -> Result<Arc<dyn Uploader>, crate::Error>
477492
where
478493
R: JaegerTraceRuntime,
@@ -555,4 +570,13 @@ mod tests {
555570

556571
assert!(valid_uri.is_ok());
557572
}
573+
574+
#[test]
575+
fn test_collector_exporter() {
576+
let exporter = new_collector_pipeline()
577+
.with_endpoint("http://127.0.0.1:14268/api/traces")
578+
.with_http_client(test_http_client::TestHttpClient)
579+
.build_collector_exporter::<Tokio>();
580+
assert!(exporter.is_ok());
581+
}
558582
}

0 commit comments

Comments
 (0)