Taskcluster-treeherder Pulse Exchange
The taskcluster-treeherder service is responsible for processing task events published by TaskCluster Queue and producing job messages that are consumable by Treeherder.
This exchange provides that job messages to be consumed by any queue that attached to the exchange. This could be a production Treeheder instance, a local development environment, or a custom dashboard.
When a task run is scheduled or resolved, a message is posted to this exchange in a Treeherder consumable format.
Space reserved for future routing-key entries, you should always match this entry with
Job Definition (source)
Definition of a single job that can be added to Treeherder Project is determined by the routing key, so we don't need to specify it here.
The name of the build system that initiated this content. Some examples are "buildbot" and "taskcluster". But this could be any name. This value will be used in the routing key for retriggering jobs in the publish-job-action task.
This could just be what was formerly submitted as a job_guid in the REST API.
The infrastructure retry iteration on this job. The number of times this job has been retried by the infrastructure. If it's the 1st time running, then it should be 0. If this is the first retry, it will be 1, etc.
True indicates this job has been retried.
unscheduled: not yet scheduled pending: not yet started running: currently in progress completed: Job ran through to completion
fail: A failure exception: An infrastructure error/exception success: Build/Test executed without error or failure canceled: The job was cancelled by a user unknown: When the job is not yet completed superseded: When a job has been superseded by another job
The job guids that were coalesced to this job.
Labels are a dimension of a platform. The values here can vary wildly, so most strings are valid for this. The list of labels that are used is maleable going forward.
These were formerly known as "Options" within "Option Collections" but calling labels now so they can be understood to be just strings that denotes a characteristic of the job.
Some examples of labels that have been used: opt Optimize Compiler GCC optimize flags debug Debug flags passed in pgo Profile Guided Optimization - Like opt, but runs with profiling, then builds again using that profiling asan Address Sanitizer tsan Thread Sanitizer Build
Description of who submitted the job: gaia | scheduler name | username | email
Definition of the Job Info for a job. These are extra data fields that go along with a job that will be displayed in the details panel within Treeherder.
Extra information that Treeherder reads on a best-effort basis