Yuki Takei 11 месяцев назад
Родитель
Сommit
6e7b42edd0

+ 0 - 3
apps/app/src/features/opentelemetry/server/node-sdk.spec.ts

@@ -1,9 +1,6 @@
 import { ConfigSource } from '@growi/core/dist/interfaces';
 import { Resource } from '@opentelemetry/resources';
 import { NodeSDK } from '@opentelemetry/sdk-node';
-import {
-  beforeEach, describe, expect, it, vi,
-} from 'vitest';
 
 import { configManager } from '~/server/service/config-manager';
 

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

@@ -74,7 +74,11 @@ For more information, see https://docs.growi.org/en/admin-guide/admin-cookbook/t
 export const detectServiceInstanceId = async(): Promise<void> => {
   const instrumentationEnabled = configManager.getConfig('otel:enabled', ConfigSource.env);
 
-  if (instrumentationEnabled && sdkInstance != null) {
+  if (instrumentationEnabled) {
+    if (sdkInstance == null) {
+      throw new Error('OpenTelemetry instrumentation is not initialized');
+    }
+
     const { generateNodeSDKConfiguration } = await import('./node-sdk-configuration');
 
     const serviceInstanceId = configManager.getConfig('otel:serviceInstanceId')
@@ -90,6 +94,9 @@ export const startOpenTelemetry = (): void => {
   const instrumentationEnabled = configManager.getConfig('otel:enabled', ConfigSource.env);
 
   if (instrumentationEnabled && sdkInstance != null) {
+    if (sdkInstance == null) {
+      throw new Error('OpenTelemetry instrumentation is not initialized');
+    }
     sdkInstance.start();
   }
 };