Skip to content

traces: new yaml format

David Heidelberg requested to merge dh/piglit:new-yaml into main

Why?

  1. it is much easier and cleaner to parse
  2. one simple command, as shown below, can update the checksum and labels
  3. we can semi-automate checksum updates
  4. we can skip marked traces depending on the scenario

New syntax (sample here: mesa!18163 (diffs) ):

traces:
  behdad-glyphy/glyphy-v2.trace:
    intel-tgl:
      checksum: 5c7e2fc5961b43a18ea65523fe025b96
      label: [slow, skip]
      text: Horribly broken. It has to be fixed.
    intel-wgl:
      label: [crash]
  normal/format.trace:
    intel-whl:
      checksum: c8c96a8cc167e0d07f889d7310316922
  one-line/format.trace:
    intel-whl: {checksum: c8c96a8cc167e0d07f889d7310316922}

Since we got rid of ugly arrays we can cleanly update yaml file and semi-automate checksum updates for developers. In the second phase, these changes will be offered by CI as a diff which can be applied on top of the developer's commit.

export TRACE=behdad-glyphy/glyphy-v2.trace; export PIGLIT_REPLAY_DEVICE_NAME=intel-tgl; export NEW_CHECKSUM=abcdef00
yq -Y '.traces."$TRACE"."$PIGLIT_REPLAY_DEVICE_NAME".checksum = "$NEW_CHECKSUM" | del(.traces."$TRACE"."$PIGLIT_REPLAY_DEVICE_NAME".label[] | select(. == "skip"))' traces-test.yml

Current set of labels:

  • skip (impl.)
  • hang (hangs machine; for now same as skip)
  • crash (apitrace crashes; for now same as skip)
  • fail (various failures; for now same as skip)
  • flakes (nothing for now)
  • no-perf (no performance tracking, usually multiframe trace. Will be implemented in Mesa3D CI)
  • broken (renders, but output isn't satisfying, no handling yet)
  • slow (indicates that trace take too long)
  • unsupported (hardware is too old to run the trace)

TODO:

  • provide tool to automate conversion
Edited by David Heidelberg

Merge request reports