KernelCI Dashboard Report - October 24 - November 13, 2025

Gustavo Flores <[email protected]> Thu, 13 Nov 2025 16:37:47 -0300
Newsgroups dev.linux.lists.kernelci
Message-ID <CAB31pVmyK_p=MWiLniMNKyeAH3NCYf2pGeDKHNG1Bg1wAFRkwA@mail.gmail.com>
Hello everyone,

In the last sprint we continued focusing on reliability and ingester
improvements/refactors, while also increasing our unit test coverage
across backend helpers. Alongside this, we have been working on
approaches to address the performance bottleneck in the hardware
listing. Two PoCs have been prepared and RFC discussions are ongoing,
comparing a Materialized View solution vs Denormalizing and
aggregating hardware tables to reduce query complexity and latency.
Here are the changes from the last two weeks:

## Performance & Architecture
- We worked on PoCs and RFCs for two alternative solutions to improve
the hardware listing performance:
  - Materialized View approach, aggregating data to reduce the need
for multiple joins. [1]
  - Denormalized, aggregated tables, shifting the heavy aggregation
cost to Python/VM rather than query time. [2]

## Ingester & Backend
- Refactoring and additional improvements to the ingester data
processing. [3] [4]

## Testing & Reliability
- Added unit tests for functions used in the ingester tool. [5] [6]
- Added performance tests for the ingester. [7]
- Added unit tests for hardware details and filters helper functions. [8] [9]

## Improvements
- Modified hardware listing to return tuples to improve performance. [10]

## Future changes
Now that we have the plans for performance improvements laid out, we
will work towards the implementation of the best option. Additionally,
we will also start working on Labs features, such as showing them in
the dashboard and creating a filter for them, among other changes.

## References
[1] - https://github.com/kernelci/dashboard/issues/1584
[2] - https://github.com/kernelci/dashboard/issues/1585
[3] - https://github.com/kernelci/dashboard/pull/1574
[4] - https://github.com/kernelci/dashboard/pull/1588
[5] - https://github.com/kernelci/dashboard/issues/1569
[6] - https://github.com/kernelci/dashboard/issues/1601
[7] - https://github.com/kernelci/dashboard/issues/1572
[8] - https://github.com/kernelci/dashboard/pull/1544
[9] - https://github.com/kernelci/dashboard/pull/1543
[10] - https://github.com/kernelci/dashboard/pull/1582