Skip to content

Conversation

@shuchu
Copy link
Collaborator

@shuchu shuchu commented Oct 21, 2025

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

Screenshot 2025-10-21 003908

@shuchu shuchu added the go Pull requests that update Go code label Oct 21, 2025
@shuchu shuchu changed the title Feat/issue 4821a Feat: Add OTEL based observability to the Go Feature Server Oct 22, 2025
@shuchu shuchu changed the title Feat: Add OTEL based observability to the Go Feature Server feat: Add OTEL based observability to the Go Feature Server Oct 22, 2025
@shuchu shuchu marked this pull request as ready for review October 22, 2025 03:02
@shuchu shuchu requested a review from a team as a code owner October 22, 2025 03:02
@shuchu shuchu requested review from Copilot and ntkathole October 22, 2025 03:02
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

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:

  • Integrated OTEL tracing SDK with HTTP exporter configuration
  • Added tracing instrumentation across critical code paths (HTTP/gRPC servers, Redis store, transformations)
  • Provided Docker Compose setup with Prometheus, Jaeger, and OTEL collector for local monitoring

Reviewed Changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
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.

@shuchu shuchu requested a review from Copilot October 22, 2025 03:11
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

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.

}

// Handle shutdown properly so nothing leaks.
defer func() { _ = tp.Shutdown(ctx) }()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably this needs to be execute before server stop ?

Copy link
Member

@ntkathole ntkathole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@shuchu shuchu merged commit f4afdad into feast-dev:master Oct 24, 2025
17 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

go Pull requests that update Go code ok-to-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use OTEL instead of the Datadog agent for collecting observabilities from Go Feature Server

2 participants