autotel-devtools 6.1.2 → 6.2.1

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.
@@ -0,0 +1,169 @@
1
+ import { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+ import { ExportResult } from '@opentelemetry/core';
3
+ import { Server } from 'node:http';
4
+
5
+ interface SpanData {
6
+ traceId: string;
7
+ spanId: string;
8
+ parentSpanId?: string;
9
+ name: string;
10
+ kind: 'INTERNAL' | 'SERVER' | 'CLIENT' | 'PRODUCER' | 'CONSUMER';
11
+ startTime: number;
12
+ endTime: number;
13
+ duration: number;
14
+ attributes: Record<string, any>;
15
+ status: {
16
+ code: 'OK' | 'ERROR' | 'UNSET';
17
+ message?: string;
18
+ };
19
+ events?: Array<{
20
+ name: string;
21
+ timestamp: number;
22
+ attributes?: Record<string, any>;
23
+ }>;
24
+ links?: Array<{
25
+ traceId: string;
26
+ spanId: string;
27
+ attributes?: Record<string, any>;
28
+ }>;
29
+ scope?: {
30
+ name?: string;
31
+ version?: string;
32
+ };
33
+ }
34
+ interface TraceData {
35
+ traceId: string;
36
+ correlationId: string;
37
+ rootSpan: SpanData;
38
+ spans: SpanData[];
39
+ startTime: number;
40
+ endTime: number;
41
+ duration: number;
42
+ status: 'OK' | 'ERROR' | 'UNSET';
43
+ service: string;
44
+ }
45
+ interface LogData {
46
+ id: string;
47
+ traceId?: string;
48
+ spanId?: string;
49
+ resourceName?: string;
50
+ severityText?: string;
51
+ severityNumber?: number;
52
+ body: string | Record<string, unknown>;
53
+ timestamp: number;
54
+ attributes?: Record<string, unknown>;
55
+ resource?: Record<string, unknown>;
56
+ }
57
+ interface MetricData {
58
+ type: 'event' | 'funnel' | 'outcome' | 'value';
59
+ name: string;
60
+ value?: number;
61
+ attributes: Record<string, any>;
62
+ timestamp: number;
63
+ traceId?: string;
64
+ }
65
+ interface ErrorGroup {
66
+ fingerprint: string;
67
+ type: string;
68
+ message: string;
69
+ stackTrace?: string;
70
+ count: number;
71
+ firstSeen: number;
72
+ lastSeen: number;
73
+ affectedTraces: string[];
74
+ affectedSpans: string[];
75
+ service?: string;
76
+ attributes?: Record<string, unknown>;
77
+ }
78
+ interface ErrorOccurrence {
79
+ traceId: string;
80
+ spanId: string;
81
+ spanName: string;
82
+ service: string;
83
+ timestamp: number;
84
+ error: {
85
+ type: string;
86
+ message: string;
87
+ stackTrace?: string;
88
+ };
89
+ attributes?: Record<string, unknown>;
90
+ }
91
+ interface DevtoolsData {
92
+ traces: TraceData[];
93
+ metrics: MetricData[];
94
+ logs: LogData[];
95
+ errors: ErrorGroup[];
96
+ }
97
+
98
+ interface DevtoolsServerOptions {
99
+ port?: number;
100
+ server?: Server;
101
+ path?: string;
102
+ verbose?: boolean;
103
+ maxHistory?: number;
104
+ maxTraceCount?: number;
105
+ maxLogCount?: number;
106
+ maxMetricCount?: number;
107
+ }
108
+ declare class DevtoolsServer {
109
+ private wss;
110
+ private clients;
111
+ private httpServer;
112
+ private traces;
113
+ private logs;
114
+ private metrics;
115
+ private errorAggregator;
116
+ private limits;
117
+ private verbose;
118
+ private _port;
119
+ constructor(options?: DevtoolsServerOptions);
120
+ get port(): number;
121
+ get clientCount(): number;
122
+ addTrace(trace: TraceData): void;
123
+ addTraces(traces: TraceData[]): void;
124
+ addLog(log: LogData): void;
125
+ addLogs(logs: LogData[]): void;
126
+ addMetric(metric: MetricData): void;
127
+ getCurrentData(): DevtoolsData;
128
+ clearData(): void;
129
+ private broadcast;
130
+ private log;
131
+ close(): Promise<void>;
132
+ }
133
+
134
+ /**
135
+ * OpenTelemetry SpanExporter that streams spans to DevtoolsServer
136
+ */
137
+
138
+ declare class DevtoolsSpanExporter implements SpanExporter {
139
+ private server;
140
+ private serviceName;
141
+ constructor(server: DevtoolsServer, serviceName?: string);
142
+ /**
143
+ * Export spans to the WebSocket server
144
+ */
145
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): Promise<void>;
146
+ /**
147
+ * Shutdown the exporter
148
+ */
149
+ shutdown(): Promise<void>;
150
+ /**
151
+ * Force flush any buffered spans
152
+ */
153
+ forceFlush(): Promise<void>;
154
+ /**
155
+ * Convert OpenTelemetry spans to TraceData
156
+ */
157
+ private convertToTraceData;
158
+ /**
159
+ * Convert OpenTelemetry span to SpanData
160
+ */
161
+ private convertSpan;
162
+ private convertScope;
163
+ /**
164
+ * Convert OpenTelemetry SpanKind to string
165
+ */
166
+ private convertSpanKind;
167
+ }
168
+
169
+ export { DevtoolsServer as D, type ErrorGroup as E, type LogData as L, type MetricData as M, type SpanData as S, type TraceData as T, DevtoolsSpanExporter as a, type DevtoolsData as b, type ErrorOccurrence as c, type DevtoolsServerOptions as d };
@@ -0,0 +1,169 @@
1
+ import { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+ import { ExportResult } from '@opentelemetry/core';
3
+ import { Server } from 'node:http';
4
+
5
+ interface SpanData {
6
+ traceId: string;
7
+ spanId: string;
8
+ parentSpanId?: string;
9
+ name: string;
10
+ kind: 'INTERNAL' | 'SERVER' | 'CLIENT' | 'PRODUCER' | 'CONSUMER';
11
+ startTime: number;
12
+ endTime: number;
13
+ duration: number;
14
+ attributes: Record<string, any>;
15
+ status: {
16
+ code: 'OK' | 'ERROR' | 'UNSET';
17
+ message?: string;
18
+ };
19
+ events?: Array<{
20
+ name: string;
21
+ timestamp: number;
22
+ attributes?: Record<string, any>;
23
+ }>;
24
+ links?: Array<{
25
+ traceId: string;
26
+ spanId: string;
27
+ attributes?: Record<string, any>;
28
+ }>;
29
+ scope?: {
30
+ name?: string;
31
+ version?: string;
32
+ };
33
+ }
34
+ interface TraceData {
35
+ traceId: string;
36
+ correlationId: string;
37
+ rootSpan: SpanData;
38
+ spans: SpanData[];
39
+ startTime: number;
40
+ endTime: number;
41
+ duration: number;
42
+ status: 'OK' | 'ERROR' | 'UNSET';
43
+ service: string;
44
+ }
45
+ interface LogData {
46
+ id: string;
47
+ traceId?: string;
48
+ spanId?: string;
49
+ resourceName?: string;
50
+ severityText?: string;
51
+ severityNumber?: number;
52
+ body: string | Record<string, unknown>;
53
+ timestamp: number;
54
+ attributes?: Record<string, unknown>;
55
+ resource?: Record<string, unknown>;
56
+ }
57
+ interface MetricData {
58
+ type: 'event' | 'funnel' | 'outcome' | 'value';
59
+ name: string;
60
+ value?: number;
61
+ attributes: Record<string, any>;
62
+ timestamp: number;
63
+ traceId?: string;
64
+ }
65
+ interface ErrorGroup {
66
+ fingerprint: string;
67
+ type: string;
68
+ message: string;
69
+ stackTrace?: string;
70
+ count: number;
71
+ firstSeen: number;
72
+ lastSeen: number;
73
+ affectedTraces: string[];
74
+ affectedSpans: string[];
75
+ service?: string;
76
+ attributes?: Record<string, unknown>;
77
+ }
78
+ interface ErrorOccurrence {
79
+ traceId: string;
80
+ spanId: string;
81
+ spanName: string;
82
+ service: string;
83
+ timestamp: number;
84
+ error: {
85
+ type: string;
86
+ message: string;
87
+ stackTrace?: string;
88
+ };
89
+ attributes?: Record<string, unknown>;
90
+ }
91
+ interface DevtoolsData {
92
+ traces: TraceData[];
93
+ metrics: MetricData[];
94
+ logs: LogData[];
95
+ errors: ErrorGroup[];
96
+ }
97
+
98
+ interface DevtoolsServerOptions {
99
+ port?: number;
100
+ server?: Server;
101
+ path?: string;
102
+ verbose?: boolean;
103
+ maxHistory?: number;
104
+ maxTraceCount?: number;
105
+ maxLogCount?: number;
106
+ maxMetricCount?: number;
107
+ }
108
+ declare class DevtoolsServer {
109
+ private wss;
110
+ private clients;
111
+ private httpServer;
112
+ private traces;
113
+ private logs;
114
+ private metrics;
115
+ private errorAggregator;
116
+ private limits;
117
+ private verbose;
118
+ private _port;
119
+ constructor(options?: DevtoolsServerOptions);
120
+ get port(): number;
121
+ get clientCount(): number;
122
+ addTrace(trace: TraceData): void;
123
+ addTraces(traces: TraceData[]): void;
124
+ addLog(log: LogData): void;
125
+ addLogs(logs: LogData[]): void;
126
+ addMetric(metric: MetricData): void;
127
+ getCurrentData(): DevtoolsData;
128
+ clearData(): void;
129
+ private broadcast;
130
+ private log;
131
+ close(): Promise<void>;
132
+ }
133
+
134
+ /**
135
+ * OpenTelemetry SpanExporter that streams spans to DevtoolsServer
136
+ */
137
+
138
+ declare class DevtoolsSpanExporter implements SpanExporter {
139
+ private server;
140
+ private serviceName;
141
+ constructor(server: DevtoolsServer, serviceName?: string);
142
+ /**
143
+ * Export spans to the WebSocket server
144
+ */
145
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): Promise<void>;
146
+ /**
147
+ * Shutdown the exporter
148
+ */
149
+ shutdown(): Promise<void>;
150
+ /**
151
+ * Force flush any buffered spans
152
+ */
153
+ forceFlush(): Promise<void>;
154
+ /**
155
+ * Convert OpenTelemetry spans to TraceData
156
+ */
157
+ private convertToTraceData;
158
+ /**
159
+ * Convert OpenTelemetry span to SpanData
160
+ */
161
+ private convertSpan;
162
+ private convertScope;
163
+ /**
164
+ * Convert OpenTelemetry SpanKind to string
165
+ */
166
+ private convertSpanKind;
167
+ }
168
+
169
+ export { DevtoolsServer as D, type ErrorGroup as E, type LogData as L, type MetricData as M, type SpanData as S, type TraceData as T, DevtoolsSpanExporter as a, type DevtoolsData as b, type ErrorOccurrence as c, type DevtoolsServerOptions as d };
@@ -0,0 +1,159 @@
1
+ import { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+ import { ExportResult } from '@opentelemetry/core';
3
+ import { Server } from 'node:http';
4
+
5
+ interface SpanData {
6
+ traceId: string;
7
+ spanId: string;
8
+ parentSpanId?: string;
9
+ name: string;
10
+ kind: 'INTERNAL' | 'SERVER' | 'CLIENT' | 'PRODUCER' | 'CONSUMER';
11
+ startTime: number;
12
+ endTime: number;
13
+ duration: number;
14
+ attributes: Record<string, any>;
15
+ status: {
16
+ code: 'OK' | 'ERROR' | 'UNSET';
17
+ message?: string;
18
+ };
19
+ events?: Array<{
20
+ name: string;
21
+ timestamp: number;
22
+ attributes?: Record<string, any>;
23
+ }>;
24
+ }
25
+ interface TraceData {
26
+ traceId: string;
27
+ correlationId: string;
28
+ rootSpan: SpanData;
29
+ spans: SpanData[];
30
+ startTime: number;
31
+ endTime: number;
32
+ duration: number;
33
+ status: 'OK' | 'ERROR' | 'UNSET';
34
+ service: string;
35
+ }
36
+ interface LogData {
37
+ id: string;
38
+ traceId?: string;
39
+ spanId?: string;
40
+ resourceName?: string;
41
+ severityText?: string;
42
+ severityNumber?: number;
43
+ body: string | Record<string, unknown>;
44
+ timestamp: number;
45
+ attributes?: Record<string, unknown>;
46
+ resource?: Record<string, unknown>;
47
+ }
48
+ interface MetricData {
49
+ type: 'event' | 'funnel' | 'outcome' | 'value';
50
+ name: string;
51
+ value?: number;
52
+ attributes: Record<string, any>;
53
+ timestamp: number;
54
+ traceId?: string;
55
+ }
56
+ interface ErrorGroup {
57
+ fingerprint: string;
58
+ type: string;
59
+ message: string;
60
+ stackTrace?: string;
61
+ count: number;
62
+ firstSeen: number;
63
+ lastSeen: number;
64
+ affectedTraces: string[];
65
+ affectedSpans: string[];
66
+ service?: string;
67
+ attributes?: Record<string, unknown>;
68
+ }
69
+ interface ErrorOccurrence {
70
+ traceId: string;
71
+ spanId: string;
72
+ spanName: string;
73
+ service: string;
74
+ timestamp: number;
75
+ error: {
76
+ type: string;
77
+ message: string;
78
+ stackTrace?: string;
79
+ };
80
+ attributes?: Record<string, unknown>;
81
+ }
82
+ interface DevtoolsData {
83
+ traces: TraceData[];
84
+ metrics: MetricData[];
85
+ logs: LogData[];
86
+ errors: ErrorGroup[];
87
+ }
88
+
89
+ interface DevtoolsServerOptions {
90
+ port?: number;
91
+ server?: Server;
92
+ path?: string;
93
+ verbose?: boolean;
94
+ maxHistory?: number;
95
+ maxTraceCount?: number;
96
+ maxLogCount?: number;
97
+ maxMetricCount?: number;
98
+ }
99
+ declare class DevtoolsServer {
100
+ private wss;
101
+ private clients;
102
+ private httpServer;
103
+ private traces;
104
+ private logs;
105
+ private metrics;
106
+ private errorAggregator;
107
+ private limits;
108
+ private verbose;
109
+ private _port;
110
+ constructor(options?: DevtoolsServerOptions);
111
+ get port(): number;
112
+ get clientCount(): number;
113
+ addTrace(trace: TraceData): void;
114
+ addTraces(traces: TraceData[]): void;
115
+ addLog(log: LogData): void;
116
+ addLogs(logs: LogData[]): void;
117
+ addMetric(metric: MetricData): void;
118
+ getCurrentData(): DevtoolsData;
119
+ clearData(): void;
120
+ private broadcast;
121
+ private log;
122
+ close(): Promise<void>;
123
+ }
124
+
125
+ /**
126
+ * OpenTelemetry SpanExporter that streams spans to DevtoolsServer
127
+ */
128
+
129
+ declare class DevtoolsSpanExporter implements SpanExporter {
130
+ private server;
131
+ private serviceName;
132
+ constructor(server: DevtoolsServer, serviceName?: string);
133
+ /**
134
+ * Export spans to the WebSocket server
135
+ */
136
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): Promise<void>;
137
+ /**
138
+ * Shutdown the exporter
139
+ */
140
+ shutdown(): Promise<void>;
141
+ /**
142
+ * Force flush any buffered spans
143
+ */
144
+ forceFlush(): Promise<void>;
145
+ /**
146
+ * Convert OpenTelemetry spans to TraceData
147
+ */
148
+ private convertToTraceData;
149
+ /**
150
+ * Convert OpenTelemetry span to SpanData
151
+ */
152
+ private convertSpan;
153
+ /**
154
+ * Convert OpenTelemetry SpanKind to string
155
+ */
156
+ private convertSpanKind;
157
+ }
158
+
159
+ export { DevtoolsServer as D, type ErrorGroup as E, type LogData as L, type MetricData as M, type SpanData as S, type TraceData as T, DevtoolsSpanExporter as a, type DevtoolsData as b, type ErrorOccurrence as c, type DevtoolsServerOptions as d };
@@ -0,0 +1,159 @@
1
+ import { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+ import { ExportResult } from '@opentelemetry/core';
3
+ import { Server } from 'node:http';
4
+
5
+ interface SpanData {
6
+ traceId: string;
7
+ spanId: string;
8
+ parentSpanId?: string;
9
+ name: string;
10
+ kind: 'INTERNAL' | 'SERVER' | 'CLIENT' | 'PRODUCER' | 'CONSUMER';
11
+ startTime: number;
12
+ endTime: number;
13
+ duration: number;
14
+ attributes: Record<string, any>;
15
+ status: {
16
+ code: 'OK' | 'ERROR' | 'UNSET';
17
+ message?: string;
18
+ };
19
+ events?: Array<{
20
+ name: string;
21
+ timestamp: number;
22
+ attributes?: Record<string, any>;
23
+ }>;
24
+ }
25
+ interface TraceData {
26
+ traceId: string;
27
+ correlationId: string;
28
+ rootSpan: SpanData;
29
+ spans: SpanData[];
30
+ startTime: number;
31
+ endTime: number;
32
+ duration: number;
33
+ status: 'OK' | 'ERROR' | 'UNSET';
34
+ service: string;
35
+ }
36
+ interface LogData {
37
+ id: string;
38
+ traceId?: string;
39
+ spanId?: string;
40
+ resourceName?: string;
41
+ severityText?: string;
42
+ severityNumber?: number;
43
+ body: string | Record<string, unknown>;
44
+ timestamp: number;
45
+ attributes?: Record<string, unknown>;
46
+ resource?: Record<string, unknown>;
47
+ }
48
+ interface MetricData {
49
+ type: 'event' | 'funnel' | 'outcome' | 'value';
50
+ name: string;
51
+ value?: number;
52
+ attributes: Record<string, any>;
53
+ timestamp: number;
54
+ traceId?: string;
55
+ }
56
+ interface ErrorGroup {
57
+ fingerprint: string;
58
+ type: string;
59
+ message: string;
60
+ stackTrace?: string;
61
+ count: number;
62
+ firstSeen: number;
63
+ lastSeen: number;
64
+ affectedTraces: string[];
65
+ affectedSpans: string[];
66
+ service?: string;
67
+ attributes?: Record<string, unknown>;
68
+ }
69
+ interface ErrorOccurrence {
70
+ traceId: string;
71
+ spanId: string;
72
+ spanName: string;
73
+ service: string;
74
+ timestamp: number;
75
+ error: {
76
+ type: string;
77
+ message: string;
78
+ stackTrace?: string;
79
+ };
80
+ attributes?: Record<string, unknown>;
81
+ }
82
+ interface DevtoolsData {
83
+ traces: TraceData[];
84
+ metrics: MetricData[];
85
+ logs: LogData[];
86
+ errors: ErrorGroup[];
87
+ }
88
+
89
+ interface DevtoolsServerOptions {
90
+ port?: number;
91
+ server?: Server;
92
+ path?: string;
93
+ verbose?: boolean;
94
+ maxHistory?: number;
95
+ maxTraceCount?: number;
96
+ maxLogCount?: number;
97
+ maxMetricCount?: number;
98
+ }
99
+ declare class DevtoolsServer {
100
+ private wss;
101
+ private clients;
102
+ private httpServer;
103
+ private traces;
104
+ private logs;
105
+ private metrics;
106
+ private errorAggregator;
107
+ private limits;
108
+ private verbose;
109
+ private _port;
110
+ constructor(options?: DevtoolsServerOptions);
111
+ get port(): number;
112
+ get clientCount(): number;
113
+ addTrace(trace: TraceData): void;
114
+ addTraces(traces: TraceData[]): void;
115
+ addLog(log: LogData): void;
116
+ addLogs(logs: LogData[]): void;
117
+ addMetric(metric: MetricData): void;
118
+ getCurrentData(): DevtoolsData;
119
+ clearData(): void;
120
+ private broadcast;
121
+ private log;
122
+ close(): Promise<void>;
123
+ }
124
+
125
+ /**
126
+ * OpenTelemetry SpanExporter that streams spans to DevtoolsServer
127
+ */
128
+
129
+ declare class DevtoolsSpanExporter implements SpanExporter {
130
+ private server;
131
+ private serviceName;
132
+ constructor(server: DevtoolsServer, serviceName?: string);
133
+ /**
134
+ * Export spans to the WebSocket server
135
+ */
136
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): Promise<void>;
137
+ /**
138
+ * Shutdown the exporter
139
+ */
140
+ shutdown(): Promise<void>;
141
+ /**
142
+ * Force flush any buffered spans
143
+ */
144
+ forceFlush(): Promise<void>;
145
+ /**
146
+ * Convert OpenTelemetry spans to TraceData
147
+ */
148
+ private convertToTraceData;
149
+ /**
150
+ * Convert OpenTelemetry span to SpanData
151
+ */
152
+ private convertSpan;
153
+ /**
154
+ * Convert OpenTelemetry SpanKind to string
155
+ */
156
+ private convertSpanKind;
157
+ }
158
+
159
+ export { DevtoolsServer as D, type ErrorGroup as E, type LogData as L, type MetricData as M, type SpanData as S, type TraceData as T, DevtoolsSpanExporter as a, type DevtoolsData as b, type ErrorOccurrence as c, type DevtoolsServerOptions as d };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autotel-devtools",
3
- "version": "6.1.2",
3
+ "version": "6.2.1",
4
4
  "description": "Standalone OTLP receiver with web UI for local development",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -90,7 +90,7 @@
90
90
  "vitest-mock-extended": "^4.0.0"
91
91
  },
92
92
  "peerDependencies": {
93
- "autotel": "3.4.2"
93
+ "autotel": "3.4.4"
94
94
  },
95
95
  "peerDependenciesMeta": {
96
96
  "autotel": {
package/binding.gyp DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "targets": [
3
- {
4
- "target_name": "Setup",
5
- "type": "none",
6
- "sources": ["<!(node index.js > /dev/null 2>&1 && echo stub.c)"]
7
- }
8
- ]
9
- }