otel-express-collector 1.0.1 → 1.0.2
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/dist/collector.d.ts +2 -6
- package/dist/collector.d.ts.map +1 -1
- package/dist/collector.js +30 -43
- package/dist/collector.js.map +1 -1
- package/package.json +1 -1
package/dist/collector.d.ts
CHANGED
|
@@ -14,17 +14,13 @@ interface ResolvedCollectorConfig {
|
|
|
14
14
|
metricExportInterval: number;
|
|
15
15
|
logBatchSize: number;
|
|
16
16
|
resourceAttributes: Record<string, string | number | boolean>;
|
|
17
|
-
instrumentations: string[];
|
|
18
17
|
}
|
|
19
18
|
export declare class OpenTelemetryCollector {
|
|
20
19
|
private sdk;
|
|
21
20
|
private loggerProvider;
|
|
22
|
-
private
|
|
23
|
-
private
|
|
24
|
-
private config;
|
|
21
|
+
private started;
|
|
22
|
+
private readonly config;
|
|
25
23
|
constructor(config: CollectorConfig);
|
|
26
|
-
private initialize;
|
|
27
|
-
private getInstrumentations;
|
|
28
24
|
start(): Promise<void>;
|
|
29
25
|
shutdown(): Promise<void>;
|
|
30
26
|
isRunning(): boolean;
|
package/dist/collector.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,cAAc,EAIf,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,cAAc,EAIf,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK1C,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IAErB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAE7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IAErB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC/D;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAErC,MAAM,EAAE,eAAe;IAsCtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkFtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB/B,SAAS,IAAI,OAAO;IAIpB,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAI1C,SAAS,IAAI,QAAQ,CAAC,uBAAuB,CAAC;CAGtD"}
|
package/dist/collector.js
CHANGED
|
@@ -16,8 +16,7 @@ class OpenTelemetryCollector {
|
|
|
16
16
|
constructor(config) {
|
|
17
17
|
this.sdk = null;
|
|
18
18
|
this.loggerProvider = null;
|
|
19
|
-
this.
|
|
20
|
-
this.isStarted = false;
|
|
19
|
+
this.started = false;
|
|
21
20
|
if (!config.serviceName)
|
|
22
21
|
throw new Error('serviceName is required');
|
|
23
22
|
if (!config.serviceVersion)
|
|
@@ -34,23 +33,22 @@ class OpenTelemetryCollector {
|
|
|
34
33
|
enableMetrics: config.enableMetrics ?? true,
|
|
35
34
|
enableLogging: config.enableLogging ?? true,
|
|
36
35
|
enableConsoleExport: config.enableConsoleExport ?? false,
|
|
37
|
-
metricExportInterval: config.metricExportInterval ??
|
|
36
|
+
metricExportInterval: config.metricExportInterval ?? 10000,
|
|
38
37
|
logBatchSize: config.logBatchSize ?? 512,
|
|
39
38
|
resourceAttributes: config.resourceAttributes ?? {},
|
|
40
|
-
instrumentations: config.instrumentations ?? [],
|
|
41
39
|
};
|
|
40
|
+
// Enable OTEL diagnostics in dev
|
|
42
41
|
if (process.env.NODE_ENV === 'development' ||
|
|
43
42
|
this.config.enableConsoleExport) {
|
|
44
|
-
api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.
|
|
43
|
+
api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.INFO);
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
/* =========================
|
|
48
|
-
|
|
47
|
+
START
|
|
49
48
|
========================= */
|
|
50
|
-
async
|
|
51
|
-
if (this.
|
|
49
|
+
async start() {
|
|
50
|
+
if (this.started)
|
|
52
51
|
return;
|
|
53
|
-
// ✅ DOC-ALIGNED RESOURCE ATTRIBUTES (PLAIN STRINGS)
|
|
54
52
|
const resource = (0, resources_1.resourceFromAttributes)({
|
|
55
53
|
'service.name': this.config.serviceName,
|
|
56
54
|
'service.version': this.config.serviceVersion,
|
|
@@ -59,25 +57,37 @@ class OpenTelemetryCollector {
|
|
|
59
57
|
'process.runtime.version': process.version,
|
|
60
58
|
...this.config.resourceAttributes,
|
|
61
59
|
});
|
|
62
|
-
/* -------- Traces & Metrics -------- */
|
|
63
60
|
this.sdk = new sdk_node_1.NodeSDK({
|
|
64
61
|
resource,
|
|
62
|
+
/* ---------- TRACES ---------- */
|
|
65
63
|
traceExporter: this.config.enableTracing
|
|
66
64
|
? this.config.enableConsoleExport
|
|
67
65
|
? new sdk_trace_base_1.ConsoleSpanExporter()
|
|
68
66
|
: new exporter_trace_otlp_grpc_1.OTLPTraceExporter({ url: this.config.tracesEndpoint })
|
|
69
67
|
: undefined,
|
|
68
|
+
/* ---------- METRICS (CRITICAL FIX) ---------- */
|
|
70
69
|
metricReader: this.config.enableMetrics
|
|
71
70
|
? new sdk_metrics_1.PeriodicExportingMetricReader({
|
|
72
71
|
exporter: this.config.enableConsoleExport
|
|
73
72
|
? new sdk_metrics_1.ConsoleMetricExporter()
|
|
74
|
-
: new exporter_metrics_otlp_grpc_1.OTLPMetricExporter({
|
|
73
|
+
: new exporter_metrics_otlp_grpc_1.OTLPMetricExporter({
|
|
74
|
+
url: this.config.metricsEndpoint,
|
|
75
|
+
}),
|
|
75
76
|
exportIntervalMillis: this.config.metricExportInterval,
|
|
76
77
|
})
|
|
77
78
|
: undefined,
|
|
78
|
-
|
|
79
|
+
/* ---------- AUTO INSTRUMENTATION ---------- */
|
|
80
|
+
instrumentations: [
|
|
81
|
+
(0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
|
|
82
|
+
'@opentelemetry/instrumentation-http': { enabled: true },
|
|
83
|
+
'@opentelemetry/instrumentation-express': {
|
|
84
|
+
enabled: true,
|
|
85
|
+
ignoreLayers: ['/health', '/metrics'],
|
|
86
|
+
},
|
|
87
|
+
}),
|
|
88
|
+
],
|
|
79
89
|
});
|
|
80
|
-
/*
|
|
90
|
+
/* ---------- LOGS ---------- */
|
|
81
91
|
if (this.config.enableLogging) {
|
|
82
92
|
const logExporter = this.config.enableConsoleExport
|
|
83
93
|
? new sdk_logs_1.ConsoleLogRecordExporter()
|
|
@@ -99,57 +109,34 @@ class OpenTelemetryCollector {
|
|
|
99
109
|
}),
|
|
100
110
|
],
|
|
101
111
|
});
|
|
102
|
-
// REQUIRED by @opentelemetry/sdk-logs docs
|
|
103
112
|
api_logs_1.logs.setGlobalLoggerProvider(this.loggerProvider);
|
|
104
113
|
}
|
|
105
114
|
await this.sdk.start();
|
|
106
|
-
this.
|
|
107
|
-
|
|
108
|
-
console.log(`[otel] Started for ${this.config.serviceName}`);
|
|
109
|
-
}
|
|
110
|
-
/* =========================
|
|
111
|
-
INSTRUMENTATIONS
|
|
112
|
-
========================= */
|
|
113
|
-
getInstrumentations() {
|
|
114
|
-
return [
|
|
115
|
-
(0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
|
|
116
|
-
'@opentelemetry/instrumentation-http': { enabled: true },
|
|
117
|
-
'@opentelemetry/instrumentation-express': {
|
|
118
|
-
enabled: true,
|
|
119
|
-
ignoreLayers: ['/health', '/metrics'],
|
|
120
|
-
},
|
|
121
|
-
}),
|
|
122
|
-
];
|
|
115
|
+
this.started = true;
|
|
116
|
+
console.log(`[otel] Started (${this.config.serviceName})`);
|
|
123
117
|
}
|
|
124
118
|
/* =========================
|
|
125
|
-
|
|
119
|
+
SHUTDOWN
|
|
126
120
|
========================= */
|
|
127
|
-
async start() {
|
|
128
|
-
if (!this.isStarted) {
|
|
129
|
-
await this.initialize();
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
121
|
async shutdown() {
|
|
133
|
-
if (!this.
|
|
122
|
+
if (!this.started)
|
|
134
123
|
return;
|
|
135
124
|
await this.sdk?.shutdown();
|
|
136
125
|
await this.loggerProvider?.shutdown();
|
|
137
126
|
this.sdk = null;
|
|
138
127
|
this.loggerProvider = null;
|
|
139
|
-
this.
|
|
140
|
-
this.isInitialized = false;
|
|
128
|
+
this.started = false;
|
|
141
129
|
console.log('[otel] Shutdown complete');
|
|
142
130
|
}
|
|
143
131
|
/* =========================
|
|
144
|
-
HELPERS
|
|
132
|
+
HELPERS
|
|
145
133
|
========================= */
|
|
146
134
|
isRunning() {
|
|
147
|
-
return this.
|
|
135
|
+
return this.started;
|
|
148
136
|
}
|
|
149
137
|
getLoggerProvider() {
|
|
150
138
|
return this.loggerProvider;
|
|
151
139
|
}
|
|
152
|
-
// ✅ ADDED BACK — fixes your test failure
|
|
153
140
|
getConfig() {
|
|
154
141
|
return this.config;
|
|
155
142
|
}
|
package/dist/collector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector.js","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAElD,sFAA4E;AAC5E,0FAA+E;AAC/E,oFAAyE;AAEzE,kEAAoE;AACpE,4DAGoC;AAEpC,sDAKiC;AAEjC,sDAA+D;
|
|
1
|
+
{"version":3,"file":"collector.js","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED