aula-15: implementação completa APM (Tempo + OTel + demo app)
Componentes: - tempo-values.yaml: Grafana Tempo monolithic, 256Mi, 10Gi PVC - otel-collector-values.yaml: recebe OTLP, exporta traces→Tempo, gera span metrics (RED)→Victoria Metrics via spanmetrics connector - demo-app/: Node.js com rotas /fast (1 query), /slow (N+1, 51 queries), /fixed (JOIN), auto-instrumentado com OpenTelemetry - alerts/latency-alerts.yaml: VMRule com Doherty threshold (p95>400ms) - setup.sh: instala Tempo, OTel Collector, configura Grafana datasource, deploy demo app via ConfigMap (sem Docker build necessário) - cleanup.sh: remove apenas recursos da aula-15, preserva aula-12 Zero hardcoded hostnames. Tudo via .env e placeholders.
This commit is contained in:
17
aula-15/demo-app/package.json
Normal file
17
aula-15/demo-app/package.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "demo-app",
|
||||
"version": "1.0.0",
|
||||
"description": "Demo app for APM with OpenTelemetry - Workshop Aula 15",
|
||||
"main": "app.js",
|
||||
"scripts": {
|
||||
"start": "node --require ./tracing.js app.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"express": "^4.21.2",
|
||||
"pg": "^8.13.1",
|
||||
"@opentelemetry/sdk-node": "^0.57.2",
|
||||
"@opentelemetry/auto-instrumentations-node": "^0.56.1",
|
||||
"@opentelemetry/exporter-trace-otlp-grpc": "^0.57.2",
|
||||
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.57.2"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user