This patchset adds two functions, sr_distance and sr_threads_compare, which allow you to compare two or multiple threads respectively. The threads can be of any type supported by satyr as long as all threads are of the same type.
The python bindings are not yet updated to accept any thread type -- I'd like to work on [0] first and then modify the python bindings in one go.
Please note that the patches depend on 'source-reorganization' branch sent earlier and won't apply without it. The code is also available at [1].
[0] https://github.com/abrt/satyr/issues/66 [1] https://github.com/abrt/satyr/commits/gh63-agnostic-distance
Martin Milata (6): Fix comment in thread.h Add sr_frame_cmp and sr_frame_cmp_distance Make thread distance type-agnostic distance: normalize levenshtein distance Port tests to type-agnostic distance functions Type-agnostic distance matrices
include/Makefile.am | 1 - include/distance.h | 121 ++++++++++---- include/frame.h | 14 ++ include/metrics.h | 219 -------------------------- include/thread.h | 7 +- lib/Makefile.am | 1 - lib/cluster.c | 2 +- lib/core_frame.c | 4 + lib/core_thread.c | 2 +- lib/distance.c | 406 ++++++++++++++++++++++------------------------- lib/gdb_frame.c | 8 + lib/gdb_thread.c | 2 +- lib/generic_frame.c | 18 +++ lib/generic_frame.h | 3 + lib/generic_thread.h | 4 +- lib/java_frame.c | 2 + lib/java_thread.c | 2 +- lib/koops_frame.c | 2 + lib/koops_stacktrace.c | 2 +- lib/metrics.c | 409 ------------------------------------------------ lib/python_frame.c | 2 + lib/python_stacktrace.c | 2 +- python/py_metrics.c | 14 +- satyr.c | 1 - tests/cluster.at | 3 +- tests/metrics.at | 54 +++---- tests/normalize.at | 1 - 27 files changed, 383 insertions(+), 923 deletions(-) delete mode 100644 include/metrics.h delete mode 100644 lib/metrics.c