File tree 2 files changed +30
-0
lines changed
src/exporter/config/collector 2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change 1
1
# Changelog
2
+ ## Main
3
+
4
+ ### Added
5
+
6
+ - Added ` CollectorPipeline::build_collector_exporter ` #894
7
+
2
8
3
9
## v0.17.0
4
10
Original file line number Diff line number Diff line change @@ -473,6 +473,21 @@ impl CollectorPipeline {
473
473
install_tracer_provider_and_get_tracer ( tracer_provider)
474
474
}
475
475
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
+
476
491
fn build_uploader < R > ( self ) -> Result < Arc < dyn Uploader > , crate :: Error >
477
492
where
478
493
R : JaegerTraceRuntime ,
@@ -555,4 +570,13 @@ mod tests {
555
570
556
571
assert ! ( valid_uri. is_ok( ) ) ;
557
572
}
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
+ }
558
582
}
You can’t perform that action at this time.
0 commit comments