← 返回首页
feat: Add OTEL based observability to the Go Feature Server by shuchu · Pull Request #5685 · feast-dev/feast · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

feat: Add OTEL based observability to the Go Feature Server#5685

Merged
shuchu merged 7 commits into
feast-dev:masterfrom
shuchu:feat/issue-4821a
Oct 24, 2025
Merged

feat: Add OTEL based observability to the Go Feature Server#5685
shuchu merged 7 commits into
feast-dev:masterfrom
shuchu:feat/issue-4821a

Conversation

Copy link
Copy Markdown
Collaborator

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

Signed-off-by: Shuchu Han <shuchu.han@gmail.com>
Signed-off-by: Shuchu Han <shuchu.han@gmail.com>
shuchu added the go Pull requests that update Go code label Oct 21, 2025
shuchu changed the title Feat/issue 4821a Feat: Add OTEL based observability to the Go Feature Server Oct 22, 2025
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 marked this pull request as ready for review October 22, 2025 03:02
shuchu requested a review from a team as a code owner October 22, 2025 03:02
shuchu requested review from Copilot and ntkathole October 22, 2025 03:02
Copy link
Copy Markdown
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.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality Hide comment

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.

Comment thread go/main.go Outdated Show resolved Hide resolved
Comment thread go/README.md Outdated Show resolved Hide resolved
Comment thread go/internal/feast/server/http_server.go Outdated Show resolved Hide resolved
Comment thread go/internal/feast/server/grpc_server.go Outdated Show resolved Hide resolved
Comment thread go/infra/docker/otel/otel-collector-config.yaml Outdated Show resolved Hide resolved
Comment thread go/infra/docker/otel/otel-collector-config.yaml Outdated Show resolved Hide resolved
Comment thread go/README.md Outdated Show resolved Hide resolved
Comment thread go/README.md Outdated Show resolved Hide resolved
Comment thread go/internal/feast/onlinestore/redisonlinestore.go Show resolved Hide resolved
Signed-off-by: Shuchu Han <shuchu.han@gmail.com>
Signed-off-by: Shuchu Han <shuchu.han@gmail.com>
shuchu requested a review from Copilot October 22, 2025 03:11
Copy link
Copy Markdown
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.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality Hide comment

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.

Comment thread go/infra/docker/otel/compose.yaml Show resolved Hide resolved
Comment thread go/main.go Show resolved Hide resolved
Comment thread go/main.go
}

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

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality Hide comment

probably this needs to be execute before server stop ?

Copy link
Copy Markdown
Member

ntkathole left a comment

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality Hide comment

Looks good

Hide details View details shuchu merged commit f4afdad into feast-dev:master Oct 24, 2025
17 of 19 checks passed
franciscojavierarceo pushed a commit that referenced this pull request Oct 27, 2025
# [0.56.0](v0.55.0...v0.56.0) (2025-10-27) ### Bug Fixes * Add mode field to Transformation proto for proper serialization ([2390d2e](2390d2e)) * Date wise remote offline store historical data retrieval ([#5686](#5686)) ([949ba3d](949ba3d)) * Fix STRING type handling in on-demand feature views ([#5669](#5669)) ([dfbb743](dfbb743)) * Fixed torch install issue in CI ([366e5a8](366e5a8)) * ODFV not getting counted in resource count ([1d640b6](1d640b6)) * Skip tag updates if user do not have permissions ([#5673](#5673)) ([0a951ce](0a951ce)) ### Features * Add document of Go feature server. ([#5697](#5697)) ([cbd1dde](cbd1dde)) * Add flexible commandArgs support for complete Feast CLI control ([#5678](#5678)) ([6414924](6414924)) * Add HDFS as a feature registry ([#5655](#5655)) ([4c65872](4c65872)) * Add nodeSelector to service config ([#5675](#5675)) ([9728cde](9728cde)) * Add OTEL based observability to the Go Feature Server ([#5685](#5685)) ([f4afdad](f4afdad)) * Added health endpoint for the UI ([#5665](#5665)) ([3aec5d5](3aec5d5)) * Added kuberay support ([e0b698d](e0b698d)) * Added support for filtering multi-projects ([#5688](#5688)) ([eb0a86e](eb0a86e)) * Batch Embedding at scale for RAG with Ray ([cc2a46d](cc2a46d)) * Optimize SQL entity handling without creating temporary tables ([#5695](#5695)) ([aa2c838](aa2c838)) * Support aggregation in odfv ([#5666](#5666)) ([564e965](564e965)) * Support cache_mode for registries ([021e9ea](021e9ea))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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

3 participants

Footer

© 2026 GitHub, Inc.