@powerhousedao/switchboard 5.1.0-dev.30 → 5.1.0-dev.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/tracing.d.ts +2 -0
- package/dist/src/tracing.d.ts.map +1 -0
- package/dist/src/tracing.js +79 -0
- package/dist/src/tracing.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -7
package/CHANGELOG.md
CHANGED
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,cAAc,CAAC"}
|
package/dist/src/index.js
CHANGED
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,SAAS,iBAAiB,CAAC,UAAU,GAAG,IAAI;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,gBAAgB,UAAU,4CAA4C,OAAO,EAAE,CAChF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AACD,iCAAiC;AACjC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAExB,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,oEAAoE;AACpE,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,SAAS,iBAAiB,CAAC,UAAU,GAAG,IAAI;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,gBAAgB,UAAU,4CAA4C,OAAO,EAAE,CAChF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AACD,iCAAiC;AACjC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAExB,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// OpenTelemetry Tracing Configuration for Switchboard
|
|
2
|
+
// This file must be loaded before the application starts
|
|
3
|
+
import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
|
|
4
|
+
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
5
|
+
import { Resource } from "@opentelemetry/resources";
|
|
6
|
+
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
7
|
+
import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
8
|
+
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, } from "@opentelemetry/semantic-conventions";
|
|
9
|
+
// Get configuration from environment
|
|
10
|
+
const TEMPO_ENDPOINT = process.env.TEMPO_ENDPOINT ||
|
|
11
|
+
"http://tempo.monitoring.svc.cluster.local:4318/v1/traces";
|
|
12
|
+
const SERVICE_NAME = process.env.OTEL_SERVICE_NAME || "switchboard";
|
|
13
|
+
const SERVICE_VERSION = process.env.npm_package_version || "unknown";
|
|
14
|
+
const TENANT_ID = process.env.TENANT_ID || "default";
|
|
15
|
+
// Only enable tracing if explicitly enabled or in production
|
|
16
|
+
const TRACING_ENABLED = process.env.ENABLE_TRACING === "true" ||
|
|
17
|
+
process.env.NODE_ENV === "production";
|
|
18
|
+
if (TRACING_ENABLED) {
|
|
19
|
+
console.log(`Initializing OpenTelemetry tracing for ${SERVICE_NAME}...`);
|
|
20
|
+
console.log(` Tempo endpoint: ${TEMPO_ENDPOINT}`);
|
|
21
|
+
console.log(` Service: ${SERVICE_NAME}`);
|
|
22
|
+
console.log(` Tenant: ${TENANT_ID}`);
|
|
23
|
+
// Create OTLP trace exporter
|
|
24
|
+
const traceExporter = new OTLPTraceExporter({
|
|
25
|
+
url: TEMPO_ENDPOINT,
|
|
26
|
+
headers: {},
|
|
27
|
+
});
|
|
28
|
+
// Configure resource with service information
|
|
29
|
+
const resource = new Resource({
|
|
30
|
+
[ATTR_SERVICE_NAME]: SERVICE_NAME,
|
|
31
|
+
[ATTR_SERVICE_VERSION]: SERVICE_VERSION,
|
|
32
|
+
"tenant.id": TENANT_ID,
|
|
33
|
+
"deployment.environment": process.env.NODE_ENV || "development",
|
|
34
|
+
});
|
|
35
|
+
// Initialize OpenTelemetry SDK
|
|
36
|
+
const sdk = new NodeSDK({
|
|
37
|
+
resource,
|
|
38
|
+
spanProcessors: [new BatchSpanProcessor(traceExporter)],
|
|
39
|
+
instrumentations: [
|
|
40
|
+
getNodeAutoInstrumentations({
|
|
41
|
+
// Automatically instrument common libraries
|
|
42
|
+
"@opentelemetry/instrumentation-http": {
|
|
43
|
+
enabled: true,
|
|
44
|
+
ignoreIncomingRequestHook: (req) => {
|
|
45
|
+
// Don't trace health check endpoints
|
|
46
|
+
return req.url === "/health" || req.url === "/ready";
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
"@opentelemetry/instrumentation-express": {
|
|
50
|
+
enabled: true,
|
|
51
|
+
},
|
|
52
|
+
"@opentelemetry/instrumentation-graphql": {
|
|
53
|
+
enabled: true,
|
|
54
|
+
},
|
|
55
|
+
"@opentelemetry/instrumentation-pg": {
|
|
56
|
+
enabled: true,
|
|
57
|
+
},
|
|
58
|
+
"@opentelemetry/instrumentation-redis-4": {
|
|
59
|
+
enabled: true,
|
|
60
|
+
},
|
|
61
|
+
}),
|
|
62
|
+
],
|
|
63
|
+
});
|
|
64
|
+
// Start the SDK
|
|
65
|
+
sdk.start();
|
|
66
|
+
console.log("✓ OpenTelemetry tracing initialized");
|
|
67
|
+
// Gracefully shutdown on exit
|
|
68
|
+
process.on("SIGTERM", () => {
|
|
69
|
+
sdk
|
|
70
|
+
.shutdown()
|
|
71
|
+
.then(() => console.log("Tracing terminated"))
|
|
72
|
+
.catch((error) => console.log("Error terminating tracing", error))
|
|
73
|
+
.finally(() => process.exit(0));
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
console.log("OpenTelemetry tracing disabled (set ENABLE_TRACING=true to enable)");
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=tracing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"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"}
|