There was a problem hiding this comment.
This PR adds OpenTelemetry (OTEL) based observability to the Go Feature Server, replacing the previously commented-out DataDog tracing implementation. The changes enable distributed tracing through OTEL exporters with support for Jaeger and Prometheus monitoring.
Key changes:
Copilot reviewed 12 out of 13 changed files in this pull request and generated 9 comments.
Show a summary per file| go/main.go | Initializes OTEL tracer provider and exporter based on environment variable |
| go/internal/feast/transformation/transformation.go | Adds span tracing to transformation operations |
| go/internal/feast/server/server_commons.go | Updates logging to include trace/span context from OTEL spans |
| go/internal/feast/server/http_server.go | Instruments HTTP endpoint with tracing and restores span-aware logging |
| go/internal/feast/server/grpc_server.go | Instruments gRPC endpoint with tracing and restores span-aware logging |
| go/internal/feast/onlinestore/redisonlinestore.go | Adds tracing to Redis online store read operations |
| go/internal/feast/featurestore.go | Instruments feature store read operations with tracing |
| go/infra/docker/otel/prometheus.yaml | Prometheus scrape configuration for OTEL collector metrics |
| go/infra/docker/otel/otel-collector-config.yaml | OTEL collector pipeline configuration for traces and metrics |
| go/infra/docker/otel/compose.yaml | Docker Compose setup for monitoring infrastructure |
| go/README.md | Documentation for OTEL observability setup and configuration |
| go.mod | Updates Go version and adds OTEL dependencies |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Sorry, something went wrong.
There was a problem hiding this comment.
Copilot reviewed 12 out of 13 changed files in this pull request and generated 2 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Sorry, something went wrong.
| } | ||
|
|
||
| // Handle shutdown properly so nothing leaks. | ||
| defer func() { _ = tp.Shutdown(ctx) }() |
There was a problem hiding this comment.
probably this needs to be execute before server stop ?
Sorry, something went wrong.
There was a problem hiding this comment.
Looks good
Sorry, something went wrong.
What this PR does / why we need it:
Add OTEL based observability to Go Feature Server
Which issue(s) this PR fixes:
Fix #4821
Misc