Skip to content

ci: annotate Honeycomb events with buildkite metadata

Administrator requested to merge devx/add-more-fields-to-honeycomb-ci-events into main

Created by: jhchabran

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 (closed).

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.

CleanShot 2022-07-12 at 14 00 17@2x

️ 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:

CleanShot 2022-07-12 at 13 50 58@2x

Merge request reports

Loading