Browse Source

feat: add opentelemetry to all services

Karol Sójko 1 year ago
parent
commit
5e930d08eb

+ 184 - 184
.pnp.cjs

@@ -4830,10 +4830,10 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-context-async-hooks-virtual-525994beb7/0/cache/@opentelemetry-context-async-hooks-npm-1.17.0-08903d3765-74688bdbe1.zip/node_modules/@opentelemetry/context-async-hooks/",\
+      ["virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-context-async-hooks-virtual-816c087b12/0/cache/@opentelemetry-context-async-hooks-npm-1.17.0-08903d3765-74688bdbe1.zip/node_modules/@opentelemetry/context-async-hooks/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/context-async-hooks", "virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0"],\
+          ["@opentelemetry/context-async-hooks", "virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
@@ -4852,10 +4852,10 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-core-virtual-ebcef09a2f/0/cache/@opentelemetry-core-npm-1.17.0-a044eabe29-809b4754fa.zip/node_modules/@opentelemetry/core/",\
+      ["virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-core-virtual-8878dfe1fe/0/cache/@opentelemetry-core-npm-1.17.0-a044eabe29-809b4754fa.zip/node_modules/@opentelemetry/core/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
@@ -4875,13 +4875,13 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-jaeger-virtual-ba9f6d9175/0/cache/@opentelemetry-exporter-jaeger-npm-1.17.0-bd66618878-00a92253bc.zip/node_modules/@opentelemetry/exporter-jaeger/",\
+      ["virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-jaeger-virtual-b540423c49/0/cache/@opentelemetry-exporter-jaeger-npm-1.17.0-bd66618878-00a92253bc.zip/node_modules/@opentelemetry/exporter-jaeger/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/exporter-jaeger", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0"],\
+          ["@opentelemetry/exporter-jaeger", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["jaeger-client", "npm:3.19.0"]\
           ["jaeger-client", "npm:3.19.0"]\
@@ -4901,16 +4901,16 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-metrics-otlp-http-virtual-3c0934a0b2/0/cache/@opentelemetry-exporter-metrics-otlp-http-npm-0.43.0-72f0af6569-6ceff0681c.zip/node_modules/@opentelemetry/exporter-metrics-otlp-http/",\
+      ["virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-metrics-otlp-http-virtual-77f81f665d/0/cache/@opentelemetry-exporter-metrics-otlp-http-npm-0.43.0-72f0af6569-6ceff0681c.zip/node_modules/@opentelemetry/exporter-metrics-otlp-http/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/exporter-metrics-otlp-http", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
+          ["@opentelemetry/exporter-metrics-otlp-http", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/otlp-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/otlp-transformer", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-metrics", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/otlp-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/otlp-transformer", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-metrics", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -4928,18 +4928,18 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-metrics-otlp-proto-virtual-da65d8ce56/0/cache/@opentelemetry-exporter-metrics-otlp-proto-npm-0.43.0-742a58d759-b1aa317e99.zip/node_modules/@opentelemetry/exporter-metrics-otlp-proto/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-metrics-otlp-proto-virtual-d3c7bbf6a7/0/cache/@opentelemetry-exporter-metrics-otlp-proto-npm-0.43.0-742a58d759-b1aa317e99.zip/node_modules/@opentelemetry/exporter-metrics-otlp-proto/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/exporter-metrics-otlp-proto", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
+          ["@opentelemetry/exporter-metrics-otlp-proto", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/exporter-metrics-otlp-http", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/otlp-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/otlp-proto-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/otlp-transformer", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-metrics", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/exporter-metrics-otlp-http", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/otlp-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/otlp-proto-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/otlp-transformer", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-metrics", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -4957,17 +4957,17 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-trace-otlp-grpc-virtual-9211012fdc/0/cache/@opentelemetry-exporter-trace-otlp-grpc-npm-0.43.0-a9e6fb52e9-82f58b0451.zip/node_modules/@opentelemetry/exporter-trace-otlp-grpc/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-trace-otlp-grpc-virtual-dbc4c49e16/0/cache/@opentelemetry-exporter-trace-otlp-grpc-npm-0.43.0-a9e6fb52e9-82f58b0451.zip/node_modules/@opentelemetry/exporter-trace-otlp-grpc/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/exporter-trace-otlp-grpc", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
+          ["@opentelemetry/exporter-trace-otlp-grpc", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\
           ["@grpc/grpc-js", "npm:1.9.5"],\
           ["@grpc/grpc-js", "npm:1.9.5"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/otlp-grpc-exporter-base", "virtual:9211012fdce6ef6a5a11ce09b8ed1592fb850e7fffcb0db2b9a3d0eaffec2e9e027db64e4f9b983300f607524a285edc86c9d175e75c7f68cf5e0cc3090c9c8f#npm:0.43.0"],\
-          ["@opentelemetry/otlp-transformer", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/otlp-grpc-exporter-base", "virtual:dbc4c49e1602418892e7fdb58111692202e00b3e02ac57722693095a68606099ccd531cdad6a9b8db04c1103a94fb2053828aa8c89a20870873e6e74ada85bae#npm:0.43.0"],\
+          ["@opentelemetry/otlp-transformer", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -4985,16 +4985,16 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-trace-otlp-http-virtual-2dd0dc58f0/0/cache/@opentelemetry-exporter-trace-otlp-http-npm-0.43.0-aa1bebfbb6-f90faf5b14.zip/node_modules/@opentelemetry/exporter-trace-otlp-http/",\
+      ["virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-trace-otlp-http-virtual-de3884b364/0/cache/@opentelemetry-exporter-trace-otlp-http-npm-0.43.0-aa1bebfbb6-f90faf5b14.zip/node_modules/@opentelemetry/exporter-trace-otlp-http/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/exporter-trace-otlp-http", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:0.43.0"],\
+          ["@opentelemetry/exporter-trace-otlp-http", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/otlp-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/otlp-transformer", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/otlp-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/otlp-transformer", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5012,17 +5012,17 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-trace-otlp-proto-virtual-f72b415ac6/0/cache/@opentelemetry-exporter-trace-otlp-proto-npm-0.43.0-8658a4bd10-a1e00a9bf5.zip/node_modules/@opentelemetry/exporter-trace-otlp-proto/",\
+      ["virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-trace-otlp-proto-virtual-15e0ef1bea/0/cache/@opentelemetry-exporter-trace-otlp-proto-npm-0.43.0-8658a4bd10-a1e00a9bf5.zip/node_modules/@opentelemetry/exporter-trace-otlp-proto/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/exporter-trace-otlp-proto", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:0.43.0"],\
+          ["@opentelemetry/exporter-trace-otlp-proto", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/otlp-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/otlp-proto-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/otlp-transformer", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/otlp-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/otlp-proto-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/otlp-transformer", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5040,14 +5040,14 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-zipkin-virtual-86f54c5407/0/cache/@opentelemetry-exporter-zipkin-npm-1.17.0-902e8c55df-4728abe860.zip/node_modules/@opentelemetry/exporter-zipkin/",\
+      ["virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-exporter-zipkin-virtual-952aa384f4/0/cache/@opentelemetry-exporter-zipkin-npm-1.17.0-902e8c55df-4728abe860.zip/node_modules/@opentelemetry/exporter-zipkin/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/exporter-zipkin", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0"],\
+          ["@opentelemetry/exporter-zipkin", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
@@ -5066,12 +5066,12 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.2.1", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-id-generator-aws-xray-virtual-787061fe79/0/cache/@opentelemetry-id-generator-aws-xray-npm-1.2.1-baca198da5-917def63b7.zip/node_modules/@opentelemetry/id-generator-aws-xray/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.2.1", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-id-generator-aws-xray-virtual-8c7d9f6a8f/0/cache/@opentelemetry-id-generator-aws-xray-npm-1.2.1-baca198da5-917def63b7.zip/node_modules/@opentelemetry/id-generator-aws-xray/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/id-generator-aws-xray", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.2.1"],\
+          ["@opentelemetry/id-generator-aws-xray", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.2.1"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5096,16 +5096,16 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:0a5a08c07a02a3346f848c8ce2993c87a0ad250b4d0c2ed1717aca2a2fe9b0f38398c4a1ff7db9c3a6733e011acb59f4c000d640589cbc08ef7dca4b428fa99c#npm:0.41.2", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-virtual-f32b579a12/0/cache/@opentelemetry-instrumentation-npm-0.41.2-fffbd54e4e-837e8c08ec.zip/node_modules/@opentelemetry/instrumentation/",\
+      ["virtual:026eccee28434a8760111fda38c31859127a5054556a98fecab59aaa998b12bb2e09e1ba27009008402ac02d324b04c01a67c09e75e9ebab59a6026287d8e15d#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-virtual-22d5d49b5d/0/cache/@opentelemetry-instrumentation-npm-0.43.0-1f6e0504f9-776d566dc4.zip/node_modules/@opentelemetry/instrumentation/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/instrumentation", "virtual:0a5a08c07a02a3346f848c8ce2993c87a0ad250b4d0c2ed1717aca2a2fe9b0f38398c4a1ff7db9c3a6733e011acb59f4c000d640589cbc08ef7dca4b428fa99c#npm:0.41.2"],\
+          ["@opentelemetry/instrumentation", "virtual:026eccee28434a8760111fda38c31859127a5054556a98fecab59aaa998b12bb2e09e1ba27009008402ac02d324b04c01a67c09e75e9ebab59a6026287d8e15d#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["@types/shimmer", "npm:1.0.3"],\
           ["@types/shimmer", "npm:1.0.3"],\
           ["import-in-the-middle", "npm:1.4.2"],\
           ["import-in-the-middle", "npm:1.4.2"],\
           ["require-in-the-middle", "npm:7.2.0"],\
           ["require-in-the-middle", "npm:7.2.0"],\
-          ["semver", "npm:7.5.1"],\
+          ["semver", "npm:7.5.4"],\
           ["shimmer", "npm:1.2.1"]\
           ["shimmer", "npm:1.2.1"]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5114,16 +5114,16 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "HARD"\
         "linkType": "HARD"\
       }],\
       }],\
-      ["virtual:313e67c16c9cb10b86288a317b2b69481616aa9e59ae6c251c0fc343f3763dea7ae9ab610af2dac2980936564f4bedf5c2a09556b1c52fc9d36b91d57f79ab9b#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-virtual-09c94d5131/0/cache/@opentelemetry-instrumentation-npm-0.43.0-1f6e0504f9-776d566dc4.zip/node_modules/@opentelemetry/instrumentation/",\
+      ["virtual:615937aa81839b05262fb17b9798d2b03176d47c4f8dad05d5bcb050f95f724786e9efd2e9f8e96aeb0f4f2bd3253509727df5e270ef87443598047e1192e3e9#npm:0.41.2", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-virtual-50b47cda50/0/cache/@opentelemetry-instrumentation-npm-0.41.2-fffbd54e4e-837e8c08ec.zip/node_modules/@opentelemetry/instrumentation/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/instrumentation", "virtual:313e67c16c9cb10b86288a317b2b69481616aa9e59ae6c251c0fc343f3763dea7ae9ab610af2dac2980936564f4bedf5c2a09556b1c52fc9d36b91d57f79ab9b#npm:0.43.0"],\
+          ["@opentelemetry/instrumentation", "virtual:615937aa81839b05262fb17b9798d2b03176d47c4f8dad05d5bcb050f95f724786e9efd2e9f8e96aeb0f4f2bd3253509727df5e270ef87443598047e1192e3e9#npm:0.41.2"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["@types/shimmer", "npm:1.0.3"],\
           ["@types/shimmer", "npm:1.0.3"],\
           ["import-in-the-middle", "npm:1.4.2"],\
           ["import-in-the-middle", "npm:1.4.2"],\
           ["require-in-the-middle", "npm:7.2.0"],\
           ["require-in-the-middle", "npm:7.2.0"],\
-          ["semver", "npm:7.5.4"],\
+          ["semver", "npm:7.5.1"],\
           ["shimmer", "npm:1.2.1"]\
           ["shimmer", "npm:1.2.1"]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5141,14 +5141,14 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.36.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-aws-sdk-virtual-0a5a08c07a/0/cache/@opentelemetry-instrumentation-aws-sdk-npm-0.36.0-5e7cdda4f0-b0128963a3.zip/node_modules/@opentelemetry/instrumentation-aws-sdk/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.36.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-aws-sdk-virtual-615937aa81/0/cache/@opentelemetry-instrumentation-aws-sdk-npm-0.36.0-5e7cdda4f0-b0128963a3.zip/node_modules/@opentelemetry/instrumentation-aws-sdk/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/instrumentation-aws-sdk", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.36.0"],\
+          ["@opentelemetry/instrumentation-aws-sdk", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.36.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/instrumentation", "virtual:0a5a08c07a02a3346f848c8ce2993c87a0ad250b4d0c2ed1717aca2a2fe9b0f38398c4a1ff7db9c3a6733e011acb59f4c000d640589cbc08ef7dca4b428fa99c#npm:0.41.2"],\
-          ["@opentelemetry/propagation-utils", "virtual:0a5a08c07a02a3346f848c8ce2993c87a0ad250b4d0c2ed1717aca2a2fe9b0f38398c4a1ff7db9c3a6733e011acb59f4c000d640589cbc08ef7dca4b428fa99c#npm:0.30.1"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/instrumentation", "virtual:615937aa81839b05262fb17b9798d2b03176d47c4f8dad05d5bcb050f95f724786e9efd2e9f8e96aeb0f4f2bd3253509727df5e270ef87443598047e1192e3e9#npm:0.41.2"],\
+          ["@opentelemetry/propagation-utils", "virtual:615937aa81839b05262fb17b9798d2b03176d47c4f8dad05d5bcb050f95f724786e9efd2e9f8e96aeb0f4f2bd3253509727df5e270ef87443598047e1192e3e9#npm:0.30.1"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
@@ -5167,13 +5167,13 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-http-virtual-313e67c16c/0/cache/@opentelemetry-instrumentation-http-npm-0.43.0-8e95b53fde-04f8be1648.zip/node_modules/@opentelemetry/instrumentation-http/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-instrumentation-http-virtual-026eccee28/0/cache/@opentelemetry-instrumentation-http-npm-0.43.0-8e95b53fde-04f8be1648.zip/node_modules/@opentelemetry/instrumentation-http/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/instrumentation-http", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
+          ["@opentelemetry/instrumentation-http", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/instrumentation", "virtual:313e67c16c9cb10b86288a317b2b69481616aa9e59ae6c251c0fc343f3763dea7ae9ab610af2dac2980936564f4bedf5c2a09556b1c52fc9d36b91d57f79ab9b#npm:0.43.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/instrumentation", "virtual:026eccee28434a8760111fda38c31859127a5054556a98fecab59aaa998b12bb2e09e1ba27009008402ac02d324b04c01a67c09e75e9ebab59a6026287d8e15d#npm:0.43.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["semver", "npm:7.5.4"]\
           ["semver", "npm:7.5.4"]\
@@ -5193,12 +5193,12 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-otlp-exporter-base-virtual-16e90cd2e1/0/cache/@opentelemetry-otlp-exporter-base-npm-0.43.0-f3aa808608-9565c55fed.zip/node_modules/@opentelemetry/otlp-exporter-base/",\
+      ["virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-otlp-exporter-base-virtual-8dd7c6aeba/0/cache/@opentelemetry-otlp-exporter-base-npm-0.43.0-f3aa808608-9565c55fed.zip/node_modules/@opentelemetry/otlp-exporter-base/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/otlp-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
+          ["@opentelemetry/otlp-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5216,14 +5216,14 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:9211012fdce6ef6a5a11ce09b8ed1592fb850e7fffcb0db2b9a3d0eaffec2e9e027db64e4f9b983300f607524a285edc86c9d175e75c7f68cf5e0cc3090c9c8f#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-otlp-grpc-exporter-base-virtual-e90b07d233/0/cache/@opentelemetry-otlp-grpc-exporter-base-npm-0.43.0-1a2707413a-1310f59ca0.zip/node_modules/@opentelemetry/otlp-grpc-exporter-base/",\
+      ["virtual:dbc4c49e1602418892e7fdb58111692202e00b3e02ac57722693095a68606099ccd531cdad6a9b8db04c1103a94fb2053828aa8c89a20870873e6e74ada85bae#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-otlp-grpc-exporter-base-virtual-71a09c6db9/0/cache/@opentelemetry-otlp-grpc-exporter-base-npm-0.43.0-1a2707413a-1310f59ca0.zip/node_modules/@opentelemetry/otlp-grpc-exporter-base/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/otlp-grpc-exporter-base", "virtual:9211012fdce6ef6a5a11ce09b8ed1592fb850e7fffcb0db2b9a3d0eaffec2e9e027db64e4f9b983300f607524a285edc86c9d175e75c7f68cf5e0cc3090c9c8f#npm:0.43.0"],\
+          ["@opentelemetry/otlp-grpc-exporter-base", "virtual:dbc4c49e1602418892e7fdb58111692202e00b3e02ac57722693095a68606099ccd531cdad6a9b8db04c1103a94fb2053828aa8c89a20870873e6e74ada85bae#npm:0.43.0"],\
           ["@grpc/grpc-js", "npm:1.9.5"],\
           ["@grpc/grpc-js", "npm:1.9.5"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/otlp-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/otlp-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["protobufjs", "npm:7.2.5"]\
           ["protobufjs", "npm:7.2.5"]\
         ],\
         ],\
@@ -5242,13 +5242,13 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-otlp-proto-exporter-base-virtual-1d8f3ccf6d/0/cache/@opentelemetry-otlp-proto-exporter-base-npm-0.43.0-11b5339d05-28399c5512.zip/node_modules/@opentelemetry/otlp-proto-exporter-base/",\
+      ["virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-otlp-proto-exporter-base-virtual-2e4255a0c5/0/cache/@opentelemetry-otlp-proto-exporter-base-npm-0.43.0-11b5339d05-28399c5512.zip/node_modules/@opentelemetry/otlp-proto-exporter-base/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/otlp-proto-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
+          ["@opentelemetry/otlp-proto-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/otlp-exporter-base", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/otlp-exporter-base", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["protobufjs", "npm:7.2.5"]\
           ["protobufjs", "npm:7.2.5"]\
         ],\
         ],\
@@ -5267,17 +5267,17 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-otlp-transformer-virtual-bf321d9cd7/0/cache/@opentelemetry-otlp-transformer-npm-0.43.0-047dc46524-5c9e3ebc2b.zip/node_modules/@opentelemetry/otlp-transformer/",\
+      ["virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-otlp-transformer-virtual-5c27970641/0/cache/@opentelemetry-otlp-transformer-npm-0.43.0-047dc46524-5c9e3ebc2b.zip/node_modules/@opentelemetry/otlp-transformer/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/otlp-transformer", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:0.43.0"],\
+          ["@opentelemetry/otlp-transformer", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api-logs", "npm:0.43.0"],\
           ["@opentelemetry/api-logs", "npm:0.43.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-logs", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:0.43.0"],\
-          ["@opentelemetry/sdk-metrics", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-logs", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:0.43.0"],\
+          ["@opentelemetry/sdk-metrics", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5295,10 +5295,10 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:0a5a08c07a02a3346f848c8ce2993c87a0ad250b4d0c2ed1717aca2a2fe9b0f38398c4a1ff7db9c3a6733e011acb59f4c000d640589cbc08ef7dca4b428fa99c#npm:0.30.1", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-propagation-utils-virtual-f92d7de3da/0/cache/@opentelemetry-propagation-utils-npm-0.30.1-aeb4e05d79-cd44cf502b.zip/node_modules/@opentelemetry/propagation-utils/",\
+      ["virtual:615937aa81839b05262fb17b9798d2b03176d47c4f8dad05d5bcb050f95f724786e9efd2e9f8e96aeb0f4f2bd3253509727df5e270ef87443598047e1192e3e9#npm:0.30.1", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-propagation-utils-virtual-381273cb42/0/cache/@opentelemetry-propagation-utils-npm-0.30.1-aeb4e05d79-cd44cf502b.zip/node_modules/@opentelemetry/propagation-utils/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/propagation-utils", "virtual:0a5a08c07a02a3346f848c8ce2993c87a0ad250b4d0c2ed1717aca2a2fe9b0f38398c4a1ff7db9c3a6733e011acb59f4c000d640589cbc08ef7dca4b428fa99c#npm:0.30.1"],\
+          ["@opentelemetry/propagation-utils", "virtual:615937aa81839b05262fb17b9798d2b03176d47c4f8dad05d5bcb050f95f724786e9efd2e9f8e96aeb0f4f2bd3253509727df5e270ef87443598047e1192e3e9#npm:0.30.1"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
@@ -5317,12 +5317,12 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.3.1", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-propagator-aws-xray-virtual-d15c7c12a1/0/cache/@opentelemetry-propagator-aws-xray-npm-1.3.1-92ad086464-54d0149bab.zip/node_modules/@opentelemetry/propagator-aws-xray/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.3.1", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-propagator-aws-xray-virtual-3914a5662e/0/cache/@opentelemetry-propagator-aws-xray-npm-1.3.1-92ad086464-54d0149bab.zip/node_modules/@opentelemetry/propagator-aws-xray/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/propagator-aws-xray", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.3.1"],\
+          ["@opentelemetry/propagator-aws-xray", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.3.1"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5340,12 +5340,12 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-propagator-b3-virtual-e5125d2017/0/cache/@opentelemetry-propagator-b3-npm-1.17.0-b401033d32-f07d8c50a6.zip/node_modules/@opentelemetry/propagator-b3/",\
+      ["virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-propagator-b3-virtual-a013833f84/0/cache/@opentelemetry-propagator-b3-npm-1.17.0-b401033d32-f07d8c50a6.zip/node_modules/@opentelemetry/propagator-b3/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/propagator-b3", "virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0"],\
+          ["@opentelemetry/propagator-b3", "virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5363,12 +5363,12 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-propagator-jaeger-virtual-b88ce4b15d/0/cache/@opentelemetry-propagator-jaeger-npm-1.17.0-0ac556b822-7603eb4415.zip/node_modules/@opentelemetry/propagator-jaeger/",\
+      ["virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-propagator-jaeger-virtual-3043967035/0/cache/@opentelemetry-propagator-jaeger-npm-1.17.0-0ac556b822-7603eb4415.zip/node_modules/@opentelemetry/propagator-jaeger/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/propagator-jaeger", "virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0"],\
+          ["@opentelemetry/propagator-jaeger", "virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
         "packagePeers": [\
         "packagePeers": [\
@@ -5386,13 +5386,13 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.3.1", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-resource-detector-aws-virtual-afba941bba/0/cache/@opentelemetry-resource-detector-aws-npm-1.3.1-a531d502b9-05bcfda5a1.zip/node_modules/@opentelemetry/resource-detector-aws/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.3.1", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-resource-detector-aws-virtual-67ad996941/0/cache/@opentelemetry-resource-detector-aws-npm-1.3.1-a531d502b9-05bcfda5a1.zip/node_modules/@opentelemetry/resource-detector-aws/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/resource-detector-aws", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.3.1"],\
+          ["@opentelemetry/resource-detector-aws", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:1.3.1"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
@@ -5411,12 +5411,12 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-resources-virtual-cce7a5bbd5/0/cache/@opentelemetry-resources-npm-1.17.0-984f2f2041-c3555c49a4.zip/node_modules/@opentelemetry/resources/",\
+      ["virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-resources-virtual-5532fb89f3/0/cache/@opentelemetry-resources-npm-1.17.0-984f2f2041-c3555c49a4.zip/node_modules/@opentelemetry/resources/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
@@ -5435,14 +5435,14 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:0.43.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-sdk-logs-virtual-d665399932/0/cache/@opentelemetry-sdk-logs-npm-0.43.0-9b18f3d32a-13e1409127.zip/node_modules/@opentelemetry/sdk-logs/",\
+      ["virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:0.43.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-sdk-logs-virtual-4ca9f0f3e8/0/cache/@opentelemetry-sdk-logs-npm-0.43.0-9b18f3d32a-13e1409127.zip/node_modules/@opentelemetry/sdk-logs/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/sdk-logs", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:0.43.0"],\
+          ["@opentelemetry/sdk-logs", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api-logs", "npm:0.43.0"],\
           ["@opentelemetry/api-logs", "npm:0.43.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api-logs", null]\
           ["@types/opentelemetry__api-logs", null]\
         ],\
         ],\
@@ -5463,13 +5463,13 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-sdk-metrics-virtual-f2339fb4c6/0/cache/@opentelemetry-sdk-metrics-npm-1.17.0-6db4c45098-45876ed27d.zip/node_modules/@opentelemetry/sdk-metrics/",\
+      ["virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-sdk-metrics-virtual-adc27db9f7/0/cache/@opentelemetry-sdk-metrics-npm-1.17.0-6db4c45098-45876ed27d.zip/node_modules/@opentelemetry/sdk-metrics/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/sdk-metrics", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/sdk-metrics", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["lodash.merge", "npm:4.6.2"]\
           ["lodash.merge", "npm:4.6.2"]\
         ],\
         ],\
@@ -5482,30 +5482,30 @@ const RAW_RUNTIME_STATE =
     ]],\
     ]],\
     ["@opentelemetry/sdk-node", [\
     ["@opentelemetry/sdk-node", [\
       ["npm:0.43.0", {\
       ["npm:0.43.0", {\
-        "packageLocation": "./.yarn/unplugged/@opentelemetry-sdk-node-virtual-c9798809ad/node_modules/@opentelemetry/sdk-node/",\
+        "packageLocation": "./.yarn/unplugged/@opentelemetry-sdk-node-virtual-a1f8682fb9/node_modules/@opentelemetry/sdk-node/",\
         "packageDependencies": [\
         "packageDependencies": [\
           ["@opentelemetry/sdk-node", "npm:0.43.0"]\
           ["@opentelemetry/sdk-node", "npm:0.43.0"]\
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0", {\
-        "packageLocation": "./.yarn/unplugged/@opentelemetry-sdk-node-virtual-c9798809ad/node_modules/@opentelemetry/sdk-node/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0", {\
+        "packageLocation": "./.yarn/unplugged/@opentelemetry-sdk-node-virtual-a1f8682fb9/node_modules/@opentelemetry/sdk-node/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/sdk-node", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
+          ["@opentelemetry/sdk-node", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api-logs", "npm:0.43.0"],\
           ["@opentelemetry/api-logs", "npm:0.43.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/exporter-jaeger", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0"],\
-          ["@opentelemetry/exporter-trace-otlp-grpc", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
-          ["@opentelemetry/exporter-trace-otlp-http", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:0.43.0"],\
-          ["@opentelemetry/exporter-trace-otlp-proto", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:0.43.0"],\
-          ["@opentelemetry/exporter-zipkin", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0"],\
-          ["@opentelemetry/instrumentation", "virtual:313e67c16c9cb10b86288a317b2b69481616aa9e59ae6c251c0fc343f3763dea7ae9ab610af2dac2980936564f4bedf5c2a09556b1c52fc9d36b91d57f79ab9b#npm:0.43.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-logs", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:0.43.0"],\
-          ["@opentelemetry/sdk-metrics", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-node", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/exporter-jaeger", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0"],\
+          ["@opentelemetry/exporter-trace-otlp-grpc", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\
+          ["@opentelemetry/exporter-trace-otlp-http", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:0.43.0"],\
+          ["@opentelemetry/exporter-trace-otlp-proto", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:0.43.0"],\
+          ["@opentelemetry/exporter-zipkin", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0"],\
+          ["@opentelemetry/instrumentation", "virtual:026eccee28434a8760111fda38c31859127a5054556a98fecab59aaa998b12bb2e09e1ba27009008402ac02d324b04c01a67c09e75e9ebab59a6026287d8e15d#npm:0.43.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-logs", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:0.43.0"],\
+          ["@opentelemetry/sdk-metrics", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-node", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
@@ -5524,13 +5524,13 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-sdk-trace-base-virtual-e7d5163213/0/cache/@opentelemetry-sdk-trace-base-npm-1.17.0-43a08b26a6-5c269dd973.zip/node_modules/@opentelemetry/sdk-trace-base/",\
+      ["virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-sdk-trace-base-virtual-3494536099/0/cache/@opentelemetry-sdk-trace-base-npm-1.17.0-43a08b26a6-5c269dd973.zip/node_modules/@opentelemetry/sdk-trace-base/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/resources", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/resources", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null]\
           ["@types/opentelemetry__api", null]\
         ],\
         ],\
@@ -5549,16 +5549,16 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0", {\
-        "packageLocation": "./.yarn/__virtual__/@opentelemetry-sdk-trace-node-virtual-ab1c714bd3/0/cache/@opentelemetry-sdk-trace-node-npm-1.17.0-1bbe8ed916-fac380c79b.zip/node_modules/@opentelemetry/sdk-trace-node/",\
+      ["virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0", {\
+        "packageLocation": "./.yarn/__virtual__/@opentelemetry-sdk-trace-node-virtual-6b056aecc3/0/cache/@opentelemetry-sdk-trace-node-npm-1.17.0-1bbe8ed916-fac380c79b.zip/node_modules/@opentelemetry/sdk-trace-node/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["@opentelemetry/sdk-trace-node", "virtual:c9798809adb7e81a42d5632f0aabc34022a247be83b80be5bf9fb8316e90f9ba37f965c54c4f14423d9ddc06306d41f8334dffdac80ad39467e78d24e73a8657#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-node", "virtual:a1f8682fb9eb3e0a3b0e5b3fc86233922da52905ccf33352755a5b7b006686fa060c30872cb526eb9131385260ed8f56161ab132759f6397391ca9b8eb59854f#npm:1.17.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/context-async-hooks", "virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/propagator-b3", "virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0"],\
-          ["@opentelemetry/propagator-jaeger", "virtual:ab1c714bd3903951a441bce94a6278e65cc96cbfa939fef40e1309ca7a85b65f73dde28d7c16d5dc9315211b76fe48a80cf51dc887465a9390c71293acf4d950#npm:1.17.0"],\
-          ["@opentelemetry/sdk-trace-base", "virtual:bf321d9cd754a18b7343627ab0b1ffebf6f71e4bea66a8aed5906c2f9c5cf71352331380a356208e7fe32be7b9b58eb73e02bd73cfc102a1b75ed66222667871#npm:1.17.0"],\
+          ["@opentelemetry/context-async-hooks", "virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/propagator-b3", "virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0"],\
+          ["@opentelemetry/propagator-jaeger", "virtual:6b056aecc321d23c3bc53f556533346f51fb6e4f0433a290557663f39cade2a7fb022044360f7cf554ba3c7018c7636e96309970ff545116cdf39ce98cbd8848#npm:1.17.0"],\
+          ["@opentelemetry/sdk-trace-base", "virtual:5c27970641264a84cf0d6c620d7ba24bbd87f52cc8dc968c78746a2e1738aedbd99665cb9235c0838f4b7edf6f5786967b80d47b04275f09069b401d86bb5f1f#npm:1.17.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["semver", "npm:7.5.4"]\
           ["semver", "npm:7.5.4"]\
         ],\
         ],\
@@ -6727,6 +6727,16 @@ const RAW_RUNTIME_STATE =
           ["@standardnotes/domain-events-infra", "workspace:packages/domain-events-infra"],\
           ["@standardnotes/domain-events-infra", "workspace:packages/domain-events-infra"],\
           ["@aws-sdk/client-sns", "npm:3.342.0"],\
           ["@aws-sdk/client-sns", "npm:3.342.0"],\
           ["@aws-sdk/client-sqs", "npm:3.342.0"],\
           ["@aws-sdk/client-sqs", "npm:3.342.0"],\
+          ["@opentelemetry/api", "npm:1.6.0"],\
+          ["@opentelemetry/exporter-metrics-otlp-proto", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\
+          ["@opentelemetry/exporter-trace-otlp-grpc", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.43.0"],\
+          ["@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/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"],\
+          ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@standardnotes/domain-events", "workspace:packages/domain-events"],\
           ["@standardnotes/domain-events", "workspace:packages/domain-events"],\
           ["@types/ioredis", "npm:5.0.0"],\
           ["@types/ioredis", "npm:5.0.0"],\
           ["@types/jest", "npm:29.5.2"],\
           ["@types/jest", "npm:29.5.2"],\
@@ -6738,6 +6748,7 @@ const RAW_RUNTIME_STATE =
           ["ioredis", "npm:5.3.2"],\
           ["ioredis", "npm:5.3.2"],\
           ["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.5.0"],\
           ["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.5.0"],\
           ["newrelic", "npm:11.0.0"],\
           ["newrelic", "npm:11.0.0"],\
+          ["opentelemetry-instrumentation-typeorm", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.39.1"],\
           ["prettier", "npm:3.0.3"],\
           ["prettier", "npm:3.0.3"],\
           ["reflect-metadata", "npm:0.1.13"],\
           ["reflect-metadata", "npm:0.1.13"],\
           ["sqs-consumer", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:7.3.0"],\
           ["sqs-consumer", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:7.3.0"],\
@@ -6940,16 +6951,6 @@ const RAW_RUNTIME_STATE =
           ["@aws-sdk/client-sns", "npm:3.342.0"],\
           ["@aws-sdk/client-sns", "npm:3.342.0"],\
           ["@aws-sdk/client-sqs", "npm:3.342.0"],\
           ["@aws-sdk/client-sqs", "npm:3.342.0"],\
           ["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
           ["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.1"],\
-          ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/exporter-metrics-otlp-proto", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
-          ["@opentelemetry/exporter-trace-otlp-grpc", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
-          ["@opentelemetry/id-generator-aws-xray", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.2.1"],\
-          ["@opentelemetry/instrumentation-aws-sdk", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.36.0"],\
-          ["@opentelemetry/instrumentation-http", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
-          ["@opentelemetry/propagator-aws-xray", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.3.1"],\
-          ["@opentelemetry/resource-detector-aws", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:1.3.1"],\
-          ["@opentelemetry/sdk-node", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.43.0"],\
-          ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@standardnotes/api", "npm:1.26.26"],\
           ["@standardnotes/api", "npm:1.26.26"],\
           ["@standardnotes/common", "workspace:packages/common"],\
           ["@standardnotes/common", "workspace:packages/common"],\
           ["@standardnotes/domain-core", "workspace:packages/domain-core"],\
           ["@standardnotes/domain-core", "workspace:packages/domain-core"],\
@@ -6979,7 +6980,6 @@ const RAW_RUNTIME_STATE =
           ["mongodb", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:6.0.0"],\
           ["mongodb", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:6.0.0"],\
           ["mysql2", "npm:3.3.3"],\
           ["mysql2", "npm:3.3.3"],\
           ["newrelic", "npm:11.0.0"],\
           ["newrelic", "npm:11.0.0"],\
-          ["opentelemetry-instrumentation-typeorm", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.39.1"],\
           ["prettier", "npm:3.0.3"],\
           ["prettier", "npm:3.0.3"],\
           ["reflect-metadata", "npm:0.1.13"],\
           ["reflect-metadata", "npm:0.1.13"],\
           ["sqlite3", "virtual:31b5a94a105c89c9294c3d524a7f8929fe63ee5a2efadf21951ca4c0cfd2ecf02e8f4ef5a066bbda091f1e3a56e57c6749069a080618c96b22e51131a330fc4a#npm:5.1.6"],\
           ["sqlite3", "virtual:31b5a94a105c89c9294c3d524a7f8929fe63ee5a2efadf21951ca4c0cfd2ecf02e8f4ef5a066bbda091f1e3a56e57c6749069a080618c96b22e51131a330fc4a#npm:5.1.6"],\
@@ -14975,13 +14975,13 @@ const RAW_RUNTIME_STATE =
         ],\
         ],\
         "linkType": "SOFT"\
         "linkType": "SOFT"\
       }],\
       }],\
-      ["virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.39.1", {\
-        "packageLocation": "./.yarn/__virtual__/opentelemetry-instrumentation-typeorm-virtual-ab7fd414a0/0/cache/opentelemetry-instrumentation-typeorm-npm-0.39.1-8f58829acf-481a34e83a.zip/node_modules/opentelemetry-instrumentation-typeorm/",\
+      ["virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.39.1", {\
+        "packageLocation": "./.yarn/__virtual__/opentelemetry-instrumentation-typeorm-virtual-74481afe9e/0/cache/opentelemetry-instrumentation-typeorm-npm-0.39.1-8f58829acf-481a34e83a.zip/node_modules/opentelemetry-instrumentation-typeorm/",\
         "packageDependencies": [\
         "packageDependencies": [\
-          ["opentelemetry-instrumentation-typeorm", "virtual:365b8c88cdf194291829ee28b79556e2328175d26a621363e703848100bea0042e9500db2a1206c9bbc3a4a76a1d169639ef774b2ea3a1a98584a9936b58c6be#npm:0.39.1"],\
+          ["opentelemetry-instrumentation-typeorm", "virtual:685a6222c3349423674bb7f0684ba34e2ab20912010f352e04dcf707a156e13183fc382e2417cb37a60f3e7b52fd0178c53181674890e1773eb83e190dc13378#npm:0.39.1"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
           ["@opentelemetry/api", "npm:1.6.0"],\
-          ["@opentelemetry/core", "virtual:da65d8ce569403d8bef6743ff713c548402a8bf8b7a305c03ed1a5c8d1455234f9fa8c9fa62820a065b39d5279bb5b1a7a293397788fd64ee33ab143344e7206#npm:1.17.0"],\
-          ["@opentelemetry/instrumentation", "virtual:0a5a08c07a02a3346f848c8ce2993c87a0ad250b4d0c2ed1717aca2a2fe9b0f38398c4a1ff7db9c3a6733e011acb59f4c000d640589cbc08ef7dca4b428fa99c#npm:0.41.2"],\
+          ["@opentelemetry/core", "virtual:d3c7bbf6a7f97a974e49c3267814e8607d9d8d839b4f62268d716ea7e832f7e3ded30c86e636fa7c95d6294ec5dc6ec07c16da5ffc14b141208d01acef9f1658#npm:1.17.0"],\
+          ["@opentelemetry/instrumentation", "virtual:615937aa81839b05262fb17b9798d2b03176d47c4f8dad05d5bcb050f95f724786e9efd2e9f8e96aeb0f4f2bd3253509727df5e270ef87443598047e1192e3e9#npm:0.41.2"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@opentelemetry/semantic-conventions", "npm:1.17.0"],\
           ["@types/opentelemetry__api", null],\
           ["@types/opentelemetry__api", null],\
           ["is-promise", "npm:4.0.0"]\
           ["is-promise", "npm:4.0.0"]\

+ 6 - 0
packages/api-gateway/bin/server.ts

@@ -36,6 +36,7 @@ import { InversifyExpressServer } from 'inversify-express-utils'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import { TYPES } from '../src/Bootstrap/Types'
 import { TYPES } from '../src/Bootstrap/Types'
 import { Env } from '../src/Bootstrap/Env'
 import { Env } from '../src/Bootstrap/Env'
+import { OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
 
 
 const container = new ContainerConfigLoader()
 const container = new ContainerConfigLoader()
 void container.load().then((container) => {
 void container.load().then((container) => {
@@ -104,6 +105,11 @@ void container.load().then((container) => {
 
 
   const serverInstance = server.build()
   const serverInstance = server.build()
 
 
+  if (!container.get<boolean>(TYPES.ApiGateway_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)) {
+    const openTelemetrySDK = container.get<OpenTelemetrySDKInterface>(TYPES.ApiGateway_OpenTelemetrySDK)
+    openTelemetrySDK.start()
+  }
+
   serverInstance.listen(env.get('PORT'))
   serverInstance.listen(env.get('PORT'))
 
 
   logger.info(`Server started on port ${process.env.PORT}`)
   logger.info(`Server started on port ${process.env.PORT}`)

+ 14 - 1
packages/api-gateway/src/Bootstrap/Container.ts

@@ -16,12 +16,13 @@ import { RedisCrossServiceTokenCache } from '../Infra/Redis/RedisCrossServiceTok
 import { WebSocketAuthMiddleware } from '../Controller/WebSocketAuthMiddleware'
 import { WebSocketAuthMiddleware } from '../Controller/WebSocketAuthMiddleware'
 import { InMemoryCrossServiceTokenCache } from '../Infra/InMemory/InMemoryCrossServiceTokenCache'
 import { InMemoryCrossServiceTokenCache } from '../Infra/InMemory/InMemoryCrossServiceTokenCache'
 import { DirectCallServiceProxy } from '../Service/Proxy/DirectCallServiceProxy'
 import { DirectCallServiceProxy } from '../Service/Proxy/DirectCallServiceProxy'
-import { ServiceContainerInterface } from '@standardnotes/domain-core'
+import { ServiceContainerInterface, ServiceIdentifier } from '@standardnotes/domain-core'
 import { EndpointResolverInterface } from '../Service/Resolver/EndpointResolverInterface'
 import { EndpointResolverInterface } from '../Service/Resolver/EndpointResolverInterface'
 import { EndpointResolver } from '../Service/Resolver/EndpointResolver'
 import { EndpointResolver } from '../Service/Resolver/EndpointResolver'
 import { RequiredCrossServiceTokenMiddleware } from '../Controller/RequiredCrossServiceTokenMiddleware'
 import { RequiredCrossServiceTokenMiddleware } from '../Controller/RequiredCrossServiceTokenMiddleware'
 import { OptionalCrossServiceTokenMiddleware } from '../Controller/OptionalCrossServiceTokenMiddleware'
 import { OptionalCrossServiceTokenMiddleware } from '../Controller/OptionalCrossServiceTokenMiddleware'
 import { Transform } from 'stream'
 import { Transform } from 'stream'
+import { OpenTelemetrySDK, OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
 
 
 export class ContainerConfigLoader {
 export class ContainerConfigLoader {
   async load(configuration?: {
   async load(configuration?: {
@@ -35,8 +36,20 @@ export class ContainerConfigLoader {
     const container = new Container()
     const container = new Container()
 
 
     const isConfiguredForHomeServer = env.get('MODE', true) === 'home-server'
     const isConfiguredForHomeServer = env.get('MODE', true) === 'home-server'
+    const isConfiguredForSelfHosting = env.get('MODE', true) === 'self-hosted'
+    const isConfiguredForHomeServerOrSelfHosting = isConfiguredForHomeServer || isConfiguredForSelfHosting
     const isConfiguredForInMemoryCache = env.get('CACHE_TYPE', true) === 'memory'
     const isConfiguredForInMemoryCache = env.get('CACHE_TYPE', true) === 'memory'
 
 
+    container
+      .bind<boolean>(TYPES.ApiGateway_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)
+      .toConstantValue(isConfiguredForHomeServerOrSelfHosting)
+
+    if (!isConfiguredForHomeServerOrSelfHosting) {
+      container
+        .bind<OpenTelemetrySDKInterface>(TYPES.ApiGateway_OpenTelemetrySDK)
+        .toConstantValue(new OpenTelemetrySDK(ServiceIdentifier.NAMES.ApiGateway))
+    }
+
     const winstonFormatters = [winston.format.splat(), winston.format.json()]
     const winstonFormatters = [winston.format.splat(), winston.format.json()]
     if (env.get('NEW_RELIC_ENABLED', true) === 'true') {
     if (env.get('NEW_RELIC_ENABLED', true) === 'true') {
       await import('newrelic')
       await import('newrelic')

+ 4 - 0
packages/api-gateway/src/Bootstrap/Types.ts

@@ -15,6 +15,9 @@ export const TYPES = {
   ApiGateway_VERSION: Symbol.for('ApiGateway_VERSION'),
   ApiGateway_VERSION: Symbol.for('ApiGateway_VERSION'),
   ApiGateway_CROSS_SERVICE_TOKEN_CACHE_TTL: Symbol.for('ApiGateway_CROSS_SERVICE_TOKEN_CACHE_TTL'),
   ApiGateway_CROSS_SERVICE_TOKEN_CACHE_TTL: Symbol.for('ApiGateway_CROSS_SERVICE_TOKEN_CACHE_TTL'),
   ApiGateway_IS_CONFIGURED_FOR_HOME_SERVER: Symbol.for('ApiGateway_IS_CONFIGURED_FOR_HOME_SERVER'),
   ApiGateway_IS_CONFIGURED_FOR_HOME_SERVER: Symbol.for('ApiGateway_IS_CONFIGURED_FOR_HOME_SERVER'),
+  ApiGateway_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING: Symbol.for(
+    'ApiGateway_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING',
+  ),
   // Middleware
   // Middleware
   ApiGateway_RequiredCrossServiceTokenMiddleware: Symbol.for('ApiGateway_RequiredCrossServiceTokenMiddleware'),
   ApiGateway_RequiredCrossServiceTokenMiddleware: Symbol.for('ApiGateway_RequiredCrossServiceTokenMiddleware'),
   ApiGateway_OptionalCrossServiceTokenMiddleware: Symbol.for('ApiGateway_OptionalCrossServiceTokenMiddleware'),
   ApiGateway_OptionalCrossServiceTokenMiddleware: Symbol.for('ApiGateway_OptionalCrossServiceTokenMiddleware'),
@@ -25,4 +28,5 @@ export const TYPES = {
   ApiGateway_CrossServiceTokenCache: Symbol.for('ApiGateway_CrossServiceTokenCache'),
   ApiGateway_CrossServiceTokenCache: Symbol.for('ApiGateway_CrossServiceTokenCache'),
   ApiGateway_Timer: Symbol.for('ApiGateway_Timer'),
   ApiGateway_Timer: Symbol.for('ApiGateway_Timer'),
   ApiGateway_EndpointResolver: Symbol.for('ApiGateway_EndpointResolver'),
   ApiGateway_EndpointResolver: Symbol.for('ApiGateway_EndpointResolver'),
+  ApiGateway_OpenTelemetrySDK: Symbol.for('ApiGateway_OpenTelemetrySDK'),
 }
 }

+ 6 - 0
packages/auth/bin/server.ts

@@ -29,6 +29,7 @@ import { InversifyExpressServer } from 'inversify-express-utils'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import TYPES from '../src/Bootstrap/Types'
 import TYPES from '../src/Bootstrap/Types'
 import { Env } from '../src/Bootstrap/Env'
 import { Env } from '../src/Bootstrap/Env'
+import { OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
 
 
 const container = new ContainerConfigLoader()
 const container = new ContainerConfigLoader()
 void container.load().then((container) => {
 void container.load().then((container) => {
@@ -66,6 +67,11 @@ void container.load().then((container) => {
 
 
   const serverInstance = server.build()
   const serverInstance = server.build()
 
 
+  if (!container.get<boolean>(TYPES.Auth_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)) {
+    const openTelemetrySDK = container.get<OpenTelemetrySDKInterface>(TYPES.Auth_OpenTelemetrySDK)
+    openTelemetrySDK.start()
+  }
+
   serverInstance.listen(env.get('PORT'))
   serverInstance.listen(env.get('PORT'))
 
 
   logger.info(`Server started on port ${process.env.PORT}`)
   logger.info(`Server started on port ${process.env.PORT}`)

+ 15 - 0
packages/auth/src/Bootstrap/Container.ts

@@ -89,6 +89,8 @@ import { ExtensionKeyGrantedEventHandler } from '../Domain/Handler/ExtensionKeyG
 import {
 import {
   DirectCallDomainEventPublisher,
   DirectCallDomainEventPublisher,
   DirectCallEventMessageHandler,
   DirectCallEventMessageHandler,
+  OpenTelemetrySDK,
+  OpenTelemetrySDKInterface,
   SNSDomainEventPublisher,
   SNSDomainEventPublisher,
   SQSDomainEventSubscriberFactory,
   SQSDomainEventSubscriberFactory,
   SQSEventMessageHandler,
   SQSEventMessageHandler,
@@ -188,6 +190,7 @@ import {
   ControllerContainer,
   ControllerContainer,
   ControllerContainerInterface,
   ControllerContainerInterface,
   MapperInterface,
   MapperInterface,
+  ServiceIdentifier,
   SharedVaultUser,
   SharedVaultUser,
 } from '@standardnotes/domain-core'
 } from '@standardnotes/domain-core'
 import { SessionTracePersistenceMapper } from '../Mapping/SessionTracePersistenceMapper'
 import { SessionTracePersistenceMapper } from '../Mapping/SessionTracePersistenceMapper'
@@ -319,8 +322,20 @@ export class ContainerConfigLoader {
     logger.debug('Database initialized')
     logger.debug('Database initialized')
 
 
     const isConfiguredForHomeServer = env.get('MODE', true) === 'home-server'
     const isConfiguredForHomeServer = env.get('MODE', true) === 'home-server'
+    const isConfiguredForSelfHosting = env.get('MODE', true) === 'self-hosted'
+    const isConfiguredForHomeServerOrSelfHosting = isConfiguredForHomeServer || isConfiguredForSelfHosting
     const isConfiguredForInMemoryCache = env.get('CACHE_TYPE', true) === 'memory'
     const isConfiguredForInMemoryCache = env.get('CACHE_TYPE', true) === 'memory'
 
 
+    container
+      .bind<boolean>(TYPES.Auth_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)
+      .toConstantValue(isConfiguredForHomeServerOrSelfHosting)
+
+    if (!isConfiguredForHomeServerOrSelfHosting) {
+      container
+        .bind<OpenTelemetrySDKInterface>(TYPES.Auth_OpenTelemetrySDK)
+        .toConstantValue(new OpenTelemetrySDK(ServiceIdentifier.NAMES.Auth))
+    }
+
     if (!isConfiguredForInMemoryCache) {
     if (!isConfiguredForInMemoryCache) {
       const redisUrl = env.get('REDIS_URL')
       const redisUrl = env.get('REDIS_URL')
       const isRedisInClusterMode = redisUrl.indexOf(',') > 0
       const isRedisInClusterMode = redisUrl.indexOf(',') > 0

+ 2 - 0
packages/auth/src/Bootstrap/Types.ts

@@ -3,6 +3,7 @@ const TYPES = {
   Auth_Redis: Symbol.for('Auth_Redis'),
   Auth_Redis: Symbol.for('Auth_Redis'),
   Auth_SNS: Symbol.for('Auth_SNS'),
   Auth_SNS: Symbol.for('Auth_SNS'),
   Auth_SQS: Symbol.for('Auth_SQS'),
   Auth_SQS: Symbol.for('Auth_SQS'),
+  Auth_OpenTelemetrySDK: Symbol.for('Auth_OpenTelemetrySDK'),
   // Mapping
   // Mapping
   Auth_SessionTracePersistenceMapper: Symbol.for('Auth_SessionTracePersistenceMapper'),
   Auth_SessionTracePersistenceMapper: Symbol.for('Auth_SessionTracePersistenceMapper'),
   Auth_AuthenticatorChallengePersistenceMapper: Symbol.for('Auth_AuthenticatorChallengePersistenceMapper'),
   Auth_AuthenticatorChallengePersistenceMapper: Symbol.for('Auth_AuthenticatorChallengePersistenceMapper'),
@@ -105,6 +106,7 @@ const TYPES = {
   Auth_U2F_EXPECTED_ORIGIN: Symbol.for('Auth_U2F_EXPECTED_ORIGIN'),
   Auth_U2F_EXPECTED_ORIGIN: Symbol.for('Auth_U2F_EXPECTED_ORIGIN'),
   Auth_U2F_REQUIRE_USER_VERIFICATION: Symbol.for('Auth_U2F_REQUIRE_USER_VERIFICATION'),
   Auth_U2F_REQUIRE_USER_VERIFICATION: Symbol.for('Auth_U2F_REQUIRE_USER_VERIFICATION'),
   Auth_READONLY_USERS: Symbol.for('Auth_READONLY_USERS'),
   Auth_READONLY_USERS: Symbol.for('Auth_READONLY_USERS'),
+  Auth_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING: Symbol.for('Auth_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING'),
   // use cases
   // use cases
   Auth_AuthenticateUser: Symbol.for('Auth_AuthenticateUser'),
   Auth_AuthenticateUser: Symbol.for('Auth_AuthenticateUser'),
   Auth_AuthenticateRequest: Symbol.for('Auth_AuthenticateRequest'),
   Auth_AuthenticateRequest: Symbol.for('Auth_AuthenticateRequest'),

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

@@ -26,8 +26,19 @@
   "dependencies": {
   "dependencies": {
     "@aws-sdk/client-sns": "^3.332.0",
     "@aws-sdk/client-sns": "^3.332.0",
     "@aws-sdk/client-sqs": "^3.332.0",
     "@aws-sdk/client-sqs": "^3.332.0",
+    "@opentelemetry/api": "^1.6.0",
+    "@opentelemetry/exporter-metrics-otlp-proto": "^0.43.0",
+    "@opentelemetry/exporter-trace-otlp-grpc": "^0.43.0",
+    "@opentelemetry/id-generator-aws-xray": "^1.2.1",
+    "@opentelemetry/instrumentation-aws-sdk": "^0.36.0",
+    "@opentelemetry/instrumentation-http": "^0.43.0",
+    "@opentelemetry/propagator-aws-xray": "^1.3.1",
+    "@opentelemetry/resource-detector-aws": "^1.3.1",
+    "@opentelemetry/sdk-node": "^0.43.0",
+    "@opentelemetry/semantic-conventions": "^1.17.0",
     "@standardnotes/domain-events": "workspace:*",
     "@standardnotes/domain-events": "workspace:*",
     "ioredis": "^5.2.4",
     "ioredis": "^5.2.4",
+    "opentelemetry-instrumentation-typeorm": "^0.39.1",
     "reflect-metadata": "^0.1.13",
     "reflect-metadata": "^0.1.13",
     "sqs-consumer": "^7.3.0",
     "sqs-consumer": "^7.3.0",
     "winston": "^3.8.1"
     "winston": "^3.8.1"

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

@@ -0,0 +1,57 @@
+import * as OpenTelemetrySDKNode from '@opentelemetry/sdk-node'
+import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'
+import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc'
+import { AWSXRayIdGenerator } from '@opentelemetry/id-generator-aws-xray'
+import * as AwsResourceDetectors from '@opentelemetry/resource-detector-aws'
+import { TypeormInstrumentation } from 'opentelemetry-instrumentation-typeorm'
+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 { OpenTelemetrySDKInterface } from './OpenTelemetrySDKInterface'
+
+export class OpenTelemetrySDK implements OpenTelemetrySDKInterface {
+  private declare sdk: OpenTelemetrySDKNode.NodeSDK
+
+  constructor(private serviceName: string) {
+    this.build()
+  }
+
+  build(): void {
+    const otResource = OpenTelemetrySDKNode.resources.Resource.default().merge(
+      new OpenTelemetrySDKNode.resources.Resource({
+        [SemanticResourceAttributes.SERVICE_NAME]: this.serviceName,
+      }),
+    )
+    const traceExporter = new OTLPTraceExporter()
+    const spanProcessor = new OpenTelemetrySDKNode.tracing.BatchSpanProcessor(traceExporter)
+    const metricReader = new OpenTelemetrySDKNode.metrics.PeriodicExportingMetricReader({
+      exportIntervalMillis: 1_000,
+      exporter: new OTLPMetricExporter(),
+    })
+
+    this.sdk = new OpenTelemetrySDKNode.NodeSDK({
+      sampler: new OpenTelemetrySDKNode.tracing.TraceIdRatioBasedSampler(0.01),
+      textMapPropagator: new AWSXRayPropagator(),
+      instrumentations: [
+        new HttpInstrumentation(),
+        new AwsInstrumentation({
+          suppressInternalInstrumentation: true,
+        }),
+        new TypeormInstrumentation(),
+      ],
+      metricReader: metricReader,
+      resource: otResource,
+      spanProcessor: spanProcessor,
+      traceExporter: traceExporter,
+      idGenerator: new AWSXRayIdGenerator(),
+      autoDetectResources: true,
+      resourceDetectors: [AwsResourceDetectors.awsEcsDetector],
+    })
+  }
+
+  start(): void {
+    this.sdk.start()
+  }
+}

+ 3 - 0
packages/domain-events-infra/src/Infra/OpenTelemetry/OpenTelemetrySDKInterface.ts

@@ -0,0 +1,3 @@
+export interface OpenTelemetrySDKInterface {
+  start(): void
+}

+ 3 - 0
packages/domain-events-infra/src/Infra/index.ts

@@ -1,6 +1,9 @@
 export * from './DirectCall/DirectCallDomainEventPublisher'
 export * from './DirectCall/DirectCallDomainEventPublisher'
 export * from './DirectCall/DirectCallEventMessageHandler'
 export * from './DirectCall/DirectCallEventMessageHandler'
 
 
+export * from './OpenTelemetry/OpenTelemetrySDK'
+export * from './OpenTelemetry/OpenTelemetrySDKInterface'
+
 export * from './Redis/RedisDomainEventPublisher'
 export * from './Redis/RedisDomainEventPublisher'
 export * from './Redis/RedisDomainEventSubscriber'
 export * from './Redis/RedisDomainEventSubscriber'
 export * from './Redis/RedisDomainEventSubscriberFactory'
 export * from './Redis/RedisDomainEventSubscriberFactory'

+ 6 - 0
packages/files/bin/server.ts

@@ -17,6 +17,7 @@ import { InversifyExpressServer } from 'inversify-express-utils'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import TYPES from '../src/Bootstrap/Types'
 import TYPES from '../src/Bootstrap/Types'
 import { Env } from '../src/Bootstrap/Env'
 import { Env } from '../src/Bootstrap/Env'
+import { OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
 
 
 const container = new ContainerConfigLoader()
 const container = new ContainerConfigLoader()
 void container.load().then((container) => {
 void container.load().then((container) => {
@@ -90,6 +91,11 @@ void container.load().then((container) => {
 
 
   const serverInstance = server.build()
   const serverInstance = server.build()
 
 
+  if (!container.get<boolean>(TYPES.Files_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)) {
+    const openTelemetrySDK = container.get<OpenTelemetrySDKInterface>(TYPES.Files_OpenTelemetrySDK)
+    openTelemetrySDK.start()
+  }
+
   serverInstance.listen(env.get('PORT'))
   serverInstance.listen(env.get('PORT'))
 
 
   logger.info(`Server started on port ${process.env.PORT}`)
   logger.info(`Server started on port ${process.env.PORT}`)

+ 16 - 1
packages/files/src/Bootstrap/Container.ts

@@ -16,6 +16,8 @@ import { DomainEventFactory } from '../Domain/Event/DomainEventFactory'
 import {
 import {
   DirectCallDomainEventPublisher,
   DirectCallDomainEventPublisher,
   DirectCallEventMessageHandler,
   DirectCallEventMessageHandler,
+  OpenTelemetrySDK,
+  OpenTelemetrySDKInterface,
   SNSDomainEventPublisher,
   SNSDomainEventPublisher,
   SQSDomainEventSubscriberFactory,
   SQSDomainEventSubscriberFactory,
   SQSEventMessageHandler,
   SQSEventMessageHandler,
@@ -52,6 +54,7 @@ import { S3FileMover } from '../Infra/S3/S3FileMover'
 import { FSFileMover } from '../Infra/FS/FSFileMover'
 import { FSFileMover } from '../Infra/FS/FSFileMover'
 import { MoveFile } from '../Domain/UseCase/MoveFile/MoveFile'
 import { MoveFile } from '../Domain/UseCase/MoveFile/MoveFile'
 import { SharedVaultValetTokenAuthMiddleware } from '../Infra/InversifyExpress/Middleware/SharedVaultValetTokenAuthMiddleware'
 import { SharedVaultValetTokenAuthMiddleware } from '../Infra/InversifyExpress/Middleware/SharedVaultValetTokenAuthMiddleware'
+import { ServiceIdentifier } from '@standardnotes/domain-core'
 
 
 export class ContainerConfigLoader {
 export class ContainerConfigLoader {
   async load(configuration?: {
   async load(configuration?: {
@@ -81,8 +84,20 @@ export class ContainerConfigLoader {
       .bind(TYPES.Files_FILE_UPLOAD_PATH)
       .bind(TYPES.Files_FILE_UPLOAD_PATH)
       .toConstantValue(env.get('FILE_UPLOAD_PATH', true) ?? `${__dirname}/../../uploads`)
       .toConstantValue(env.get('FILE_UPLOAD_PATH', true) ?? `${__dirname}/../../uploads`)
 
 
-    const isConfiguredForHomeServer = env.get('MODE', true) === 'home-server'
     const isConfiguredForInMemoryCache = env.get('CACHE_TYPE', true) === 'memory'
     const isConfiguredForInMemoryCache = env.get('CACHE_TYPE', true) === 'memory'
+    const isConfiguredForHomeServer = env.get('MODE', true) === 'home-server'
+    const isConfiguredForSelfHosting = env.get('MODE', true) === 'self-hosted'
+    const isConfiguredForHomeServerOrSelfHosting = isConfiguredForHomeServer || isConfiguredForSelfHosting
+
+    container
+      .bind<boolean>(TYPES.Files_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)
+      .toConstantValue(isConfiguredForHomeServerOrSelfHosting)
+
+    if (!isConfiguredForHomeServerOrSelfHosting) {
+      container
+        .bind<OpenTelemetrySDKInterface>(TYPES.Files_OpenTelemetrySDK)
+        .toConstantValue(new OpenTelemetrySDK(ServiceIdentifier.NAMES.Files))
+    }
 
 
     let logger: winston.Logger
     let logger: winston.Logger
     if (configuration?.logger) {
     if (configuration?.logger) {

+ 4 - 0
packages/files/src/Bootstrap/Types.ts

@@ -5,6 +5,7 @@ const TYPES = {
   Files_S3: Symbol.for('Files_S3'),
   Files_S3: Symbol.for('Files_S3'),
   Files_SNS: Symbol.for('Files_SNS'),
   Files_SNS: Symbol.for('Files_SNS'),
   Files_SQS: Symbol.for('Files_SQS'),
   Files_SQS: Symbol.for('Files_SQS'),
+  Files_OpenTelemetrySDK: Symbol.for('Files_OpenTelemetrySDK'),
 
 
   // use cases
   // use cases
   Files_UploadFileChunk: Symbol.for('Files_UploadFileChunk'),
   Files_UploadFileChunk: Symbol.for('Files_UploadFileChunk'),
@@ -47,6 +48,9 @@ const TYPES = {
   Files_VERSION: Symbol.for('Files_VERSION'),
   Files_VERSION: Symbol.for('Files_VERSION'),
   Files_NEW_RELIC_ENABLED: Symbol.for('Files_NEW_RELIC_ENABLED'),
   Files_NEW_RELIC_ENABLED: Symbol.for('Files_NEW_RELIC_ENABLED'),
   Files_FILE_UPLOAD_PATH: Symbol.for('Files_FILE_UPLOAD_PATH'),
   Files_FILE_UPLOAD_PATH: Symbol.for('Files_FILE_UPLOAD_PATH'),
+  Files_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING: Symbol.for(
+    'Files_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING',
+  ),
 
 
   // Handlers
   // Handlers
   Files_DomainEventMessageHandler: Symbol.for('Files_DomainEventMessageHandler'),
   Files_DomainEventMessageHandler: Symbol.for('Files_DomainEventMessageHandler'),

+ 2 - 2
packages/revisions/bin/server.ts

@@ -11,7 +11,7 @@ import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 
 
 import '../src/Infra/InversifyExpress/AnnotatedRevisionsController'
 import '../src/Infra/InversifyExpress/AnnotatedRevisionsController'
 import '../src/Infra/InversifyExpress/AnnotatedHealthCheckController'
 import '../src/Infra/InversifyExpress/AnnotatedHealthCheckController'
-import { NodeSDK } from '@opentelemetry/sdk-node'
+import { OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
 
 
 const container = new ContainerConfigLoader()
 const container = new ContainerConfigLoader()
 void container.load().then((container) => {
 void container.load().then((container) => {
@@ -47,7 +47,7 @@ void container.load().then((container) => {
   const serverInstance = server.build()
   const serverInstance = server.build()
 
 
   if (!container.get<boolean>(TYPES.Revisions_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)) {
   if (!container.get<boolean>(TYPES.Revisions_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)) {
-    const openTelemetrySDK = container.get<NodeSDK>(TYPES.Revisions_OpenTelemetrySDK)
+    const openTelemetrySDK = container.get<OpenTelemetrySDKInterface>(TYPES.Revisions_OpenTelemetrySDK)
     openTelemetrySDK.start()
     openTelemetrySDK.start()
   }
   }
 
 

+ 0 - 11
packages/revisions/package.json

@@ -28,16 +28,6 @@
     "@aws-sdk/client-s3": "^3.332.0",
     "@aws-sdk/client-s3": "^3.332.0",
     "@aws-sdk/client-sns": "^3.332.0",
     "@aws-sdk/client-sns": "^3.332.0",
     "@aws-sdk/client-sqs": "^3.332.0",
     "@aws-sdk/client-sqs": "^3.332.0",
-    "@opentelemetry/api": "^1.6.0",
-    "@opentelemetry/exporter-metrics-otlp-proto": "^0.43.0",
-    "@opentelemetry/exporter-trace-otlp-grpc": "^0.43.0",
-    "@opentelemetry/id-generator-aws-xray": "^1.2.1",
-    "@opentelemetry/instrumentation-aws-sdk": "^0.36.0",
-    "@opentelemetry/instrumentation-http": "^0.43.0",
-    "@opentelemetry/propagator-aws-xray": "^1.3.1",
-    "@opentelemetry/resource-detector-aws": "^1.3.1",
-    "@opentelemetry/sdk-node": "^0.43.0",
-    "@opentelemetry/semantic-conventions": "^1.17.0",
     "@standardnotes/api": "^1.26.26",
     "@standardnotes/api": "^1.26.26",
     "@standardnotes/common": "workspace:^",
     "@standardnotes/common": "workspace:^",
     "@standardnotes/domain-core": "workspace:^",
     "@standardnotes/domain-core": "workspace:^",
@@ -54,7 +44,6 @@
     "ioredis": "^5.3.2",
     "ioredis": "^5.3.2",
     "mongodb": "^6.0.0",
     "mongodb": "^6.0.0",
     "mysql2": "^3.0.1",
     "mysql2": "^3.0.1",
-    "opentelemetry-instrumentation-typeorm": "^0.39.1",
     "reflect-metadata": "0.1.13",
     "reflect-metadata": "0.1.13",
     "sqlite3": "^5.1.6",
     "sqlite3": "^5.1.6",
     "typeorm": "^0.3.17",
     "typeorm": "^0.3.17",

+ 5 - 42
packages/revisions/src/Bootstrap/Container.ts

@@ -9,12 +9,6 @@ import { Container, interfaces } from 'inversify'
 import { MongoRepository, Repository } from 'typeorm'
 import { MongoRepository, Repository } from 'typeorm'
 import * as winston from 'winston'
 import * as winston from 'winston'
 import { SNSClient, SNSClientConfig } from '@aws-sdk/client-sns'
 import { SNSClient, SNSClientConfig } from '@aws-sdk/client-sns'
-import * as OpenTelemetrySDK from '@opentelemetry/sdk-node'
-import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'
-import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc'
-import { AWSXRayIdGenerator } from '@opentelemetry/id-generator-aws-xray'
-import * as AwsResourceDetectors from '@opentelemetry/resource-detector-aws'
-import { TypeormInstrumentation } from 'opentelemetry-instrumentation-typeorm'
 
 
 import { Revision } from '../Domain/Revision/Revision'
 import { Revision } from '../Domain/Revision/Revision'
 import { RevisionMetadata } from '../Domain/Revision/RevisionMetadata'
 import { RevisionMetadata } from '../Domain/Revision/RevisionMetadata'
@@ -46,6 +40,8 @@ import {
   DirectCallEventMessageHandler,
   DirectCallEventMessageHandler,
   DirectCallDomainEventPublisher,
   DirectCallDomainEventPublisher,
   SNSDomainEventPublisher,
   SNSDomainEventPublisher,
+  OpenTelemetrySDKInterface,
+  OpenTelemetrySDK,
 } from '@standardnotes/domain-events-infra'
 } from '@standardnotes/domain-events-infra'
 import { DumpRepositoryInterface } from '../Domain/Dump/DumpRepositoryInterface'
 import { DumpRepositoryInterface } from '../Domain/Dump/DumpRepositoryInterface'
 import { AccountDeletionRequestedEventHandler } from '../Domain/Handler/AccountDeletionRequestedEventHandler'
 import { AccountDeletionRequestedEventHandler } from '../Domain/Handler/AccountDeletionRequestedEventHandler'
@@ -82,10 +78,6 @@ import { SharedVaultRemovedEventHandler } from '../Domain/Handler/SharedVaultRem
 import { TransitionRepositoryInterface } from '../Domain/Transition/TransitionRepositoryInterface'
 import { TransitionRepositoryInterface } from '../Domain/Transition/TransitionRepositoryInterface'
 import { RedisTransitionRepository } from '../Infra/Redis/RedisTransitionRepository'
 import { RedisTransitionRepository } from '../Infra/Redis/RedisTransitionRepository'
 import { CreateRevisionFromDump } from '../Domain/UseCase/CreateRevisionFromDump/CreateRevisionFromDump'
 import { CreateRevisionFromDump } from '../Domain/UseCase/CreateRevisionFromDump/CreateRevisionFromDump'
-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'
 
 
 export class ContainerConfigLoader {
 export class ContainerConfigLoader {
   constructor(private mode: 'server' | 'worker' = 'server') {}
   constructor(private mode: 'server' | 'worker' = 'server') {}
@@ -166,39 +158,10 @@ export class ContainerConfigLoader {
     container.bind(TYPES.Revisions_NEW_RELIC_ENABLED).toConstantValue(env.get('NEW_RELIC_ENABLED', true))
     container.bind(TYPES.Revisions_NEW_RELIC_ENABLED).toConstantValue(env.get('NEW_RELIC_ENABLED', true))
     container.bind(TYPES.Revisions_VERSION).toConstantValue(env.get('VERSION', true) ?? 'development')
     container.bind(TYPES.Revisions_VERSION).toConstantValue(env.get('VERSION', true) ?? 'development')
 
 
-    const otResource = OpenTelemetrySDK.resources.Resource.default().merge(
-      new OpenTelemetrySDK.resources.Resource({
-        [SemanticResourceAttributes.SERVICE_NAME]: ServiceIdentifier.NAMES.Revisions,
-      }),
-    )
-    const traceExporter = new OTLPTraceExporter()
-    const spanProcessor = new OpenTelemetrySDK.tracing.BatchSpanProcessor(traceExporter)
-    const metricReader = new OpenTelemetrySDK.metrics.PeriodicExportingMetricReader({
-      exportIntervalMillis: 1_000,
-      exporter: new OTLPMetricExporter(),
-    })
-
     if (!isConfiguredForHomeServerOrSelfHosting) {
     if (!isConfiguredForHomeServerOrSelfHosting) {
-      const sdk = new OpenTelemetrySDK.NodeSDK({
-        sampler: new OpenTelemetrySDK.tracing.TraceIdRatioBasedSampler(0.01),
-        textMapPropagator: new AWSXRayPropagator(),
-        instrumentations: [
-          new HttpInstrumentation(),
-          new AwsInstrumentation({
-            suppressInternalInstrumentation: true,
-          }),
-          new TypeormInstrumentation(),
-        ],
-        metricReader: metricReader,
-        resource: otResource,
-        spanProcessor: spanProcessor,
-        traceExporter: traceExporter,
-        idGenerator: new AWSXRayIdGenerator(),
-        autoDetectResources: true,
-        resourceDetectors: [AwsResourceDetectors.awsEcsDetector],
-      })
-
-      container.bind<OpenTelemetrySDK.NodeSDK>(TYPES.Revisions_OpenTelemetrySDK).toConstantValue(sdk)
+      container
+        .bind<OpenTelemetrySDKInterface>(TYPES.Revisions_OpenTelemetrySDK)
+        .toConstantValue(new OpenTelemetrySDK(ServiceIdentifier.NAMES.Revisions))
     }
     }
 
 
     if (!isConfiguredForHomeServer) {
     if (!isConfiguredForHomeServer) {

+ 6 - 0
packages/syncing-server/bin/server.ts

@@ -16,6 +16,7 @@ import { InversifyExpressServer } from 'inversify-express-utils'
 import TYPES from '../src/Bootstrap/Types'
 import TYPES from '../src/Bootstrap/Types'
 import { Env } from '../src/Bootstrap/Env'
 import { Env } from '../src/Bootstrap/Env'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
+import { OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
 
 
 const container = new ContainerConfigLoader()
 const container = new ContainerConfigLoader()
 void container.load().then((container) => {
 void container.load().then((container) => {
@@ -73,6 +74,11 @@ void container.load().then((container) => {
 
 
   const serverInstance = server.build()
   const serverInstance = server.build()
 
 
+  if (!container.get<boolean>(TYPES.Sync_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)) {
+    const openTelemetrySDK = container.get<OpenTelemetrySDKInterface>(TYPES.Sync_OpenTelemetrySDK)
+    openTelemetrySDK.start()
+  }
+
   serverInstance.listen(env.get('PORT'))
   serverInstance.listen(env.get('PORT'))
 
 
   logger.info(`Server started on port ${process.env.PORT}`)
   logger.info(`Server started on port ${process.env.PORT}`)

+ 13 - 0
packages/syncing-server/src/Bootstrap/Container.ts

@@ -13,6 +13,8 @@ import { Item } from '../Domain/Item/Item'
 import {
 import {
   DirectCallDomainEventPublisher,
   DirectCallDomainEventPublisher,
   DirectCallEventMessageHandler,
   DirectCallEventMessageHandler,
+  OpenTelemetrySDK,
+  OpenTelemetrySDKInterface,
   SNSDomainEventPublisher,
   SNSDomainEventPublisher,
   SQSDomainEventSubscriberFactory,
   SQSDomainEventSubscriberFactory,
   SQSEventMessageHandler,
   SQSEventMessageHandler,
@@ -62,6 +64,7 @@ import {
   ControllerContainer,
   ControllerContainer,
   ControllerContainerInterface,
   ControllerContainerInterface,
   MapperInterface,
   MapperInterface,
+  ServiceIdentifier,
   SharedVaultUser,
   SharedVaultUser,
 } from '@standardnotes/domain-core'
 } from '@standardnotes/domain-core'
 import { BaseItemsController } from '../Infra/InversifyExpressUtils/Base/BaseItemsController'
 import { BaseItemsController } from '../Infra/InversifyExpressUtils/Base/BaseItemsController'
@@ -234,6 +237,16 @@ export class ContainerConfigLoader {
     const isSecondaryDatabaseEnabled = env.get('SECONDARY_DB_ENABLED', true) === 'true'
     const isSecondaryDatabaseEnabled = env.get('SECONDARY_DB_ENABLED', true) === 'true'
     const isConfiguredForInMemoryCache = env.get('CACHE_TYPE', true) === 'memory'
     const isConfiguredForInMemoryCache = env.get('CACHE_TYPE', true) === 'memory'
 
 
+    container
+      .bind<boolean>(TYPES.Sync_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)
+      .toConstantValue(isConfiguredForHomeServerOrSelfHosting)
+
+    if (!isConfiguredForHomeServerOrSelfHosting) {
+      container
+        .bind<OpenTelemetrySDKInterface>(TYPES.Sync_OpenTelemetrySDK)
+        .toConstantValue(new OpenTelemetrySDK(ServiceIdentifier.NAMES.SyncingServer))
+    }
+
     if (!isConfiguredForInMemoryCache) {
     if (!isConfiguredForInMemoryCache) {
       const redisUrl = env.get('REDIS_URL')
       const redisUrl = env.get('REDIS_URL')
       const isRedisInClusterMode = redisUrl.indexOf(',') > 0
       const isRedisInClusterMode = redisUrl.indexOf(',') > 0

+ 2 - 0
packages/syncing-server/src/Bootstrap/Types.ts

@@ -6,6 +6,7 @@ const TYPES = {
   Sync_SQS: Symbol.for('Sync_SQS'),
   Sync_SQS: Symbol.for('Sync_SQS'),
   Sync_S3: Symbol.for('Sync_S3'),
   Sync_S3: Symbol.for('Sync_S3'),
   Sync_Env: Symbol.for('Sync_Env'),
   Sync_Env: Symbol.for('Sync_Env'),
+  Sync_OpenTelemetrySDK: Symbol.for('Sync_OpenTelemetrySDK'),
   // Repositories
   // Repositories
   Sync_ItemRepositoryResolver: Symbol.for('Sync_ItemRepositoryResolver'),
   Sync_ItemRepositoryResolver: Symbol.for('Sync_ItemRepositoryResolver'),
   Sync_SQLItemRepository: Symbol.for('Sync_SQLItemRepository'),
   Sync_SQLItemRepository: Symbol.for('Sync_SQLItemRepository'),
@@ -48,6 +49,7 @@ const TYPES = {
   Sync_FILE_UPLOAD_PATH: Symbol.for('Sync_FILE_UPLOAD_PATH'),
   Sync_FILE_UPLOAD_PATH: Symbol.for('Sync_FILE_UPLOAD_PATH'),
   Sync_VALET_TOKEN_SECRET: Symbol.for('Sync_VALET_TOKEN_SECRET'),
   Sync_VALET_TOKEN_SECRET: Symbol.for('Sync_VALET_TOKEN_SECRET'),
   Sync_VALET_TOKEN_TTL: Symbol.for('Sync_VALET_TOKEN_TTL'),
   Sync_VALET_TOKEN_TTL: Symbol.for('Sync_VALET_TOKEN_TTL'),
+  Sync_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING: Symbol.for('Sync_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING'),
   // use cases
   // use cases
   Sync_SyncItems: Symbol.for('Sync_SyncItems'),
   Sync_SyncItems: Symbol.for('Sync_SyncItems'),
   Sync_CheckIntegrity: Symbol.for('Sync_CheckIntegrity'),
   Sync_CheckIntegrity: Symbol.for('Sync_CheckIntegrity'),

+ 4 - 0
packages/websockets/bin/server.ts

@@ -11,6 +11,7 @@ import { InversifyExpressServer } from 'inversify-express-utils'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import { ContainerConfigLoader } from '../src/Bootstrap/Container'
 import TYPES from '../src/Bootstrap/Types'
 import TYPES from '../src/Bootstrap/Types'
 import { Env } from '../src/Bootstrap/Env'
 import { Env } from '../src/Bootstrap/Env'
+import { OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
 
 
 const container = new ContainerConfigLoader()
 const container = new ContainerConfigLoader()
 void container.load().then((container) => {
 void container.load().then((container) => {
@@ -46,6 +47,9 @@ void container.load().then((container) => {
 
 
   const serverInstance = server.build()
   const serverInstance = server.build()
 
 
+  const openTelemetrySDK = container.get<OpenTelemetrySDKInterface>(TYPES.WebSockets_OpenTelemetrySDK)
+  openTelemetrySDK.start()
+
   serverInstance.listen(env.get('PORT'))
   serverInstance.listen(env.get('PORT'))
 
 
   logger.info(`Server started on port ${process.env.PORT}`)
   logger.info(`Server started on port ${process.env.PORT}`)

+ 11 - 1
packages/websockets/src/Bootstrap/Container.ts

@@ -18,7 +18,12 @@ import { RedisWebSocketsConnectionRepository } from '../Infra/Redis/RedisWebSock
 import { AddWebSocketsConnection } from '../Domain/UseCase/AddWebSocketsConnection/AddWebSocketsConnection'
 import { AddWebSocketsConnection } from '../Domain/UseCase/AddWebSocketsConnection/AddWebSocketsConnection'
 import { RemoveWebSocketsConnection } from '../Domain/UseCase/RemoveWebSocketsConnection/RemoveWebSocketsConnection'
 import { RemoveWebSocketsConnection } from '../Domain/UseCase/RemoveWebSocketsConnection/RemoveWebSocketsConnection'
 import { WebSocketsClientMessenger } from '../Infra/WebSockets/WebSocketsClientMessenger'
 import { WebSocketsClientMessenger } from '../Infra/WebSockets/WebSocketsClientMessenger'
-import { SQSDomainEventSubscriberFactory, SQSEventMessageHandler } from '@standardnotes/domain-events-infra'
+import {
+  OpenTelemetrySDK,
+  OpenTelemetrySDKInterface,
+  SQSDomainEventSubscriberFactory,
+  SQSEventMessageHandler,
+} from '@standardnotes/domain-events-infra'
 import { ApiGatewayAuthMiddleware } from '../Controller/ApiGatewayAuthMiddleware'
 import { ApiGatewayAuthMiddleware } from '../Controller/ApiGatewayAuthMiddleware'
 
 
 import {
 import {
@@ -34,6 +39,7 @@ import { WebSocketsController } from '../Controller/WebSocketsController'
 import { WebSocketServerInterface } from '@standardnotes/api'
 import { WebSocketServerInterface } from '@standardnotes/api'
 import { ClientMessengerInterface } from '../Client/ClientMessengerInterface'
 import { ClientMessengerInterface } from '../Client/ClientMessengerInterface'
 import { WebSocketMessageRequestedEventHandler } from '../Domain/Handler/WebSocketMessageRequestedEventHandler'
 import { WebSocketMessageRequestedEventHandler } from '../Domain/Handler/WebSocketMessageRequestedEventHandler'
+import { ServiceIdentifier } from '@standardnotes/domain-core'
 
 
 export class ContainerConfigLoader {
 export class ContainerConfigLoader {
   async load(): Promise<Container> {
   async load(): Promise<Container> {
@@ -42,6 +48,10 @@ export class ContainerConfigLoader {
 
 
     const container = new Container()
     const container = new Container()
 
 
+    container
+      .bind<OpenTelemetrySDKInterface>(TYPES.WebSockets_OpenTelemetrySDK)
+      .toConstantValue(new OpenTelemetrySDK(ServiceIdentifier.NAMES.Websockets))
+
     const redisUrl = env.get('REDIS_URL')
     const redisUrl = env.get('REDIS_URL')
     const isRedisInClusterMode = redisUrl.indexOf(',') > 0
     const isRedisInClusterMode = redisUrl.indexOf(',') > 0
     let redis
     let redis

+ 1 - 0
packages/websockets/src/Bootstrap/Types.ts

@@ -2,6 +2,7 @@ const TYPES = {
   Logger: Symbol.for('Logger'),
   Logger: Symbol.for('Logger'),
   Redis: Symbol.for('Redis'),
   Redis: Symbol.for('Redis'),
   SQS: Symbol.for('SQS'),
   SQS: Symbol.for('SQS'),
+  WebSockets_OpenTelemetrySDK: Symbol.for('WebSockets_OpenTelemetrySDK'),
   WebSockets_ApiGatewayManagementApiClient: Symbol.for('WebSockets_ApiGatewayManagementApiClient'),
   WebSockets_ApiGatewayManagementApiClient: Symbol.for('WebSockets_ApiGatewayManagementApiClient'),
   // Controller
   // Controller
   WebSocketsController: Symbol.for('WebSocketsController'),
   WebSocketsController: Symbol.for('WebSocketsController'),

+ 11 - 11
yarn.lock

@@ -5986,6 +5986,16 @@ __metadata:
   dependencies:
   dependencies:
     "@aws-sdk/client-sns": "npm:^3.332.0"
     "@aws-sdk/client-sns": "npm:^3.332.0"
     "@aws-sdk/client-sqs": "npm:^3.332.0"
     "@aws-sdk/client-sqs": "npm:^3.332.0"
+    "@opentelemetry/api": "npm:^1.6.0"
+    "@opentelemetry/exporter-metrics-otlp-proto": "npm:^0.43.0"
+    "@opentelemetry/exporter-trace-otlp-grpc": "npm:^0.43.0"
+    "@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/propagator-aws-xray": "npm:^1.3.1"
+    "@opentelemetry/resource-detector-aws": "npm:^1.3.1"
+    "@opentelemetry/sdk-node": "npm:^0.43.0"
+    "@opentelemetry/semantic-conventions": "npm:^1.17.0"
     "@standardnotes/domain-events": "workspace:*"
     "@standardnotes/domain-events": "workspace:*"
     "@types/ioredis": "npm:^5.0.0"
     "@types/ioredis": "npm:^5.0.0"
     "@types/jest": "npm:^29.5.1"
     "@types/jest": "npm:^29.5.1"
@@ -5997,6 +6007,7 @@ __metadata:
     ioredis: "npm:^5.2.4"
     ioredis: "npm:^5.2.4"
     jest: "npm:^29.5.0"
     jest: "npm:^29.5.0"
     newrelic: "npm:^11.0.0"
     newrelic: "npm:^11.0.0"
+    opentelemetry-instrumentation-typeorm: "npm:^0.39.1"
     prettier: "npm:^3.0.3"
     prettier: "npm:^3.0.3"
     reflect-metadata: "npm:^0.1.13"
     reflect-metadata: "npm:^0.1.13"
     sqs-consumer: "npm:^7.3.0"
     sqs-consumer: "npm:^7.3.0"
@@ -6219,16 +6230,6 @@ __metadata:
     "@aws-sdk/client-sns": "npm:^3.332.0"
     "@aws-sdk/client-sns": "npm:^3.332.0"
     "@aws-sdk/client-sqs": "npm:^3.332.0"
     "@aws-sdk/client-sqs": "npm:^3.332.0"
     "@newrelic/winston-enricher": "npm:^4.0.1"
     "@newrelic/winston-enricher": "npm:^4.0.1"
-    "@opentelemetry/api": "npm:^1.6.0"
-    "@opentelemetry/exporter-metrics-otlp-proto": "npm:^0.43.0"
-    "@opentelemetry/exporter-trace-otlp-grpc": "npm:^0.43.0"
-    "@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/propagator-aws-xray": "npm:^1.3.1"
-    "@opentelemetry/resource-detector-aws": "npm:^1.3.1"
-    "@opentelemetry/sdk-node": "npm:^0.43.0"
-    "@opentelemetry/semantic-conventions": "npm:^1.17.0"
     "@standardnotes/api": "npm:^1.26.26"
     "@standardnotes/api": "npm:^1.26.26"
     "@standardnotes/common": "workspace:^"
     "@standardnotes/common": "workspace:^"
     "@standardnotes/domain-core": "workspace:^"
     "@standardnotes/domain-core": "workspace:^"
@@ -6258,7 +6259,6 @@ __metadata:
     mongodb: "npm:^6.0.0"
     mongodb: "npm:^6.0.0"
     mysql2: "npm:^3.0.1"
     mysql2: "npm:^3.0.1"
     newrelic: "npm:^11.0.0"
     newrelic: "npm:^11.0.0"
-    opentelemetry-instrumentation-typeorm: "npm:^0.39.1"
     prettier: "npm:^3.0.3"
     prettier: "npm:^3.0.3"
     reflect-metadata: "npm:0.1.13"
     reflect-metadata: "npm:0.1.13"
     sqlite3: "npm:^5.1.6"
     sqlite3: "npm:^5.1.6"