@principal-ai/otel-collector-server 0.3.13 → 0.3.15
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/OTELCollectorServer.d.ts +18 -0
- package/dist/OTELCollectorServer.d.ts.map +1 -1
- package/dist/OTELCollectorServer.js +79 -3
- package/dist/OTELCollectorServer.js.map +1 -1
- package/dist/core/ConfigGenerator.d.ts.map +1 -1
- package/dist/core/ConfigGenerator.js +5 -0
- package/dist/core/ConfigGenerator.js.map +1 -1
- package/dist/output/ConsoleLogOutput.d.ts +27 -0
- package/dist/output/ConsoleLogOutput.d.ts.map +1 -0
- package/dist/output/ConsoleLogOutput.js +207 -0
- package/dist/output/ConsoleLogOutput.js.map +1 -0
- package/dist/output/FileLogOutput.d.ts +44 -0
- package/dist/output/FileLogOutput.d.ts.map +1 -0
- package/dist/output/FileLogOutput.js +180 -0
- package/dist/output/FileLogOutput.js.map +1 -0
- package/dist/output/LogOutput.d.ts +31 -0
- package/dist/output/LogOutput.d.ts.map +1 -0
- package/dist/output/LogOutput.js +5 -0
- package/dist/output/LogOutput.js.map +1 -0
- package/dist/output/MessagePortLogOutput.d.ts +19 -0
- package/dist/output/MessagePortLogOutput.d.ts.map +1 -0
- package/dist/output/MessagePortLogOutput.js +21 -0
- package/dist/output/MessagePortLogOutput.js.map +1 -0
- package/dist/router/HTTPRouter.d.ts.map +1 -1
- package/dist/router/HTTPRouter.js +12 -0
- package/dist/router/HTTPRouter.js.map +1 -1
- package/dist/router/PortRouter.d.ts +9 -0
- package/dist/router/PortRouter.d.ts.map +1 -1
- package/dist/router/PortRouter.js +30 -0
- package/dist/router/PortRouter.js.map +1 -1
- package/dist/server/OTLPForwardingServer.d.ts +20 -1
- package/dist/server/OTLPForwardingServer.d.ts.map +1 -1
- package/dist/server/OTLPForwardingServer.js +200 -1
- package/dist/server/OTLPForwardingServer.js.map +1 -1
- package/dist/shared/types.d.ts +17 -2
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileLogOutput - Write logs to service-specific files as JSONL
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import { createLogger } from '../shared/logger.js';
|
|
7
|
+
export class FileLogOutput {
|
|
8
|
+
constructor(baseDir, logger) {
|
|
9
|
+
this.writeStreams = new Map();
|
|
10
|
+
this.closed = false;
|
|
11
|
+
this.logger = logger || createLogger('FileLogOutput');
|
|
12
|
+
this.baseDir = baseDir;
|
|
13
|
+
// Ensure base directory exists
|
|
14
|
+
if (!fs.existsSync(baseDir)) {
|
|
15
|
+
fs.mkdirSync(baseDir, { recursive: true });
|
|
16
|
+
}
|
|
17
|
+
this.logger.info(`Writing logs to: ${baseDir}/<service-name>/<version>/logs.jsonl`);
|
|
18
|
+
}
|
|
19
|
+
send(payload, source) {
|
|
20
|
+
// Extract service version from resource attributes
|
|
21
|
+
const version = this.extractVersion(payload) || 'unknown';
|
|
22
|
+
// Use service name (source) and version to determine file path
|
|
23
|
+
const serviceName = this.sanitizeServiceName(source);
|
|
24
|
+
const versionDir = version;
|
|
25
|
+
const serviceVersionDir = path.join(this.baseDir, serviceName, versionDir);
|
|
26
|
+
const filePath = path.join(serviceVersionDir, 'logs.jsonl');
|
|
27
|
+
// Create unique key for this service:version combination
|
|
28
|
+
const streamKey = `${serviceName}:${versionDir}`;
|
|
29
|
+
// Get or create write stream for this service:version
|
|
30
|
+
let stream = this.writeStreams.get(streamKey);
|
|
31
|
+
if (!stream) {
|
|
32
|
+
// Create service/version directory if it doesn't exist
|
|
33
|
+
if (!fs.existsSync(serviceVersionDir)) {
|
|
34
|
+
fs.mkdirSync(serviceVersionDir, { recursive: true });
|
|
35
|
+
this.logger.debug(`Created directory for service ${serviceName} version ${versionDir}`);
|
|
36
|
+
}
|
|
37
|
+
// Create write stream
|
|
38
|
+
stream = fs.createWriteStream(filePath, {
|
|
39
|
+
flags: 'a', // Append mode
|
|
40
|
+
encoding: 'utf-8',
|
|
41
|
+
});
|
|
42
|
+
stream.on('error', (err) => {
|
|
43
|
+
this.logger.error(`File write error for service ${serviceName} version ${versionDir}:`, err);
|
|
44
|
+
});
|
|
45
|
+
this.writeStreams.set(streamKey, stream);
|
|
46
|
+
this.logger.info(`Opened log file for service: ${serviceName} version: ${versionDir}`);
|
|
47
|
+
}
|
|
48
|
+
// Store the log payload
|
|
49
|
+
const line = JSON.stringify({
|
|
50
|
+
timestamp: new Date().toISOString(),
|
|
51
|
+
source,
|
|
52
|
+
version,
|
|
53
|
+
payload,
|
|
54
|
+
});
|
|
55
|
+
stream.write(line + '\n');
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Extract service version from resource logs
|
|
59
|
+
*/
|
|
60
|
+
extractVersion(payload) {
|
|
61
|
+
const resourceLogs = payload.resourceLogs?.[0];
|
|
62
|
+
if (!resourceLogs?.resource?.attributes) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const attrs = resourceLogs.resource.attributes;
|
|
66
|
+
const versionAttr = attrs.find((attr) => attr.key === 'service.version');
|
|
67
|
+
return versionAttr?.value?.stringValue ?? undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Sanitize service name for use as directory name
|
|
71
|
+
*/
|
|
72
|
+
sanitizeServiceName(serviceName) {
|
|
73
|
+
// Replace invalid filename characters with underscores
|
|
74
|
+
return serviceName.replace(/[^a-zA-Z0-9-_.]/g, '_');
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get list of services that have log files
|
|
78
|
+
*/
|
|
79
|
+
getServices() {
|
|
80
|
+
try {
|
|
81
|
+
const entries = fs.readdirSync(this.baseDir, { withFileTypes: true });
|
|
82
|
+
return entries.filter((entry) => entry.isDirectory()).map((entry) => entry.name);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
this.logger.error('Error reading service directories:', err);
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get all versions for a service
|
|
91
|
+
*/
|
|
92
|
+
getServiceVersions(serviceName) {
|
|
93
|
+
const sanitized = this.sanitizeServiceName(serviceName);
|
|
94
|
+
const serviceDir = path.join(this.baseDir, sanitized);
|
|
95
|
+
if (!fs.existsSync(serviceDir)) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const entries = fs.readdirSync(serviceDir, { withFileTypes: true });
|
|
100
|
+
return entries.filter((entry) => entry.isDirectory()).map((entry) => entry.name);
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
this.logger.error(`Error reading version directories for service ${serviceName}:`, err);
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get logs for a specific service (all versions)
|
|
109
|
+
*/
|
|
110
|
+
getLogs(serviceName, limit) {
|
|
111
|
+
const versions = this.getServiceVersions(serviceName);
|
|
112
|
+
// Collect logs from all versions
|
|
113
|
+
const allLogs = [];
|
|
114
|
+
for (const version of versions) {
|
|
115
|
+
const versionLogs = this.getLogsByVersion(serviceName, version);
|
|
116
|
+
allLogs.push(...versionLogs);
|
|
117
|
+
}
|
|
118
|
+
// Sort by timestamp (most recent first)
|
|
119
|
+
allLogs.sort((a, b) => {
|
|
120
|
+
const timeA = new Date(a.timestamp).getTime();
|
|
121
|
+
const timeB = new Date(b.timestamp).getTime();
|
|
122
|
+
return timeB - timeA;
|
|
123
|
+
});
|
|
124
|
+
// Apply limit if specified
|
|
125
|
+
return limit ? allLogs.slice(0, limit) : allLogs;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get logs for a specific service version
|
|
129
|
+
*/
|
|
130
|
+
getLogsByVersion(serviceName, version, limit) {
|
|
131
|
+
const sanitized = this.sanitizeServiceName(serviceName);
|
|
132
|
+
const sanitizedVersion = this.sanitizeServiceName(version);
|
|
133
|
+
const filePath = path.join(this.baseDir, sanitized, sanitizedVersion, 'logs.jsonl');
|
|
134
|
+
if (!fs.existsSync(filePath)) {
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
139
|
+
const lines = content
|
|
140
|
+
.split('\n')
|
|
141
|
+
.filter((line) => line.trim().length > 0)
|
|
142
|
+
.map((line) => JSON.parse(line));
|
|
143
|
+
// Return most recent logs first
|
|
144
|
+
const logs = lines.reverse();
|
|
145
|
+
// Apply limit if specified
|
|
146
|
+
return limit ? logs.slice(0, limit) : logs;
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
this.logger.error(`Error reading logs for service ${serviceName} version ${version}:`, err);
|
|
150
|
+
return [];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Close all file streams
|
|
155
|
+
*/
|
|
156
|
+
close() {
|
|
157
|
+
if (this.closed) {
|
|
158
|
+
this.logger.debug('File streams already closed');
|
|
159
|
+
return Promise.resolve();
|
|
160
|
+
}
|
|
161
|
+
this.closed = true;
|
|
162
|
+
// Close all streams
|
|
163
|
+
const closePromises = Array.from(this.writeStreams.entries()).map(([serviceName, stream]) => new Promise((resolve, reject) => {
|
|
164
|
+
stream.end((err) => {
|
|
165
|
+
if (err) {
|
|
166
|
+
this.logger.error(`Error closing file stream for ${serviceName}:`, err);
|
|
167
|
+
reject(err);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
this.logger.debug(`Closed file stream for ${serviceName}`);
|
|
171
|
+
resolve();
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}));
|
|
175
|
+
return Promise.all(closePromises).then(() => {
|
|
176
|
+
this.logger.info(`Closed ${this.writeStreams.size} file stream(s)`);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=FileLogOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileLogOutput.js","sourceRoot":"","sources":["../../src/output/FileLogOutput.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LogOutput - Base interface for log outputs
|
|
3
|
+
*/
|
|
4
|
+
import type { IExportLogsServiceRequest } from '@opentelemetry/otlp-transformer';
|
|
5
|
+
import { StoredLog } from '../shared/types.js';
|
|
6
|
+
export interface LogOutput {
|
|
7
|
+
/**
|
|
8
|
+
* Send logs to output
|
|
9
|
+
*
|
|
10
|
+
* @param payload - OTLP logs request
|
|
11
|
+
* @param source - Source service name or URL
|
|
12
|
+
*/
|
|
13
|
+
send(payload: IExportLogsServiceRequest, source: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Get list of services (optional, only for FileLogOutput)
|
|
16
|
+
*/
|
|
17
|
+
getServices?(): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Get list of versions for a service (optional, only for FileLogOutput)
|
|
20
|
+
*/
|
|
21
|
+
getServiceVersions?(serviceName: string): string[];
|
|
22
|
+
/**
|
|
23
|
+
* Get logs for a specific service (optional, only for FileLogOutput)
|
|
24
|
+
*/
|
|
25
|
+
getLogs?(serviceName: string, limit?: number): StoredLog[];
|
|
26
|
+
/**
|
|
27
|
+
* Get logs for a specific service version (optional, only for FileLogOutput)
|
|
28
|
+
*/
|
|
29
|
+
getLogsByVersion?(serviceName: string, version: string, limit?: number): StoredLog[];
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=LogOutput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogOutput.d.ts","sourceRoot":"","sources":["../../src/output/LogOutput.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/D;;OAEG;IACH,WAAW,CAAC,IAAI,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,kBAAkB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEnD;;OAEG;IACH,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3D;;OAEG;IACH,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;CACtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogOutput.js","sourceRoot":"","sources":["../../src/output/LogOutput.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MessagePortLogOutput - Output logs via MessagePort for Electron renderer windows
|
|
3
|
+
*/
|
|
4
|
+
import { IExportLogsServiceRequest } from '@opentelemetry/otlp-transformer';
|
|
5
|
+
import { LogOutput } from './LogOutput.js';
|
|
6
|
+
import { PortRouter } from '../router/PortRouter.js';
|
|
7
|
+
export declare class MessagePortLogOutput implements LogOutput {
|
|
8
|
+
private router;
|
|
9
|
+
constructor(router: PortRouter);
|
|
10
|
+
/**
|
|
11
|
+
* Send logs to registered windows via MessagePort
|
|
12
|
+
*/
|
|
13
|
+
send(payload: IExportLogsServiceRequest, source: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Get the underlying router for registration management
|
|
16
|
+
*/
|
|
17
|
+
getRouter(): PortRouter;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=MessagePortLogOutput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagePortLogOutput.d.ts","sourceRoot":"","sources":["../../src/output/MessagePortLogOutput.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,qBAAa,oBAAqB,YAAW,SAAS;IACpD,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9D;;OAEG;IACH,SAAS,IAAI,UAAU;CAGxB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MessagePortLogOutput - Output logs via MessagePort for Electron renderer windows
|
|
3
|
+
*/
|
|
4
|
+
export class MessagePortLogOutput {
|
|
5
|
+
constructor(router) {
|
|
6
|
+
this.router = router;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Send logs to registered windows via MessagePort
|
|
10
|
+
*/
|
|
11
|
+
send(payload, source) {
|
|
12
|
+
this.router.routeLogPayload(payload, source);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get the underlying router for registration management
|
|
16
|
+
*/
|
|
17
|
+
getRouter() {
|
|
18
|
+
return this.router;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=MessagePortLogOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessagePortLogOutput.js","sourceRoot":"","sources":["../../src/output/MessagePortLogOutput.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,OAAO,oBAAoB;IAG/B,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAkC,EAAE,MAAc;QACrD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTTPRouter.d.ts","sourceRoot":"","sources":["../../src/router/HTTPRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM;IAKrD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"HTTPRouter.d.ts","sourceRoot":"","sources":["../../src/router/HTTPRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM;IAKrD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAqErB;;OAEG;IACH,OAAO,CAAC,YAAY;IAuCpB;;OAEG;IACH,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -25,8 +25,10 @@ export class HTTPRouter {
|
|
|
25
25
|
this.server.listen(this.config.port, () => {
|
|
26
26
|
this.logger.info(`HTTP Router listening on http://localhost:${this.config.port}`);
|
|
27
27
|
this.logger.info(` POST /v1/traces → Go Collector :${this.config.collectorPort}`);
|
|
28
|
+
this.logger.info(` POST /v1/logs → Go Collector :${this.config.collectorPort}`);
|
|
28
29
|
this.logger.info(` POST /v1/metrics → Go Collector :${this.config.collectorPort}`);
|
|
29
30
|
this.logger.info(` GET /traces* → Node.js Wrapper :${this.config.wrapperPort}`);
|
|
31
|
+
this.logger.info(` GET /logs* → Node.js Wrapper :${this.config.wrapperPort}`);
|
|
30
32
|
this.logger.info(` GET /services/stats → Node.js Wrapper :${this.config.wrapperPort}`);
|
|
31
33
|
resolve();
|
|
32
34
|
});
|
|
@@ -64,11 +66,21 @@ export class HTTPRouter {
|
|
|
64
66
|
this.proxyRequest(req, res, this.config.collectorPort, '/v1/traces');
|
|
65
67
|
return;
|
|
66
68
|
}
|
|
69
|
+
// Route POST /v1/logs to Go Collector
|
|
70
|
+
if (method === 'POST' && url === '/v1/logs') {
|
|
71
|
+
this.proxyRequest(req, res, this.config.collectorPort, '/v1/logs');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
67
74
|
// Route POST /v1/metrics to Go Collector
|
|
68
75
|
if (method === 'POST' && url === '/v1/metrics') {
|
|
69
76
|
this.proxyRequest(req, res, this.config.collectorPort, '/v1/metrics');
|
|
70
77
|
return;
|
|
71
78
|
}
|
|
79
|
+
// Route GET /logs* to Node.js wrapper (retrieval API)
|
|
80
|
+
if (method === 'GET' && url.startsWith('/logs')) {
|
|
81
|
+
this.proxyRequest(req, res, this.config.wrapperPort, url);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
72
84
|
// Route GET /traces* to Node.js wrapper (retrieval API)
|
|
73
85
|
if (method === 'GET' && url.startsWith('/traces')) {
|
|
74
86
|
this.proxyRequest(req, res, this.config.wrapperPort, url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTTPRouter.js","sourceRoot":"","sources":["../../src/router/HTTPRouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HTTPRouter.js","sourceRoot":"","sources":["../../src/router/HTTPRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PortRouter - Routes RegisteredTraces to registered renderer windows via MessagePort
|
|
3
3
|
*/
|
|
4
|
+
import { IExportLogsServiceRequest } from '@opentelemetry/otlp-transformer';
|
|
4
5
|
import { Logger } from '../shared/logger.js';
|
|
5
6
|
import { PortRegistration, MessagePortLike } from '../shared/types.js';
|
|
6
7
|
import type { RegisteredTrace } from '@principal-ai/principal-view-core';
|
|
@@ -47,6 +48,14 @@ export declare class PortRouter {
|
|
|
47
48
|
* @param serviceName - Service name or source URL
|
|
48
49
|
*/
|
|
49
50
|
routeRawOTLP(otlpData: unknown, serviceName: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Route log payload to registered windows
|
|
53
|
+
* Also sends to any ports registered with WILDCARD_SOURCE ('*').
|
|
54
|
+
*
|
|
55
|
+
* @param logPayload - OTLP logs request
|
|
56
|
+
* @param serviceName - Service name or source URL
|
|
57
|
+
*/
|
|
58
|
+
routeLogPayload(logPayload: IExportLogsServiceRequest, serviceName: string): void;
|
|
50
59
|
/**
|
|
51
60
|
* Get all matching registrations for a service name
|
|
52
61
|
* Includes both specific service registrations and wildcard registrations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortRouter.d.ts","sourceRoot":"","sources":["../../src/router/PortRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAyB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,4EAA4E;AAC5E,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAkC;gBAE1C,MAAM,CAAC,EAAE,MAAM;IAK3B;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAgDhF;;;OAGG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAQ9F;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAoB3D;;OAEG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI;IAQzE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAuBxC;;;;;;OAMG;IACH,YAAY,CACV,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,GAClB,IAAI;IA2BP;;;;;;OAMG;IACH,YAAY,CACV,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM,GAClB,IAAI;IA2BP;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA8BhC;;OAEG;IACH,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAInD;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAQ9B;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;CAGlC"}
|
|
1
|
+
{"version":3,"file":"PortRouter.d.ts","sourceRoot":"","sources":["../../src/router/PortRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAyB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,4EAA4E;AAC5E,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAkC;gBAE1C,MAAM,CAAC,EAAE,MAAM;IAK3B;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAgDhF;;;OAGG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAQ9F;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAoB3D;;OAEG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI;IAQzE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAuBxC;;;;;;OAMG;IACH,YAAY,CACV,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,GAClB,IAAI;IA2BP;;;;;;OAMG;IACH,YAAY,CACV,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM,GAClB,IAAI;IA2BP;;;;;;OAMG;IACH,eAAe,CACb,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,MAAM,GAClB,IAAI;IA2BP;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA8BhC;;OAEG;IACH,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAInD;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAQ9B;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;CAGlC"}
|
|
@@ -175,6 +175,36 @@ export class PortRouter {
|
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* Route log payload to registered windows
|
|
180
|
+
* Also sends to any ports registered with WILDCARD_SOURCE ('*').
|
|
181
|
+
*
|
|
182
|
+
* @param logPayload - OTLP logs request
|
|
183
|
+
* @param serviceName - Service name or source URL
|
|
184
|
+
*/
|
|
185
|
+
routeLogPayload(logPayload, serviceName) {
|
|
186
|
+
const allRegistrations = this.getMatchingRegistrations(serviceName);
|
|
187
|
+
if (allRegistrations.length === 0) {
|
|
188
|
+
this.logger.debug(`No registrations for service: ${serviceName}, dropping logs`);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
this.logger.debug(`Routing logs from ${serviceName} to ${allRegistrations.length} window(s)`);
|
|
192
|
+
const message = {
|
|
193
|
+
type: 'LOG',
|
|
194
|
+
payload: logPayload,
|
|
195
|
+
source: serviceName,
|
|
196
|
+
timestamp: Date.now(),
|
|
197
|
+
};
|
|
198
|
+
for (const registration of allRegistrations) {
|
|
199
|
+
try {
|
|
200
|
+
registration.port.postMessage(message);
|
|
201
|
+
this.logger.debug(`Sent LOG to window ${registration.windowId}`);
|
|
202
|
+
}
|
|
203
|
+
catch (err) {
|
|
204
|
+
this.logger.error(`Failed to send log to window ${registration.windowId}:`, err);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
178
208
|
/**
|
|
179
209
|
* Get all matching registrations for a service name
|
|
180
210
|
* Includes both specific service registrations and wildcard registrations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortRouter.js","sourceRoot":"","sources":["../../src/router/PortRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"PortRouter.js","sourceRoot":"","sources":["../../src/router/PortRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* OTLPForwardingServer - HTTP server that receives OTLP traces from Go collector
|
|
3
3
|
*/
|
|
4
4
|
import { TraceOutput } from '../output/TraceOutput.js';
|
|
5
|
+
import { LogOutput } from '../output/LogOutput.js';
|
|
5
6
|
import { Logger } from '../shared/logger.js';
|
|
6
7
|
export interface HTTPServerConfig {
|
|
7
8
|
port: number;
|
|
@@ -25,10 +26,12 @@ export declare class OTLPForwardingServer {
|
|
|
25
26
|
private server;
|
|
26
27
|
private port;
|
|
27
28
|
private tracesReceived;
|
|
29
|
+
private logsReceived;
|
|
28
30
|
private serviceStats;
|
|
29
31
|
private versionRegistry;
|
|
30
32
|
private traceConverter;
|
|
31
|
-
|
|
33
|
+
private logOutput;
|
|
34
|
+
constructor(config: HTTPServerConfig, traceOutput: TraceOutput, logger?: Logger, logOutput?: LogOutput);
|
|
32
35
|
/**
|
|
33
36
|
* Start the HTTP server
|
|
34
37
|
*/
|
|
@@ -45,6 +48,10 @@ export declare class OTLPForwardingServer {
|
|
|
45
48
|
* Get traces received count
|
|
46
49
|
*/
|
|
47
50
|
getTracesReceived(): number;
|
|
51
|
+
/**
|
|
52
|
+
* Get logs received count
|
|
53
|
+
*/
|
|
54
|
+
getLogsReceived(): number;
|
|
48
55
|
/**
|
|
49
56
|
* Handle incoming HTTP request
|
|
50
57
|
*/
|
|
@@ -53,6 +60,10 @@ export declare class OTLPForwardingServer {
|
|
|
53
60
|
* Handle OTLP trace request - supports both JSON and protobuf formats
|
|
54
61
|
*/
|
|
55
62
|
private handleTraceRequest;
|
|
63
|
+
/**
|
|
64
|
+
* Handle OTLP logs request - supports both JSON and protobuf formats
|
|
65
|
+
*/
|
|
66
|
+
private handleLogsRequest;
|
|
56
67
|
/**
|
|
57
68
|
* Handle health check request
|
|
58
69
|
*/
|
|
@@ -61,6 +72,10 @@ export declare class OTLPForwardingServer {
|
|
|
61
72
|
* Handle trace retrieval request (only for FileOutput)
|
|
62
73
|
*/
|
|
63
74
|
private handleTraceRetrieval;
|
|
75
|
+
/**
|
|
76
|
+
* Handle log retrieval request (only for FileLogOutput)
|
|
77
|
+
*/
|
|
78
|
+
private handleLogRetrieval;
|
|
64
79
|
/**
|
|
65
80
|
* Handle service statistics request
|
|
66
81
|
*/
|
|
@@ -94,5 +109,9 @@ export declare class OTLPForwardingServer {
|
|
|
94
109
|
* Extract service name and version from OTLP payload
|
|
95
110
|
*/
|
|
96
111
|
private extractServiceInfo;
|
|
112
|
+
/**
|
|
113
|
+
* Extract service name and version from OTLP logs payload
|
|
114
|
+
*/
|
|
115
|
+
private extractLogServiceInfo;
|
|
97
116
|
}
|
|
98
117
|
//# sourceMappingURL=OTLPForwardingServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTLPForwardingServer.d.ts","sourceRoot":"","sources":["../../src/server/OTLPForwardingServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"OTLPForwardingServer.d.ts","sourceRoot":"","sources":["../../src/server/OTLPForwardingServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAK3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IAC7C,eAAe,CAAC,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,oBAAoB;IAY7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IAZrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAwB;gBAG/B,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,EAChC,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,SAAS;IAyCvB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiFrB;;OAEG;YACW,kBAAkB;IAkIhC;;OAEG;YACW,iBAAiB;IA4E/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0G5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0G1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgCjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAqBlB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAyB9B"}
|