apps/gateway/src/services/telemetry.ts
Metadata
- Purpose: Gateway service module implementing business logic or integrations.
- Domain:
applications - Language:
ts - Bytes: 1502
- Lines: 70
- Content hash (short):
cdb591bc - Source (start): apps/gateway/src/services/telemetry.ts:1
- Source (end): apps/gateway/src/services/telemetry.ts:70
Indexed Symbols
getTelemetryClient(line 8, function) - Implements get telemetry client for service-layer operations.startTelemetry(line 28, function) - Implements start telemetry for service-layer operations.stopTelemetry(line 54, function) - Implements stop telemetry for service-layer operations.
Markdown Headings (if applicable)
No markdown headings detected.
Source Preview
import type { FastifyBaseLogger } from "fastify";
import { TelemetryClient } from "@egintegrations/telemetry";
import { env } from "../config/env.js";
let telemetry: TelemetryClient | null = null;
let healthTimer: NodeJS.Timeout | null = null;
function getTelemetryClient() {
if (telemetry) {
return telemetry;
}
if (!env.telemetryEnabled || !env.controlCenterUrl) {
return null;
}
telemetry = new TelemetryClient({
engineName: env.engineId,
skuVersion: env.engineSku,
controlCenterUrl: env.controlCenterUrl,
authToken: env.telemetryToken,
enabled: env.telemetryEnabled
});
return telemetry;