File tree 2 files changed +17
-13
lines changed
2 files changed +17
-13
lines changed Original file line number Diff line number Diff line change @@ -42,6 +42,12 @@ function main() {
42
42
console . log ( 'Greeting:' , response . getMessage ( ) ) ;
43
43
} ) ;
44
44
} ) ;
45
+
46
+ // The process must live for at least the interval past any traces that
47
+ // must be exported, or some risk being lost if they are recorded after the
48
+ // last export.
49
+ console . log ( 'Sleeping 5 seconds before shutdown to ensure all records are flushed.' )
50
+ setTimeout ( ( ) => { console . log ( 'Completed.' ) ; } , 5000 ) ;
45
51
}
46
52
47
53
main ( ) ;
Original file line number Diff line number Diff line change @@ -8,10 +8,6 @@ const { ZipkinExporter } = require('@opentelemetry/exporter-zipkin');
8
8
const EXPORTER = process . env . EXPORTER || '' ;
9
9
10
10
function setupTracerAndExporters ( service ) {
11
- let exporter ;
12
- const options = {
13
- serviceName : service
14
- } ;
15
11
const tracer = new NodeTracer ( {
16
12
plugins : {
17
13
grpc : {
@@ -21,19 +17,21 @@ function setupTracerAndExporters(service) {
21
17
}
22
18
}
23
19
} ) ;
20
+
21
+ let exporter ;
24
22
if ( EXPORTER . toLowerCase ( ) . startsWith ( 'z' ) ) {
25
- // need ignoreOutgoingUrls: [/spans/] to avoid infinity loops
26
- // TODO: manage this situation
27
- const zipkinExporter = new ZipkinExporter ( options ) ;
28
- exporter = new SimpleSpanProcessor ( zipkinExporter ) ;
23
+ exporter = new ZipkinExporter ( {
24
+ serviceName : service ,
25
+ } ) ;
29
26
} else {
30
- // need to shutdown exporter in order to flush spans
31
- // TODO: check once PR #301 is merged
32
- const jaegerExporter = new JaegerExporter ( options ) ;
33
- exporter = new SimpleSpanProcessor ( jaegerExporter ) ;
27
+ exporter = new JaegerExporter ( {
28
+ serviceName : service ,
29
+ // The default flush interval is 5 seconds.
30
+ flushInterval : 2000
31
+ } ) ;
34
32
}
35
33
36
- tracer . addSpanProcessor ( exporter ) ;
34
+ tracer . addSpanProcessor ( new SimpleSpanProcessor ( exporter ) ) ;
37
35
38
36
// Initialize the OpenTelemetry APIs to use the BasicTracer bindings
39
37
opentelemetry . initGlobalTracer ( tracer ) ;
You can’t perform that action at this time.
0 commit comments