Skip to content

Report runtime environment information in worker heartbeats - #2647

Open
Sushisource wants to merge 3 commits into
mainfrom
environment-info-go-java
Open

Report runtime environment information in worker heartbeats#2647
Sushisource wants to merge 3 commits into
mainfrom
environment-info-go-java

Conversation

@Sushisource

Copy link
Copy Markdown
Member

What was changed

Worker heartbeats now include an EnvironmentInfo message describing the Go runtime version, detected hosting environments (Docker, Kubernetes, AWS Lambda/ECS, Google Cloud Run/App Engine, Azure App Service/Functions/Container Apps), and the OS platform (Linux/macOS/Windows version and architecture).

The information is attached to each worker's heartbeats until the server accepts one, then omitted. Delivery state is tracked in the shared-namespace heartbeat worker and cleared only after a successful RecordWorkerHeartbeat.

A new experimental client.Options.DisableWorkerEnvironmentInfo turns the reporting off.

Why?

Port of Core's temporalio/sdk-rust#1457 so all SDKs report the same analytical information about the environments they run in.

Checklist

  1. Closes N/A

  2. How was this tested:

New unit tests cover environment detection (runtime, hosting-environment env vars, cgroup parsing), retry-until-accepted delivery, and the disable option. go vet and the full ./internal package pass, and the per-OS platform files cross-compile for linux, darwin, windows, and other.

  1. Any docs updates needed?

No. CHANGELOG entry added.

@Sushisource
Sushisource marked this pull request as ready for review September 1, 2026 21:49
@Sushisource
Sushisource requested a review from a team as a code owner September 1, 2026 21:49
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.

1 participant