GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat: Add OTEL based observability to the Go Feature Server by shuchu · Pull Request #5685 · feast-dev/feast

Conversation

@shuchu

@shuchu shuchu commented Oct 21, 2025

Copy link
Copy Markdown
Collaborator

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
shuchu added 2 commits October 20, 2025 22:22
@shuchu
feat: Add OTEL based observability to Go feature server.
b0cd3bb
Signed-off-by: Shuchu Han <[email protected]>
@shuchu
fix: Fix the traces export issue.
df6fcc3
Signed-off-by: Shuchu Han <[email protected]>
@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 added 2 commits October 21, 2025 23:00
@shuchu
fix: Remove the unnecessary coded exporter URL.
82c5d26
Signed-off-by: Shuchu Han <[email protected]>
@shuchu
Merge branch 'feast-dev:master' into feat/issue-4821a
9973374
@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
Copilot AI reviewed Oct 22, 2025
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this 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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread go/main.go Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/README.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/internal/feast/server/http_server.go Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/internal/feast/server/grpc_server.go Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/infra/docker/otel/otel-collector-config.yaml Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/infra/docker/otel/otel-collector-config.yaml Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/README.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/README.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/internal/feast/onlinestore/redisonlinestore.go Resolved

Uh oh!

There was an error while loading. Please reload this page.

shuchu added 2 commits October 21, 2025 23:05
@shuchu
fix: Fix typos in README.
fc4107a
Signed-off-by: Shuchu Han <[email protected]>
@shuchu
fix: Improve the code by following the Copilot AI's suggestions.
2075335
Signed-off-by: Shuchu Han <[email protected]>
@shuchu
shuchu requested a review from Copilot October 22, 2025 03:11
Copilot AI reviewed Oct 22, 2025
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this 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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread go/infra/docker/otel/compose.yaml Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread go/main.go Resolved

Uh oh!

There was an error while loading. Please reload this page.

@ntkathole ntkathole added the ok-to-test label Oct 23, 2025
ntkathole
ntkathole reviewed Oct 23, 2025
View reviewed changes
Comment thread go/main.go
}

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

@ntkathole ntkathole Oct 23, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

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 ?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
ntkathole
ntkathole approved these changes Oct 23, 2025
View reviewed changes

@ntkathole ntkathole left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Looks good

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@shuchu
Merge branch 'master' into feat/issue-4821a
f8ae342
@shuchu
shuchu merged commit f4afdad into feast-dev:master Oct 24, 2025
2 checks passed

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo pushed a commit that referenced this pull request Oct 27, 2025
@feast-ci-bot
chore(release): release 0.56.0
90b5086
# [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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

Copilot code review Copilot
Copilot review effort
Applies to this pull request for everyone.Learn more about Copilot code review.
Copilot left review comments
@ntkathole ntkathole ntkathole approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

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

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

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

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@shuchu @ntkathole
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.