Bugs corrigidos: - aula-15: tracing.js fallback OTel endpoint usava service name errado (otel-collector vs otel-collector-opentelemetry-collector) - aula-11/13: manifests k8s com gitea.kube.quest hardcoded → placeholder Arquivos legado removidos (9): - aula-10: gitlab-values.yaml, gitlab-registry-storage-secret.yaml, object-storage-secret.yaml, registry-storage-secret.yaml - aula-11: gitlab-runner-values.yaml, node-bugado/.gitlab-ci.yml - aula-13: 3x .gitlab-ci.yml (substituídos por .gitea/workflows/ci.yml) CLAUDE.md: comandos rápidos agora incluem aula-14 e aula-15
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
const { NodeSDK } = require('@opentelemetry/sdk-node');
|
|
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
|
|
const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc');
|
|
const { OTLPMetricExporter } = require('@opentelemetry/exporter-metrics-otlp-grpc');
|
|
const { PeriodicExportingMetricReader } = require('@opentelemetry/sdk-metrics');
|
|
|
|
const otlpEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://otel-collector-opentelemetry-collector.monitoring:4317';
|
|
const serviceName = process.env.OTEL_SERVICE_NAME || 'demo-app';
|
|
|
|
const traceExporter = new OTLPTraceExporter({
|
|
url: otlpEndpoint,
|
|
});
|
|
|
|
const metricExporter = new OTLPMetricExporter({
|
|
url: otlpEndpoint,
|
|
});
|
|
|
|
const metricReader = new PeriodicExportingMetricReader({
|
|
exporter: metricExporter,
|
|
exportIntervalMillis: 15000,
|
|
});
|
|
|
|
const sdk = new NodeSDK({
|
|
serviceName,
|
|
traceExporter,
|
|
metricReader,
|
|
instrumentations: [
|
|
getNodeAutoInstrumentations({
|
|
'@opentelemetry/instrumentation-fs': { enabled: false },
|
|
}),
|
|
],
|
|
});
|
|
|
|
sdk.start();
|
|
|
|
process.on('SIGTERM', () => {
|
|
sdk.shutdown()
|
|
.then(() => console.log('OpenTelemetry SDK shut down'))
|
|
.catch((err) => console.error('Error shutting down OpenTelemetry SDK', err))
|
|
.finally(() => process.exit(0));
|
|
});
|
|
|
|
console.log(`OpenTelemetry initialized for service "${serviceName}" -> ${otlpEndpoint}`);
|