@saidsef/tracing-node 1.1.2 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/libs/index.js +12 -10
  2. package/package.json +12 -13
package/libs/index.js CHANGED
@@ -19,15 +19,15 @@
19
19
  const { registerInstrumentations } = require('@opentelemetry/instrumentation');
20
20
  const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
21
21
  const { BatchSpanProcessor } = require('@opentelemetry/sdk-trace-base');
22
- const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector-grpc');
22
+ const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc');
23
23
  const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http');
24
24
  const { ExpressInstrumentation } = require('@opentelemetry/instrumentation-express');
25
25
  const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');
26
26
  const { Resource } = require('@opentelemetry/resources');
27
27
  const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');
28
28
  const { AwsInstrumentation } = require('@opentelemetry/instrumentation-aws-sdk');
29
- const { PeriodicExportingMetricReader, ConsoleMetricExporter } = require('@opentelemetry/sdk-metrics');
30
- const { AWSXRayPropagator } = require('@opentelemetry/propagator-aws-xray');
29
+ const { PinoInstrumentation } = require('@opentelemetry/instrumentation-pino');
30
+ const { JaegerPropagator } = require('@opentelemetry/propagator-jaeger');
31
31
 
32
32
  diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO);
33
33
 
@@ -43,20 +43,17 @@ function setupTracing(serviceName, appName="application", endpoint=null) {
43
43
  });
44
44
 
45
45
  // Configure exporter with the Collector endpoint - uses gRPC
46
- const exporter = new CollectorTraceExporter({
46
+ const exportOptions = {
47
47
  serviceName: serviceName,
48
48
  url: endpoint,
49
- });
49
+ };
50
50
 
51
51
  // Register the span processor with the tracer provider
52
- provider.addSpanProcessor(new BatchSpanProcessor(exporter));
52
+ provider.addSpanProcessor(new BatchSpanProcessor(new OTLPTraceExporter(exportOptions)));
53
53
 
54
54
  // Register instrumentations
55
55
  registerInstrumentations({
56
56
  tracerProvider: provider,
57
- metricReader: new PeriodicExportingMetricReader({
58
- exporter: new ConsoleMetricExporter()
59
- }),
60
57
  instrumentations: [
61
58
  new ExpressInstrumentation({
62
59
  ignoreIncomingRequestHook(req) {
@@ -77,11 +74,16 @@ function setupTracing(serviceName, appName="application", endpoint=null) {
77
74
  new AwsInstrumentation({
78
75
  sqsExtractContextPropagationFromPayload: true
79
76
  }),
77
+ new PinoInstrumentation({
78
+ logHook: (span, record) => {
79
+ record['resource.service.name'] = provider.resource.attributes['service.name'];
80
+ },
81
+ })
80
82
  ],
81
83
  });
82
84
 
83
85
  // Initialize the tracer provider
84
- provider.register({propagator: new AWSXRayPropagator()});
86
+ provider.register({propagator: new JaegerPropagator()});
85
87
 
86
88
  // Return the tracer for the service
87
89
  return provider.getTracer(serviceName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saidsef/tracing-node",
3
- "version": "1.1.2",
3
+ "version": "1.7.1",
4
4
  "description": "tracing NodeJS - This is wrapper for OpenTelemetry instrumentation packages",
5
5
  "main": "libs/index.js",
6
6
  "scripts": {
@@ -14,37 +14,36 @@
14
14
  "url": "git+https://github.com/saidsef/tracing-nodejs.git"
15
15
  },
16
16
  "keywords": [
17
- "trace",
18
- "tracing",
19
- "opentelemetry",
20
17
  "instrumentation-aws-sdk",
21
- "exporter-collector-grpc",
22
- "instrumentation",
23
18
  "instrumentation-express",
24
19
  "instrumentation-http",
25
- "propagator-aws-xray",
20
+ "instrumentation-pino",
21
+ "instrumentation",
22
+ "opentelemetry",
23
+ "propagator-jaeger",
26
24
  "resources",
27
- "sdk-metrics",
28
25
  "sdk-trace-base",
29
26
  "sdk-trace-node",
30
- "semantic-conventions"
27
+ "semantic-conventions",
28
+ "trace",
29
+ "tracing"
31
30
  ],
32
31
  "author": "Said Sef <saidsef@gmail.com>",
33
- "license": "Apache License, Version 2.0",
32
+ "license": "Apache-2.0",
34
33
  "bugs": {
35
34
  "url": "https://github.com/saidsef/tracing-nodejs/issues"
36
35
  },
37
36
  "homepage": "https://github.com/saidsef/tracing-nodejs#readme",
38
37
  "dependencies": {
39
38
  "@opentelemetry/api": "^1.4.1",
40
- "@opentelemetry/exporter-collector-grpc": "^0.25.0",
39
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.40.0",
41
40
  "@opentelemetry/instrumentation": "^0.40.0",
42
41
  "@opentelemetry/instrumentation-aws-sdk": "^0.34.3",
43
42
  "@opentelemetry/instrumentation-express": "^0.32.4",
44
43
  "@opentelemetry/instrumentation-http": "^0.40.0",
45
- "@opentelemetry/propagator-aws-xray": "^1.2.1",
44
+ "@opentelemetry/instrumentation-pino": "^0.33.4",
45
+ "@opentelemetry/propagator-jaeger": "^1.14.0",
46
46
  "@opentelemetry/resources": "^1.14.0",
47
- "@opentelemetry/sdk-metrics": "^1.14.0",
48
47
  "@opentelemetry/sdk-trace-base": "^1.14.0",
49
48
  "@opentelemetry/sdk-trace-node": "^1.14.0",
50
49
  "@opentelemetry/semantic-conventions": "^1.14.0"