Browse Source

feat(otel-attributes-cleanup): wire addSystemMetrics into setupCustomMetrics

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Yuki Takei 1 day ago
parent
commit
0adbb8fa59

+ 1 - 1
.kiro/specs/otel-attributes-cleanup/tasks.md

@@ -34,7 +34,7 @@
   - _Requirements: 3.1, 3.2, 3.3, 4.1, 4.2, 4.3, 4.4, 5.2_
   - _Requirements: 3.1, 3.2, 3.3, 4.1, 4.2, 4.3, 4.4, 5.2_
   - _Boundary: SystemMetrics_
   - _Boundary: SystemMetrics_
 
 
-- [ ] 4. Wire addSystemMetrics into setupCustomMetrics
+- [x] 4. Wire addSystemMetrics into setupCustomMetrics
   - `custom-metrics/index.ts` のトップに `export { addSystemMetrics } from './system-metrics';` を追加する。
   - `custom-metrics/index.ts` のトップに `export { addSystemMetrics } from './system-metrics';` を追加する。
   - `setupCustomMetrics()` 内で既存 3 関数(`addApplicationMetrics`, `addUserCountsMetrics`, `addPageCountsMetrics`)と同じ dynamic import パターンで `system-metrics` をロードし、`addSystemMetrics()` を呼ぶ。
   - `setupCustomMetrics()` 内で既存 3 関数(`addApplicationMetrics`, `addUserCountsMetrics`, `addPageCountsMetrics`)と同じ dynamic import パターンで `system-metrics` をロードし、`addSystemMetrics()` を呼ぶ。
   - 完了状態: サーバー起動時のログに `growi:opentelemetry:custom-metrics:system` namespace の "Starting system metrics collection" / "...started successfully" が出力される。`pnpm vitest run` で既存の opentelemetry 関連テスト(特に node-sdk.spec)がパスする。
   - 完了状態: サーバー起動時のログに `growi:opentelemetry:custom-metrics:system` namespace の "Starting system metrics collection" / "...started successfully" が出力される。`pnpm vitest run` で既存の opentelemetry 関連テスト(特に node-sdk.spec)がパスする。

+ 3 - 0
apps/app/src/features/opentelemetry/server/custom-metrics/index.ts

@@ -1,14 +1,17 @@
 export { addApplicationMetrics } from './application-metrics';
 export { addApplicationMetrics } from './application-metrics';
 export { addPageCountsMetrics } from './page-counts-metrics';
 export { addPageCountsMetrics } from './page-counts-metrics';
+export { addSystemMetrics } from './system-metrics';
 export { addUserCountsMetrics } from './user-counts-metrics';
 export { addUserCountsMetrics } from './user-counts-metrics';
 
 
 export const setupCustomMetrics = async (): Promise<void> => {
 export const setupCustomMetrics = async (): Promise<void> => {
   const { addApplicationMetrics } = await import('./application-metrics');
   const { addApplicationMetrics } = await import('./application-metrics');
   const { addUserCountsMetrics } = await import('./user-counts-metrics');
   const { addUserCountsMetrics } = await import('./user-counts-metrics');
   const { addPageCountsMetrics } = await import('./page-counts-metrics');
   const { addPageCountsMetrics } = await import('./page-counts-metrics');
+  const { addSystemMetrics } = await import('./system-metrics');
 
 
   // Add custom metrics
   // Add custom metrics
   addApplicationMetrics();
   addApplicationMetrics();
   addUserCountsMetrics();
   addUserCountsMetrics();
   addPageCountsMetrics();
   addPageCountsMetrics();
+  addSystemMetrics();
 };
 };