Skip to content

Feature/opentelemetry instrumentation#12

Merged
kenahrens merged 4 commits intomasterfrom
feature/opentelemetry-instrumentation
Jul 22, 2025
Merged

Feature/opentelemetry instrumentation#12
kenahrens merged 4 commits intomasterfrom
feature/opentelemetry-instrumentation

Conversation

@kenahrens
Copy link
Copy Markdown
Member

No description provided.

kenahrens and others added 4 commits July 22, 2025 09:26
## Summary
- Add OTEL instrumentation to Next.js frontend with Node.js SDK
- Add Micrometer-OTEL bridge to API Gateway for trace export
- Deploy complete observability stack (Jaeger, Prometheus, Grafana)
- Configure all services to export traces to Jaeger collector

## Frontend Changes
- Add OpenTelemetry Node.js dependencies (SDK, HTTP exporter, auto-instrumentations)
- Create instrumentation.ts with automatic trace collection for HTTP requests
- Configure OTEL environment variables in deployment for service identification
- Add deployment-specific Playwright config for testing against K8s endpoint

## API Gateway Changes
- Add Micrometer-OTEL bridge dependency for Spring Boot trace export
- Configure management.tracing in application.yml with 100% sampling
- Add proper actuator endpoints for metrics and health checks
- Configure OTEL exporter endpoint to use gRPC (port 4317)

## Infrastructure Changes
- Deploy Jaeger all-in-one with both HTTP (4318) and gRPC (4317) OTLP receivers
- Deploy Prometheus with scraping configuration for all microservices
- Deploy Grafana with pre-configured Jaeger and Prometheus datasources
- Add comprehensive dashboard for banking application metrics

## Kubernetes Optimizations
- Reduce Java service resource requirements (256Mi-512Mi memory, 100m-250m CPU)
- Optimize startup times with improved JVM options and G1 garbage collector
- Increase health check timeouts for slower container startup in K8s environment
- Add Speedscale sidecar annotations overlay for traffic capture

## Configuration Updates
- Switch OTEL exporters from HTTP to gRPC endpoints for better performance
- Add frontend-specific OTEL configuration with service namespace
- Configure Spring Boot services with proper OTEL service names
- Update logging patterns to include trace and span IDs for correlation

## Test Plans
- Playwright configuration for testing against deployed K8s services
- Updated base configuration to support both local and deployed testing
- Added deployment-specific timeout configurations for K8s environment

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove duplicate opentelemetry-exporter-otlp dependency from API Gateway pom.xml
- Update frontend package-lock.json with compatible OTEL dependencies
- Verify both builds work locally

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Consolidate duplicate env sections in all service deployments
- Fix YAML validation errors preventing successful deployment
- All services now deploy successfully with proper environment variables

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@kenahrens kenahrens merged commit 757de93 into master Jul 22, 2025
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant