feat(observability): added section for using global tags across SDKs - #5270
feat(observability): added section for using global tags across SDKs#5270flippedcoder wants to merge 9 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📖 Docs PR preview links
|
There was a problem hiding this comment.
🟡 Changes recommended
The documentation scope, placement, title, and incident narrative need revision before approval.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds Python SDK documentation for applying low-cardinality global tags to emitted metrics.
Changes:
- Documents
TelemetryConfig.global_tagswith an example. - Adds tag-selection and diagnostic guidance.
- Updates the page title and table-of-contents depth.
File summaries
| File | Description |
|---|---|
docs/develop/python/platform/observability.mdx |
Adds global-tag guidance. Retain the Python title qualifier, align the stated cross-SDK scope, move shared policy to Best practices, and tighten the incident narrative. |
Review details
Suppressed comments (1)
docs/develop/python/platform/observability.mdx:75
- This organization-wide tag taxonomy and the incident/cost-allocation discussion below are SDK-independent prescriptive guidance. The information architecture says Develop pages should stay focused on accomplishing a task in a specific language, while organizational standards belong under Best practices (
readme/INFORMATION-ARCHITECTURE.md:21-29,71-75). Move this shared guidance to a Best practices page and link to it here, leaving only the Python API and example on this page; otherwise the same policy will be duplicated across every SDK page.
#### Choose a tag set
Tags group metrics only when every Worker across your organization emits the same keys, so decide on the set before teams adopt it.
These five suit most organizations:
- Files reviewed: 1/1 changed files
- Comments generated: 3
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
64eec7b to
d9a15c8
Compare
| Your metrics backend stores one series per distinct combination of tag values, so a value that changes per Workflow Execution, such as a Workflow Id or a customer identifier, multiplies what it stores. | ||
| Ownership and deployment identifiers avoid this because they stay fixed for the life of the process. | ||
|
|
||
| ## Setup Tracing {/* #tracing */} |
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'Setup Tracing ****************' should use sentence-style capitalization.
0dab10e to
2829626
Compare
2829626 to
46428a0
Compare
| Your metrics backend stores one series per distinct combination of tag values, so a value that changes per Workflow Execution, such as a Workflow Id or a customer identifier, multiplies what it stores. | ||
| Ownership and deployment identifiers avoid this because they stay fixed for the life of the process. | ||
|
|
||
| ## Setup Tracing {/* #tracing */} |
There was a problem hiding this comment.
📝 [vale] <Temporal.Headings> reported by reviewdog 🐶
'Setup Tracing ****************' should use sentence-style capitalization.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 16dc0b878e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| var client = await TemporalClient.ConnectAsync(new("localhost:7233") { Runtime = runtime }); | ||
| ``` | ||
|
|
||
| #### Choose a tag set |
There was a problem hiding this comment.
Move shared tag policy out of per-SDK pages
The entire “Choose a tag set” block is language-neutral organizational policy and is duplicated across all six modified observability pages: .NET, Go, Java, Python, Ruby, and TypeScript. This turns SDK how-to pages into repeated best-practice guidance that can drift independently; move the shared policy to one language-neutral Best Practices page and keep only a link plus the SDK-specific configuration here.
AGENTS.md reference: AGENTS.md:L247-L253
Useful? React with 👍 / 👎.
| That gap costs you time during an incident. | ||
| When several Namespaces degrade at once, what you need first is the name of the team that owns the affected Workers, so you can ask whether they deployed recently. | ||
| Standardized tags put that name on the dashboard, which turns a broad question about the Temporal Service into a direct message to one team. |
There was a problem hiding this comment.
Lead the incident guidance with the reader's action
In each of the six copies, this incident passage spends three sentences describing an abstract gap before telling the reader what to do. Rewrite it as direct triage steps—group by team, check that team's recent deployments, and investigate a shared cause when multiple team values are affected—then state the rationale.
AGENTS.md reference: AGENTS.md:L266-L268
Useful? React with 👍 / 👎.
What does this PR do?
This adds a section on each SDK's
observabilitypage to describeglobalTags.Notes to reviewers