Skip to main content

apps/gateway/src/services/telemetry.ts

Metadata

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;