libs/utils/analysis: handle events with duplicate timestamps

It might happen that a trace has two (or more) events with the same timestamp.
Pandas does not allow reindexing of duplicate indexes.

For this reason, cluster active signal is built by joining dataframes instead of
creating the dataframe from a dictionary of series we perform a join between
dataframe of active signals.

Also, frequency residency computation does not perform reindexing anymore but
rather a join operation. As a consequence, because series data structures do not
support join, it is necessary to undo what 37a7192 does and keep `cluster_freqs`
as a dataframe instead.

Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
2 files changed
tree: 8938c9a66219f1669aa3938eead2e9b479743d8e
  1. assets/
  2. ipynb/
  3. libs/
  4. results/
  5. src/
  6. tests/
  7. tools/
  8. .gitignore
  9. .gitmodules
  10. init_env
  11. LICENSE.txt
  12. LisaShell.txt
  13. README.md
  14. target.config
  15. Vagrantfile
README.md

NOTE: This is still a work in progress project, suitable for: developers, contributors and testers.
None of the provided tests should be considered stable and/or suitable for the evaluation of a product.

Introduction

The LISA project provides a toolkit that supports regression testing and interactive analysis of workload behavior. LISA stands for Linux Integrated/Interactive System Analysis. LISA's goal is to help Linux kernel developers to measure the impact of modifications in core parts of the kernel. The focus is on the scheduler, power management and thermal frameworks. However LISA is generic and can be used for other purposes too.

LISA provides an API for modeling use-cases of interest and developing regression tests for use-cases. A ready made set of test-cases to support regression testing of core kernel features is provided. In addition, LISA uses the excellent IPython notebook framework and a set of notebooks are provided for live experiments on a target platform.

Documentation

License

This project is licensed under Apache-2.0.

This project includes some third-party code under other open source licenses. For more information, see lisa/tools/LICENSE.*

Contributions / Pull Requests

Contributions are accepted under Apache-2.0. Only submit contributions where you have authored all of the code. If you do this on work time make sure your employer is cool with this.