Procházet zdrojové kódy

upgrade opentelemetry packages

Yuki Takei před 9 měsíci
rodič
revize
1c23efa82e

+ 8 - 8
apps/app/package.json

@@ -86,14 +86,14 @@
     "@growi/slack": "workspace:^",
     "@keycloak/keycloak-admin-client": "^18.0.0",
     "@opentelemetry/api": "^1.9.0",
-    "@opentelemetry/auto-instrumentations-node": "^0.55.1",
-    "@opentelemetry/exporter-metrics-otlp-grpc": "^0.57.0",
-    "@opentelemetry/exporter-trace-otlp-grpc": "^0.57.0",
-    "@opentelemetry/resources": "^1.28.0",
-    "@opentelemetry/sdk-metrics": "^1.28.0",
-    "@opentelemetry/sdk-node": "^0.57.0",
-    "@opentelemetry/sdk-trace-node": "^1.28.0",
-    "@opentelemetry/semantic-conventions": "^1.28.0",
+    "@opentelemetry/auto-instrumentations-node": "^0.60.1",
+    "@opentelemetry/exporter-metrics-otlp-grpc": "^0.202.0",
+    "@opentelemetry/exporter-trace-otlp-grpc": "^0.202.0",
+    "@opentelemetry/resources": "^2.0.1",
+    "@opentelemetry/sdk-metrics": "^2.0.1",
+    "@opentelemetry/sdk-node": "^0.202.0",
+    "@opentelemetry/sdk-trace-node": "^2.0.1",
+    "@opentelemetry/semantic-conventions": "^1.29.0",
     "@slack/web-api": "^6.2.4",
     "@slack/webhook": "^6.0.0",
     "@types/async": "^3.2.24",

+ 8 - 6
apps/app/src/features/opentelemetry/server/node-sdk-configuration.ts

@@ -1,10 +1,12 @@
 import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
 import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-grpc';
 import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
-import { Resource, type IResource } from '@opentelemetry/resources';
+import type { Resource } from '@opentelemetry/resources';
+import { resourceFromAttributes } from '@opentelemetry/resources';
 import { PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
 import type { NodeSDKConfiguration } from '@opentelemetry/sdk-node';
-import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMRESATTRS_SERVICE_INSTANCE_ID } from '@opentelemetry/semantic-conventions';
+import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
+import { ATTR_SERVICE_INSTANCE_ID } from '@opentelemetry/semantic-conventions/incubating';
 
 import { getGrowiVersion } from '~/utils/growi-version';
 
@@ -12,7 +14,7 @@ import { httpInstrumentationConfig as httpInstrumentationConfigForAnonymize } fr
 import { addApplicationMetrics, addSystemMetrics } from './custom-metrics';
 
 type Configuration = Partial<NodeSDKConfiguration> & {
-  resource: IResource;
+  resource: Resource;
 };
 
 let resource: Resource;
@@ -22,7 +24,7 @@ export const generateNodeSDKConfiguration = (serviceInstanceId?: string, enableA
   if (configuration == null) {
     const version = getGrowiVersion();
 
-    resource = new Resource({
+    resource = resourceFromAttributes({
       [ATTR_SERVICE_NAME]: 'growi',
       [ATTR_SERVICE_VERSION]: version,
     });
@@ -61,8 +63,8 @@ export const generateNodeSDKConfiguration = (serviceInstanceId?: string, enableA
   }
 
   if (serviceInstanceId != null) {
-    configuration.resource = resource.merge(new Resource({
-      [SEMRESATTRS_SERVICE_INSTANCE_ID]: serviceInstanceId,
+    configuration.resource = resource.merge(resourceFromAttributes({
+      [ATTR_SERVICE_INSTANCE_ID]: serviceInstanceId,
     }));
   }
 

+ 2 - 2
apps/app/src/features/opentelemetry/server/node-sdk-resource.ts

@@ -1,4 +1,4 @@
-import { Resource } from '@opentelemetry/resources';
+import type { Resource } from '@opentelemetry/resources';
 import type { NodeSDK } from '@opentelemetry/sdk-node';
 
 /**
@@ -8,7 +8,7 @@ import type { NodeSDK } from '@opentelemetry/sdk-node';
 export const getResource = (sdk: NodeSDK): Resource => {
   // This cast is necessary as _resource is a private property
   const resource = (sdk as any)._resource;
-  if (!(resource instanceof Resource)) {
+  if (!resource || typeof resource !== 'object' || !resource.attributes) {
     throw new Error('Failed to access SDK resource');
   }
   return resource;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 277 - 343
pnpm-lock.yaml


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů