Skip to content

Commit

Permalink
OTEL setup for web-app
Browse files Browse the repository at this point in the history
  • Loading branch information
jurabek committed Jul 9, 2024
1 parent a61a2db commit 60300f1
Show file tree
Hide file tree
Showing 8 changed files with 490 additions and 84 deletions.
Binary file modified src/backend/services/.DS_Store
Binary file not shown.
3 changes: 3 additions & 0 deletions src/backend/services/web-app/next.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
instrumentationHook: true
},
output: 'standalone',
logging: {
fetches: {
Expand Down
477 changes: 446 additions & 31 deletions src/backend/services/web-app/package-lock.json

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions src/backend/services/web-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,11 @@
"@heroicons/react": "^2.0.18",
"@opentelemetry/api": "^1.7.0",
"@opentelemetry/exporter-trace-otlp-http": "^0.48.0",
"@opentelemetry/instrumentation-http": "^0.52.1",
"@opentelemetry/resources": "^1.25.1",
"@opentelemetry/sdk-node": "^0.48.0",
"@opentelemetry/sdk-trace-node": "^1.21.0",
"@opentelemetry/semantic-conventions": "^1.21.0",
"@opentelemetry/sdk-trace-node": "^1.25.1",
"@opentelemetry/semantic-conventions": "^1.25.1",
"next": "14.2.4",
"next-auth": "^4.24.5",
"next-themes": "^0.2.1",
Expand Down
24 changes: 0 additions & 24 deletions src/backend/services/web-app/src/instrumentation.js

This file was deleted.

31 changes: 31 additions & 0 deletions src/backend/services/web-app/src/instrumentation.node.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { NodeSDK } from '@opentelemetry/sdk-node';
// import { ConsoleSpanExporter } from '@opentelemetry/sdk-trace-node';
import {
PeriodicExportingMetricReader,
ConsoleMetricExporter,
} from '@opentelemetry/sdk-metrics';
import { Resource } from '@opentelemetry/resources';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';

import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);

const sdk = new NodeSDK({
instrumentations: [
new HttpInstrumentation(),
],
resource: new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: 'web-app',
[SemanticResourceAttributes.SERVICE_VERSION]: '1.0',
}),
traceExporter: new OTLPTraceExporter({
url: 'http://otel-collector:4318/v1/traces',
}),
metricReader: new PeriodicExportingMetricReader({
exporter: new ConsoleMetricExporter(),
}),
});

sdk.start();
32 changes: 5 additions & 27 deletions src/backend/services/web-app/src/instrumentation.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,5 @@
import { NodeSDK } from '@opentelemetry/sdk-node';
// import { ConsoleSpanExporter } from '@opentelemetry/sdk-trace-node';
import {
PeriodicExportingMetricReader,
ConsoleMetricExporter,
} from '@opentelemetry/sdk-metrics';
import { Resource } from '@opentelemetry/resources';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';

// import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
// diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);

const sdk = new NodeSDK({
resource: new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: 'web-app',
[SemanticResourceAttributes.SERVICE_VERSION]: '1.0',
}),
traceExporter: new OTLPTraceExporter({
url: 'http://localhost:4318/v1/traces',
}),
metricReader: new PeriodicExportingMetricReader({
exporter: new ConsoleMetricExporter(),
}),
});

sdk.start();
export async function register() {
if (process.env.NEXT_RUNTIME === 'nodejs') {
await import('./instrumentation.node.ts')
}
}
1 change: 1 addition & 0 deletions src/backend/services/web-app/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"allowImportingTsExtensions": true,
"plugins": [
{
"name": "next"
Expand Down

0 comments on commit 60300f1

Please sign in to comment.