瀏覽代碼

feat(domain-events-infra): add winston instrumentation

Karol Sójko 1 年之前
父節點
當前提交
65fcc657a7

+ 24 - 0
.pnp.cjs

@@ -5185,6 +5185,29 @@ const RAW_RUNTIME_STATE =
         "linkType": "HARD"\
       }]\
     ]],\
+    ["@opentelemetry/instrumentation-winston", [\
+      ["npm:0.32.1", {\
+        "packageLocation": "./.yarn/cache/@opentelemetry-instrumentation-winston-npm-0.32.1-4adcd85525-2292411336.zip/node_modules/@opentelemetry/instrumentation-winston/",\
+        "packageDependencies": [\
+          ["@opentelemetry/instrumentation-winston", "npm:0.32.1"]\
+        ],\
+        "linkType": "SOFT"\
+      }],\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.32.1", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-winston-virtual-6f270e74d1/0/cache/@opentelemetry-instrumentation-winston-npm-0.32.1-4adcd85525-2292411336.zip/node_modules/@opentelemetry/instrumentation-winston/",\
+        "packageDependencies": [\
+          ["@opentelemetry/instrumentation-winston", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.32.1"],\
+          ["@opentelemetry/api", "npm:1.6.0"],\
+          ["@opentelemetry/instrumentation", "virtual:615937aa81839b05262fb17b9798d2b03176d47c4f8dad05d5bcb050f95f724786e9efd2e9f8e96aeb0f4f2bd3253509727df5e270ef87443598047e1192e3e9#npm:0.41.2"],\
+          ["@types/opentelemetry__api", null]\
+        ],\
+        "packagePeers": [\
+          "@opentelemetry/api",\
+          "@types/opentelemetry__api"\
+        ],\
+        "linkType": "HARD"\
+      }]\
+    ]],\
     ["@opentelemetry/otlp-exporter-base", [\
       ["npm:0.43.0", {\
         "packageLocation": "./.yarn/cache/@opentelemetry-otlp-exporter-base-npm-0.43.0-f3aa808608-9565c55fed.zip/node_modules/@opentelemetry/otlp-exporter-base/",\
@@ -6733,6 +6756,7 @@ const RAW_RUNTIME_STATE =
           ["@opentelemetry/id-generator-aws-xray", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.2.1"],\
           ["@opentelemetry/instrumentation-aws-sdk", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.36.0"],\
           ["@opentelemetry/instrumentation-http", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\
+          ["@opentelemetry/instrumentation-winston", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.32.1"],\
           ["@opentelemetry/propagator-aws-xray", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.3.1"],\
           ["@opentelemetry/resource-detector-aws", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.3.1"],\
           ["@opentelemetry/sdk-node", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\

二進制
.yarn/cache/@opentelemetry-api-npm-1.6.0-58fdf34ce1-b8daefad2c.zip


二進制
.yarn/cache/@opentelemetry-instrumentation-winston-npm-0.32.1-4adcd85525-2292411336.zip


+ 1 - 0
packages/domain-events-infra/package.json

@@ -32,6 +32,7 @@
     "@opentelemetry/id-generator-aws-xray": "^1.2.1",
     "@opentelemetry/instrumentation-aws-sdk": "^0.36.0",
     "@opentelemetry/instrumentation-http": "^0.43.0",
+    "@opentelemetry/instrumentation-winston": "^0.32.1",
     "@opentelemetry/propagator-aws-xray": "^1.3.1",
     "@opentelemetry/resource-detector-aws": "^1.3.1",
     "@opentelemetry/sdk-node": "^0.43.0",

+ 9 - 0
packages/domain-events-infra/src/Infra/OpenTelemetry/OpenTelemetrySDK.ts

@@ -8,6 +8,7 @@ import { AWSXRayPropagator } from '@opentelemetry/propagator-aws-xray'
 import { HttpInstrumentation } from '@opentelemetry/instrumentation-http'
 import { AwsInstrumentation } from '@opentelemetry/instrumentation-aws-sdk'
 import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-proto'
+import { WinstonInstrumentation } from '@opentelemetry/instrumentation-winston'
 
 import { OpenTelemetrySDKInterface } from './OpenTelemetrySDKInterface'
 
@@ -31,6 +32,13 @@ export class OpenTelemetrySDK implements OpenTelemetrySDKInterface {
       exporter: new OTLPMetricExporter(),
     })
 
+    const serviceName = this.serviceName
+    const winstonInstrumentation = new WinstonInstrumentation({
+      logHook: (_span, record) => {
+        record['resource.service.name'] = serviceName
+      },
+    })
+
     this.sdk = new OpenTelemetrySDKNode.NodeSDK({
       sampler: new OpenTelemetrySDKNode.tracing.TraceIdRatioBasedSampler(0.01),
       textMapPropagator: new AWSXRayPropagator(),
@@ -40,6 +48,7 @@ export class OpenTelemetrySDK implements OpenTelemetrySDKInterface {
           suppressInternalInstrumentation: true,
         }),
         new TypeormInstrumentation(),
+        winstonInstrumentation,
       ],
       metricReader: metricReader,
       resource: otResource,

+ 12 - 0
yarn.lock

@@ -4369,6 +4369,17 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@opentelemetry/instrumentation-winston@npm:^0.32.1":
+  version: 0.32.1
+  resolution: "@opentelemetry/instrumentation-winston@npm:0.32.1"
+  dependencies:
+    "@opentelemetry/instrumentation": "npm:^0.41.2"
+  peerDependencies:
+    "@opentelemetry/api": ^1.3.0
+  checksum: 2292411336811689815165a2299d4c2cc1fb77c7f9b8d044ff77fb17a29d0be850472c7a9d4be4c6bee2f4c2bd49a66d34cde1875d0c59f7727a0480e6f1143c
+  languageName: node
+  linkType: hard
+
 "@opentelemetry/instrumentation@npm:0.43.0":
   version: 0.43.0
   resolution: "@opentelemetry/instrumentation@npm:0.43.0"
@@ -5992,6 +6003,7 @@ __metadata:
     "@opentelemetry/id-generator-aws-xray": "npm:^1.2.1"
     "@opentelemetry/instrumentation-aws-sdk": "npm:^0.36.0"
     "@opentelemetry/instrumentation-http": "npm:^0.43.0"
+    "@opentelemetry/instrumentation-winston": "npm:^0.32.1"
     "@opentelemetry/propagator-aws-xray": "npm:^1.3.1"
     "@opentelemetry/resource-detector-aws": "npm:^1.3.1"
     "@opentelemetry/sdk-node": "npm:^0.43.0"