From: Stevie Alvarez (Google) <stevie.6strings@xxxxxxxxx> Changes in v3: * Added traceeval_query() and traceeval_results_release(). * Added traceeval_insert(). * Reordered enum traceeval_data_type for logical numeric use. * Reordered traceeval_type fields for legibility. * Removed traceeval_flag's STAT as numerics will aggregate by default. * Declared traceeval_type before dyn function typedefs. * Changed dyn_release call's argument to pointer offset for legibility. * Changed dyn_release signature's argument order for legibility. * Removed traceeval_iterator since it isn't used. * Moved type_alloc()'s for-loop's semi-colon to a new line for legibility. * Made lables less verbose. * Updated type_alloc's error messages. * type_alloc() frees allocated data on error instead of traceeval_init(). * Squashed initialize and release patches as init depends on release. * Capitalized first letter of error messages. * Added error message for clean_data() if data exists without defs. * Aligned all function parameters with opening parenthesis. * Remove compare and testing patches, beyond current scope of project. --- v2 discussion: https://lore.kernel.org/linux-trace-devel/20230804083737.0d8f1d95@xxxxxxxxxxxxxxxxxx/T/#t Stevie Alvarez (Google) (6): histograms: Initial histograms interface histograms: Add traceeval initialize and release histograms: Add traceeval compare histograms: Add traceeval query histograms: Add traceeval insert histograms: Initial unit tests Makefile | 2 +- include/traceeval-hist.h | 147 ++++++++ include/traceeval-test.h | 16 + src/Makefile | 1 + src/histograms.c | 792 +++++++++++++++++++++++++++++++++++++++ utest/.gitignore | 1 + utest/Makefile | 35 ++ utest/eval-test.h | 13 + utest/eval-utest.c | 28 ++ utest/traceeval-utest.c | 290 ++++++++++++++ 10 files changed, 1324 insertions(+), 1 deletion(-) create mode 100644 include/traceeval-hist.h create mode 100644 include/traceeval-test.h create mode 100644 src/histograms.c create mode 100644 utest/.gitignore create mode 100644 utest/Makefile create mode 100644 utest/eval-test.h create mode 100644 utest/eval-utest.c create mode 100644 utest/traceeval-utest.c -- 2.41.0