@justanalyticsapp/node 0.1.0

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.
Files changed (52) hide show
  1. package/dist/client.d.ts +286 -0
  2. package/dist/client.js +681 -0
  3. package/dist/client.js.map +1 -0
  4. package/dist/context.d.ts +126 -0
  5. package/dist/context.js +170 -0
  6. package/dist/context.js.map +1 -0
  7. package/dist/errors.d.ts +135 -0
  8. package/dist/errors.js +180 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/index.d.ts +301 -0
  11. package/dist/index.js +314 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/integrations/express.d.ts +77 -0
  14. package/dist/integrations/express.js +87 -0
  15. package/dist/integrations/express.js.map +1 -0
  16. package/dist/integrations/http.d.ts +129 -0
  17. package/dist/integrations/http.js +465 -0
  18. package/dist/integrations/http.js.map +1 -0
  19. package/dist/integrations/metrics.d.ts +110 -0
  20. package/dist/integrations/metrics.js +313 -0
  21. package/dist/integrations/metrics.js.map +1 -0
  22. package/dist/integrations/next.d.ts +252 -0
  23. package/dist/integrations/next.js +480 -0
  24. package/dist/integrations/next.js.map +1 -0
  25. package/dist/integrations/pg.d.ts +169 -0
  26. package/dist/integrations/pg.js +616 -0
  27. package/dist/integrations/pg.js.map +1 -0
  28. package/dist/integrations/pino.d.ts +52 -0
  29. package/dist/integrations/pino.js +153 -0
  30. package/dist/integrations/pino.js.map +1 -0
  31. package/dist/integrations/redis.d.ts +190 -0
  32. package/dist/integrations/redis.js +597 -0
  33. package/dist/integrations/redis.js.map +1 -0
  34. package/dist/integrations/winston.d.ts +48 -0
  35. package/dist/integrations/winston.js +99 -0
  36. package/dist/integrations/winston.js.map +1 -0
  37. package/dist/logger.d.ts +148 -0
  38. package/dist/logger.js +162 -0
  39. package/dist/logger.js.map +1 -0
  40. package/dist/span.d.ts +192 -0
  41. package/dist/span.js +197 -0
  42. package/dist/span.js.map +1 -0
  43. package/dist/transport.d.ts +246 -0
  44. package/dist/transport.js +654 -0
  45. package/dist/transport.js.map +1 -0
  46. package/dist/utils/headers.d.ts +60 -0
  47. package/dist/utils/headers.js +93 -0
  48. package/dist/utils/headers.js.map +1 -0
  49. package/dist/utils/id.d.ts +23 -0
  50. package/dist/utils/id.js +36 -0
  51. package/dist/utils/id.js.map +1 -0
  52. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/integrations/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @file packages/node-sdk/src/integrations/metrics.ts
3
+ * @description MetricsIntegration - automatic infrastructure metrics collector for Node.js processes.
4
+ *
5
+ * Implements Story 048 - Infrastructure Metrics Collection
6
+ *
7
+ * Collected metrics:
8
+ * - cpu.user_percent, cpu.system_percent (CPU usage delta between samples)
9
+ * - memory.rss, memory.heap_used, memory.heap_total, memory.external (bytes)
10
+ * - event_loop.lag_ms (setTimeout(0) technique)
11
+ * - gc.minor_ms, gc.major_ms, gc.pause_total_ms (via PerformanceObserver)
12
+ *
13
+ * Design:
14
+ * - Fail-open: collection errors never crash the host process
15
+ * - All timers are unref()'d so they don't keep the process alive
16
+ * - GC stats are silently omitted if PerformanceObserver is not available
17
+ * - Uses only Node.js built-in modules (os, perf_hooks, process)
18
+ */
19
+ import type { BatchTransport } from '../transport';
20
+ /**
21
+ * Configuration options for the MetricsIntegration.
22
+ */
23
+ export interface MetricsIntegrationOptions {
24
+ /** Sampling interval in milliseconds (default: 15000, min: 5000, max: 300000) */
25
+ interval?: number;
26
+ /** Enable/disable auto-collection (default: true) */
27
+ enabled?: boolean;
28
+ }
29
+ /**
30
+ * Serialized metric payload matching the metricDataPointSchema in POST /api/ingest/metrics.
31
+ */
32
+ export interface MetricPayload {
33
+ metricName: string;
34
+ value: number;
35
+ serviceName: string;
36
+ timestamp: string;
37
+ tags: Record<string, unknown>;
38
+ }
39
+ /**
40
+ * MetricsIntegration automatically collects infrastructure metrics from the
41
+ * Node.js process and enqueues them for batched transport.
42
+ *
43
+ * Collected metrics:
44
+ * - cpu.user_percent, cpu.system_percent (CPU usage delta)
45
+ * - memory.rss, memory.heap_used, memory.heap_total, memory.external (bytes)
46
+ * - event_loop.lag_ms (setTimeout(0) technique)
47
+ * - gc.minor_ms, gc.major_ms, gc.pause_total_ms (via PerformanceObserver)
48
+ */
49
+ export declare class MetricsIntegration {
50
+ private readonly serviceName;
51
+ private readonly environment;
52
+ private readonly hostname;
53
+ private readonly transport;
54
+ private readonly debug;
55
+ private readonly intervalMs;
56
+ private timer;
57
+ private previousCpuUsage;
58
+ private previousSampleTime;
59
+ private lastEventLoopLag;
60
+ private gcObserver;
61
+ private gcMinorMs;
62
+ private gcMajorMs;
63
+ private gcTotalMs;
64
+ private gcAvailable;
65
+ constructor(serviceName: string, transport: BatchTransport, debug: boolean, environment?: string, options?: MetricsIntegrationOptions);
66
+ /**
67
+ * Start the periodic metrics collection timer.
68
+ * Sets up GC observation and stores initial CPU usage baseline.
69
+ */
70
+ enable(): void;
71
+ /**
72
+ * Stop the periodic collection timer and clean up resources.
73
+ */
74
+ disable(): void;
75
+ /**
76
+ * Collect all system metrics and enqueue them for transport.
77
+ * Wrapped in try/catch for fail-open safety.
78
+ */
79
+ private collectMetrics;
80
+ /**
81
+ * Collect CPU user and system percentages via process.cpuUsage() delta.
82
+ */
83
+ private collectCpuMetrics;
84
+ /**
85
+ * Collect memory metrics via process.memoryUsage().
86
+ */
87
+ private collectMemoryMetrics;
88
+ /**
89
+ * Emit the last measured event loop lag value.
90
+ */
91
+ private collectEventLoopLagMetric;
92
+ /**
93
+ * Measure event loop lag using setTimeout(0) technique.
94
+ * The lag value is stored and included in the next metric collection tick.
95
+ */
96
+ private measureEventLoopLag;
97
+ /**
98
+ * Emit accumulated GC stats and reset counters.
99
+ */
100
+ private collectGCMetrics;
101
+ /**
102
+ * Set up a PerformanceObserver to track GC events.
103
+ * Silently skips if not available in the current runtime.
104
+ */
105
+ private setupGCObserver;
106
+ /**
107
+ * Helper to construct a MetricPayload and enqueue it in the transport.
108
+ */
109
+ private enqueue;
110
+ }
@@ -0,0 +1,313 @@
1
+ "use strict";
2
+ /**
3
+ * @file packages/node-sdk/src/integrations/metrics.ts
4
+ * @description MetricsIntegration - automatic infrastructure metrics collector for Node.js processes.
5
+ *
6
+ * Implements Story 048 - Infrastructure Metrics Collection
7
+ *
8
+ * Collected metrics:
9
+ * - cpu.user_percent, cpu.system_percent (CPU usage delta between samples)
10
+ * - memory.rss, memory.heap_used, memory.heap_total, memory.external (bytes)
11
+ * - event_loop.lag_ms (setTimeout(0) technique)
12
+ * - gc.minor_ms, gc.major_ms, gc.pause_total_ms (via PerformanceObserver)
13
+ *
14
+ * Design:
15
+ * - Fail-open: collection errors never crash the host process
16
+ * - All timers are unref()'d so they don't keep the process alive
17
+ * - GC stats are silently omitted if PerformanceObserver is not available
18
+ * - Uses only Node.js built-in modules (os, perf_hooks, process)
19
+ */
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.MetricsIntegration = void 0;
25
+ const os_1 = __importDefault(require("os"));
26
+ const perf_hooks_1 = require("perf_hooks");
27
+ // ---------- Constants ----------
28
+ const MIN_INTERVAL_MS = 5000;
29
+ const MAX_INTERVAL_MS = 300000;
30
+ const DEFAULT_INTERVAL_MS = 15000;
31
+ // ---------- MetricsIntegration ----------
32
+ /**
33
+ * MetricsIntegration automatically collects infrastructure metrics from the
34
+ * Node.js process and enqueues them for batched transport.
35
+ *
36
+ * Collected metrics:
37
+ * - cpu.user_percent, cpu.system_percent (CPU usage delta)
38
+ * - memory.rss, memory.heap_used, memory.heap_total, memory.external (bytes)
39
+ * - event_loop.lag_ms (setTimeout(0) technique)
40
+ * - gc.minor_ms, gc.major_ms, gc.pause_total_ms (via PerformanceObserver)
41
+ */
42
+ class MetricsIntegration {
43
+ constructor(serviceName, transport, debug, environment, options) {
44
+ this.timer = null;
45
+ // CPU delta tracking
46
+ this.previousCpuUsage = null;
47
+ this.previousSampleTime = 0;
48
+ // Event loop lag tracking
49
+ this.lastEventLoopLag = 0;
50
+ // GC stats tracking
51
+ this.gcObserver = null;
52
+ this.gcMinorMs = 0;
53
+ this.gcMajorMs = 0;
54
+ this.gcTotalMs = 0;
55
+ this.gcAvailable = false;
56
+ this.serviceName = serviceName;
57
+ this.transport = transport;
58
+ this.debug = debug;
59
+ this.environment = environment;
60
+ this.hostname = os_1.default.hostname();
61
+ // Clamp interval to [5000, 300000]
62
+ const rawInterval = options?.interval ?? DEFAULT_INTERVAL_MS;
63
+ this.intervalMs = Math.min(MAX_INTERVAL_MS, Math.max(MIN_INTERVAL_MS, rawInterval));
64
+ }
65
+ /**
66
+ * Start the periodic metrics collection timer.
67
+ * Sets up GC observation and stores initial CPU usage baseline.
68
+ */
69
+ enable() {
70
+ try {
71
+ // Store initial CPU usage for delta calculation
72
+ if (typeof process.cpuUsage === 'function') {
73
+ this.previousCpuUsage = process.cpuUsage();
74
+ this.previousSampleTime = Date.now();
75
+ }
76
+ // Set up GC observation
77
+ this.setupGCObserver();
78
+ // Start periodic collection
79
+ this.timer = setInterval(() => {
80
+ this.collectMetrics();
81
+ }, this.intervalMs);
82
+ // unref() so the timer doesn't keep the Node.js process alive
83
+ if (this.timer && typeof this.timer.unref === 'function') {
84
+ this.timer.unref();
85
+ }
86
+ // Schedule initial event loop lag measurement
87
+ this.measureEventLoopLag();
88
+ if (this.debug) {
89
+ console.debug(`[JustAnalytics] MetricsIntegration enabled: interval=${this.intervalMs}ms, ` +
90
+ `gc=${this.gcAvailable ? 'available' : 'unavailable'}`);
91
+ }
92
+ }
93
+ catch (err) {
94
+ // Fail-open: if setup fails, the SDK continues without metrics
95
+ if (this.debug) {
96
+ console.debug('[JustAnalytics] MetricsIntegration enable() failed:', err);
97
+ }
98
+ }
99
+ }
100
+ /**
101
+ * Stop the periodic collection timer and clean up resources.
102
+ */
103
+ disable() {
104
+ if (this.timer !== null) {
105
+ clearInterval(this.timer);
106
+ this.timer = null;
107
+ }
108
+ if (this.gcObserver) {
109
+ try {
110
+ this.gcObserver.disconnect();
111
+ }
112
+ catch {
113
+ // Ignore disconnect errors
114
+ }
115
+ this.gcObserver = null;
116
+ }
117
+ this.previousCpuUsage = null;
118
+ this.gcMinorMs = 0;
119
+ this.gcMajorMs = 0;
120
+ this.gcTotalMs = 0;
121
+ if (this.debug) {
122
+ console.debug('[JustAnalytics] MetricsIntegration disabled.');
123
+ }
124
+ }
125
+ // ---------- Private Methods ----------
126
+ /**
127
+ * Collect all system metrics and enqueue them for transport.
128
+ * Wrapped in try/catch for fail-open safety.
129
+ */
130
+ collectMetrics() {
131
+ try {
132
+ const timestamp = new Date().toISOString();
133
+ const baseTags = {
134
+ hostname: this.hostname,
135
+ ...(this.environment ? { environment: this.environment } : {}),
136
+ };
137
+ // CPU metrics
138
+ this.collectCpuMetrics(timestamp, baseTags);
139
+ // Memory metrics
140
+ this.collectMemoryMetrics(timestamp, baseTags);
141
+ // Event loop lag
142
+ this.collectEventLoopLagMetric(timestamp, baseTags);
143
+ // GC metrics
144
+ this.collectGCMetrics(timestamp, baseTags);
145
+ // Schedule next event loop lag measurement
146
+ this.measureEventLoopLag();
147
+ }
148
+ catch (err) {
149
+ if (this.debug) {
150
+ console.debug('[JustAnalytics] MetricsIntegration collectMetrics() error:', err);
151
+ }
152
+ // Fail-open: never throw
153
+ }
154
+ }
155
+ /**
156
+ * Collect CPU user and system percentages via process.cpuUsage() delta.
157
+ */
158
+ collectCpuMetrics(timestamp, baseTags) {
159
+ try {
160
+ if (typeof process.cpuUsage !== 'function')
161
+ return;
162
+ const currentCpuUsage = process.cpuUsage();
163
+ const currentTime = Date.now();
164
+ if (this.previousCpuUsage !== null && this.previousSampleTime > 0) {
165
+ const elapsedMs = currentTime - this.previousSampleTime;
166
+ if (elapsedMs > 0) {
167
+ const elapsedMicros = elapsedMs * 1000;
168
+ const userDelta = currentCpuUsage.user - this.previousCpuUsage.user;
169
+ const systemDelta = currentCpuUsage.system - this.previousCpuUsage.system;
170
+ const userPercent = Math.min(100, Math.max(0, (userDelta / elapsedMicros) * 100));
171
+ const systemPercent = Math.min(100, Math.max(0, (systemDelta / elapsedMicros) * 100));
172
+ this.enqueue('cpu.user_percent', userPercent, timestamp, baseTags);
173
+ this.enqueue('cpu.system_percent', systemPercent, timestamp, baseTags);
174
+ }
175
+ }
176
+ this.previousCpuUsage = currentCpuUsage;
177
+ this.previousSampleTime = currentTime;
178
+ }
179
+ catch (err) {
180
+ if (this.debug) {
181
+ console.debug('[JustAnalytics] CPU metrics collection error:', err);
182
+ }
183
+ }
184
+ }
185
+ /**
186
+ * Collect memory metrics via process.memoryUsage().
187
+ */
188
+ collectMemoryMetrics(timestamp, baseTags) {
189
+ try {
190
+ if (typeof process.memoryUsage !== 'function')
191
+ return;
192
+ const mem = process.memoryUsage();
193
+ this.enqueue('memory.rss', mem.rss, timestamp, baseTags);
194
+ this.enqueue('memory.heap_used', mem.heapUsed, timestamp, baseTags);
195
+ this.enqueue('memory.heap_total', mem.heapTotal, timestamp, baseTags);
196
+ this.enqueue('memory.external', mem.external, timestamp, baseTags);
197
+ }
198
+ catch (err) {
199
+ if (this.debug) {
200
+ console.debug('[JustAnalytics] Memory metrics collection error:', err);
201
+ }
202
+ }
203
+ }
204
+ /**
205
+ * Emit the last measured event loop lag value.
206
+ */
207
+ collectEventLoopLagMetric(timestamp, baseTags) {
208
+ try {
209
+ this.enqueue('event_loop.lag_ms', this.lastEventLoopLag, timestamp, baseTags);
210
+ }
211
+ catch (err) {
212
+ if (this.debug) {
213
+ console.debug('[JustAnalytics] Event loop lag metric error:', err);
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * Measure event loop lag using setTimeout(0) technique.
219
+ * The lag value is stored and included in the next metric collection tick.
220
+ */
221
+ measureEventLoopLag() {
222
+ try {
223
+ const start = process.hrtime.bigint();
224
+ const t = setTimeout(() => {
225
+ try {
226
+ const elapsed = Number(process.hrtime.bigint() - start) / 1000000; // ns -> ms
227
+ this.lastEventLoopLag = Math.max(0, elapsed);
228
+ }
229
+ catch {
230
+ // Fail silently
231
+ }
232
+ }, 0);
233
+ // unref so it doesn't keep process alive
234
+ if (t && typeof t.unref === 'function') {
235
+ t.unref();
236
+ }
237
+ }
238
+ catch {
239
+ // Fail silently
240
+ }
241
+ }
242
+ /**
243
+ * Emit accumulated GC stats and reset counters.
244
+ */
245
+ collectGCMetrics(timestamp, baseTags) {
246
+ try {
247
+ if (!this.gcAvailable)
248
+ return;
249
+ this.enqueue('gc.minor_ms', this.gcMinorMs, timestamp, baseTags);
250
+ this.enqueue('gc.major_ms', this.gcMajorMs, timestamp, baseTags);
251
+ this.enqueue('gc.pause_total_ms', this.gcTotalMs, timestamp, baseTags);
252
+ // Reset accumulators for next interval
253
+ this.gcMinorMs = 0;
254
+ this.gcMajorMs = 0;
255
+ this.gcTotalMs = 0;
256
+ }
257
+ catch (err) {
258
+ if (this.debug) {
259
+ console.debug('[JustAnalytics] GC metrics collection error:', err);
260
+ }
261
+ }
262
+ }
263
+ /**
264
+ * Set up a PerformanceObserver to track GC events.
265
+ * Silently skips if not available in the current runtime.
266
+ */
267
+ setupGCObserver() {
268
+ try {
269
+ const obs = new perf_hooks_1.PerformanceObserver((list) => {
270
+ try {
271
+ for (const entry of list.getEntries()) {
272
+ const durationMs = entry.duration;
273
+ this.gcTotalMs += durationMs;
274
+ // entry.detail.kind: 1 = minor (Scavenge), 2 = major (Mark-Sweep-Compact)
275
+ const kind = entry.detail?.kind
276
+ ?? entry.kind;
277
+ if (kind === 1) {
278
+ this.gcMinorMs += durationMs;
279
+ }
280
+ else if (kind === 2) {
281
+ this.gcMajorMs += durationMs;
282
+ }
283
+ }
284
+ }
285
+ catch {
286
+ // Fail silently on individual entry processing
287
+ }
288
+ });
289
+ obs.observe({ entryTypes: ['gc'] });
290
+ this.gcObserver = obs;
291
+ this.gcAvailable = true;
292
+ }
293
+ catch {
294
+ // GC observation not available -- silently skip
295
+ this.gcAvailable = false;
296
+ }
297
+ }
298
+ /**
299
+ * Helper to construct a MetricPayload and enqueue it in the transport.
300
+ */
301
+ enqueue(metricName, value, timestamp, baseTags) {
302
+ const payload = {
303
+ metricName,
304
+ value,
305
+ serviceName: this.serviceName,
306
+ timestamp,
307
+ tags: { ...baseTags },
308
+ };
309
+ this.transport.enqueueMetric(payload);
310
+ }
311
+ }
312
+ exports.MetricsIntegration = MetricsIntegration;
313
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/integrations/metrics.ts"],"names":[],"mappings":"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"}