This repository has been archived by the owner on Sep 30, 2024. It is now read-only.
ci: annotate Honeycomb events with buildkite metadata #38641
Merged
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.
This morning, we had a quick sync with @valerybugakov to explore the dataset from Buildkite to showcase the improvement led by the efforts in #37616.
Trying to narrow down the exact steps that were covered by the efforts led to the creation of a derived field, because the step spans have no
status
attribute, so the only way to get the failures is to look at the cmd spans. But those have no step key attribute, so it's quite inconvenient.In the end, what we did was to create a derived field, so we could work with the existing dataset.
➡️ Nevertheless, this is not very practical and prevents to create better graphs. Buildevents has a way of adding other attributes, through the
BUILDEVENT_FILE=path/logfmtlikeattributes
env var.This PR adds a bunch of additional metadata on all spans sent by Buildkite during jobs execution. See the
buildevent_file
for the full list. As the pricing is just based on the events count, we're fine having a bit more than what we need.Were we to attempt at creating the same graphs in the future, that would be much simpler and reliable than trying to identify who is owning what solely on the command that was run.
Test plan
Got our new attributes
buildkite.*
in the trace created by this build: