Add Temporal Self-Hosted Server observability plane - #2
Merged
technoidentity-kuncha merged 1 commit intoAug 24, 2026
Conversation
Add self-hosted as a third observability plane, separate from Worker SDK and Temporal Cloud. Native server dashboard (service_name topology, persistence, matching/backlog, cache, runtime) built in the existing Sumo dashboard schema; metric families verified against Temporal's metric registry. Update field mapping, metric-to-panel mapping, validation queries, import checklist, README, and add an in-cluster annotation-based collection example.
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
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.
Summary
Adds Temporal Self-Hosted Server as a third observability plane, independent of the existing Worker SDK and Temporal Cloud planes. Self-hosted servers expose native metric families (
service_requests,persistence_*,poll_*,cache_*, runtime) that answer different questions than the Cloud plane, so they get their own dashboard, field mapping, validation, and collection path rather than being forced into the Cloud dashboard.Changes
dashboards/sumo/temporal-self-hosted/temporal-server-metrics-dashboard.json— built in the existing Sumo schema (DashboardV2SyncDefinition,layoutStructures[].structure), semantics aligned to Temporal's officialserver-general.json. Roles split by the nativeservice_nametag; latency/error ratios use the#A / #Bformula pattern already used in the worker dashboard (Sumo has nohistogram_quantile).dashboards/sumo/temporal-self-hosted/README.mdandsumo/temporal-self-hosted-collection-values.example.yaml(in-cluster annotation-based scrape via Sumo Kubernetes Collection; no second collector).sumo/metric-field-mapping.md(real server catalog; removed non-existenttemporal_server_*names),dashboards/sumo/metric-to-panel-mapping.md,sumo/validation-queries.md,dashboards/sumo/import-checklist.md,README.md.Verification
Every metric family is verified against Temporal's registry (
common/metrics/metric_defs.go) and the officialtemporalio/dashboardsserver dashboard. Dead metrics removed (schedule_task, bareresource_exhausted); non-emittedservice/clusterdimensions dropped. Docs carry an inventory-first note because exact suffixes (_totalunder OTel vs bare under Tally) are account/framework dependent.The author's Cloud and Worker dashboards are untouched.