You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Enhance KernelCI Maestro to Support Numerical Values #426
Many of the tests we run yield numerical values as output. For example, fluster tests may produce a "score" value, and boot time tests may return values in seconds or microseconds. Currently, we only support test results as enum values(pass/fail/miss/etc). We can enhance our node model to support additional numerical values, providing more detailed test results.
Objective:
The goal of this task is to extend the node model to support numerical values. The task can be divided into the following steps:
Design necessary field(s) in the node model
Identify and define the additional fields needed to store numerical values in the node model. @JenySadadia proposed to use "data" subfield.
Add support to LAVA parser (optional)
Update the LAVA parser in kernelci-core/kernelci/runtime/lava.py to handle the new numerical fields, if necessary. Probably @pawiecz can implement, or assist as LAVA expert.
Implement data retrieval from LAB results
Modify lava_callback.py in the kernelci-pipeline to retrieve and process numerical data from LAB results.
Review and discuss KCIDB schema
Evaluate if the KCIDB schema has the necessary fields to accommodate the new data. Propose changes if required.
Assist/submit PR for KCIDB changes (optional)
Contribute to the KCIDB repository by assisting with or submitting a pull request to implement the proposed schema changes.
Implement data submission to KCIDB
Update the process to submit the numerical data to KCIDB, ensuring the new fields are correctly populated.
KCIDB related changes is more expertise of @JenySadadia i believe.
Steps:
Design necessary field(s) in the node model.
(Optional) Add support to LAVA parser at kernelci-core/kernelci/runtime/lava.py.
Implement data retrieval from LAB results in lava_callback.py in kernelci-pipeline.
Discuss if KCIDB has necessary fields/schema for such data, and propose changes if needed.
Currently, we only support test results as enum values(pass/fail/miss/etc). We can enhance our node model to support additional numerical values, providing more detailed test results.
Identify and define the additional fields needed to store numerical values in the node model. @JenySadadia proposed to use "data" subfield.
These may be two different things. If what we want to support is tests whose result is a number instead of a discrete value (for instance, performance tests), then what needs to be reworked is the result field. If what we want is just to provide an additional field for a number besides the result, then yes, adding a data field is a no-brainer.
Closing as completed. Maestro now carries numerical values in node data via data.misc.measurement; current examples include coverage-report nodes, and send_kcidb.py forwards misc.measurement into KCIDB. Relevant implementations include kernelci-pipeline PRs #886 and #1211.
Activity
r-c-n commentedon Jul 30, 2024
These may be two different things. If what we want to support is tests whose result is a number instead of a discrete value (for instance, performance tests), then what needs to be reworked is the result field. If what we want is just to provide an additional field for a number besides the result, then yes, adding a
datafield is a no-brainer.nuclearcat commentedon Jul 31, 2024
Definitely it will be just additional field.
nuclearcat commentedon Aug 31, 2026
Closing as completed. Maestro now carries numerical values in node data via
data.misc.measurement; current examples include coverage-report nodes, andsend_kcidb.pyforwardsmisc.measurementinto KCIDB. Relevant implementations include kernelci-pipeline PRs #886 and #1211.