temporalio / temporalio/features

Label worker-emitted metrics with `temporal_worker_deployment_name` and `temporal_worker_build_id` if present

Open
#845 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
32
Forks
28
Avg merge
1d 9h
Merged PRs (30d)
7

Description

Is your feature request related to a problem? Please describe.

Right now, users need to do this themselves example.

That is annoying and error prone. We should do it for people.

One open question is whether to replace certain characters like / with _ as we do for External Metrics labels. Is there a way for users to configure that (in the SDK or at the metrics ingestion layer) depending on the needs of their metrics provider?

Describe the solution you'd like

SDK should label worker metrics with standardized temporal_worker_deployment_name and temporal_worker_build_id labels, similar to how it automatically labels with temporal_namespace.

If the worker is unversioned, these values could be __unversioned__ (as we do in server), or just omitted or just empty string, idc.

Additional context

This will help people manage per-version metrics with more success and less setup.

Per-SDK Tickets
  • Go -
  • Java -
  • TypeScript -
  • Python -
  • .NET -
  • Ruby -
  • Rust -
  • PHP -
  • Temporal CLI -

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked internal/demo/util/observability.go example at lines 35-44 and compare it with the SDK behavior that automatically adds the temporal_namespace label. Define the per-SDK scope and decide how unversioned workers and characters such as / are handled; done means worker metrics consistently expose the standardized labels across the listed SDKs.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, go, java, php, python, ruby, rust, typescript
Domain
observability-sre
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.