const logExporter = new OTLPLogExporter({
url: `localhost:4317/v1/logs`,
})
const sharedOtelLayer = NodeSdk.layer(() => ({
resource: {
serviceName: "api-server-http",
serviceVersion: "1.0.0",
attributes: {
"deployment.environment": process.env.NODE_ENV || "development",
"component": "http-server",
"layer": "shared"
}
},
spanProcessor: new BatchSpanProcessor(
new OTLPTraceExporter({
url: "http://localhost:4318/v1/traces", // Explicit OTLP endpoint
})
),
logRecordProcessor: new BatchLogRecordProcessor(logExporter),
// Add explicit instrumentations for PostgreSQL and Redis
instrumentations: [
new PgInstrumentation({
enhancedDatabaseReporting: true,
}),
new IORedisInstrumentation({
dbStatementSerializer: (cmdName, cmdArgs) => {
return `${cmdName} ${cmdArgs.slice(0, 2).join(' ')}${cmdArgs.length > 2 ? '...' : ''}`;
},
}),
],
}));
const logExporter = new OTLPLogExporter({
url: `localhost:4317/v1/logs`,
})
const sharedOtelLayer = NodeSdk.layer(() => ({
resource: {
serviceName: "api-server-http",
serviceVersion: "1.0.0",
attributes: {
"deployment.environment": process.env.NODE_ENV || "development",
"component": "http-server",
"layer": "shared"
}
},
spanProcessor: new BatchSpanProcessor(
new OTLPTraceExporter({
url: "http://localhost:4318/v1/traces", // Explicit OTLP endpoint
})
),
logRecordProcessor: new BatchLogRecordProcessor(logExporter),
// Add explicit instrumentations for PostgreSQL and Redis
instrumentations: [
new PgInstrumentation({
enhancedDatabaseReporting: true,
}),
new IORedisInstrumentation({
dbStatementSerializer: (cmdName, cmdArgs) => {
return `${cmdName} ${cmdArgs.slice(0, 2).join(' ')}${cmdArgs.length > 2 ? '...' : ''}`;
},
}),
],
}));