Skip to content

enhancement: decouple livestore from metrics-generator by register a new metrics service#6506

Merged
javiermolinar merged 2 commits intomainfrom
lives-store-metrics-service
Feb 19, 2026
Merged

enhancement: decouple livestore from metrics-generator by register a new metrics service#6506
javiermolinar merged 2 commits intomainfrom
lives-store-metrics-service

Conversation

@javiermolinar
Copy link
Copy Markdown
Contributor

@javiermolinar javiermolinar commented Feb 19, 2026

What this PR does:
Currently the LiveStore registers the MetricsGenerator service for serving metrics queries. We need to decouple it first so we can have two different services. One for the pushing spans via grpc to the metrics generator and another one for serving queries.

The Metrics proto service was not used anywhere so we are reusing it.

From:


service MetricsGenerator {
  rpc PushSpans(PushSpansRequest) returns (PushResponse) {}
  rpc GetMetrics(SpanMetricsRequest) returns (SpanMetricsResponse) {}
  rpc QueryRange(QueryRangeRequest) returns (QueryRangeResponse) {}
}

To

service MetricsGenerator {
  rpc PushSpans(PushSpansRequest) returns (PushResponse) {}
}

service Metrics {
  rpc QueryRange(QueryRangeRequest) returns (QueryRangeResponse) {}
}

This will be done in a two phase deployment:

  1. Register both services in the LiveStore.
  2. Do a complete rollout
  3. Swap the old service in the Queriers by the new one

Which issue(s) this PR fixes:
Fixes #

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4aab7e49b8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread pkg/tempopb/tempo.proto
Comment on lines 45 to 46
service Metrics {
rpc SpanMetricsSummary(SpanMetricsSummaryRequest) returns (SpanMetricsSummaryResponse) {}
rpc QueryRange(QueryRangeRequest) returns (QueryRangeResponse) {}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve Metrics.SpanMetricsSummary RPC compatibility

Removing SpanMetricsSummary from the Metrics service is a wire/API breaking change for any existing gRPC clients generated from the previous tempo.proto: calls to /tempopb.Metrics/SpanMetricsSummary will fail with UNIMPLEMENTED after upgrading the server, even though the commit’s functional goal (adding a separate metrics service registration for live-store query-range) does not require dropping this RPC. Keeping the RPC and returning an explicit unimplemented response where needed would avoid breaking mixed-version or external clients.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

tempopb.Metrics wasn’t registered anywhere before, so /tempopb.Metrics/SpanMetricsSummary was already effectively unavailable.

@javiermolinar javiermolinar enabled auto-merge (squash) February 19, 2026 11:03
@javiermolinar javiermolinar merged commit 10884db into main Feb 19, 2026
24 checks passed
@javiermolinar javiermolinar deleted the lives-store-metrics-service branch February 19, 2026 11:17
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.

2 participants