From: Stevie Alvarez (Google) <stevie.6strings@xxxxxxxxx> Changes in v4: * Reorder enum traceeval_data_type numeric types for algorithmic access. * Reorder union traceeval_data numeric fields for legibility. * Remove parenthesis from function name in kerneldocs. * Optimize logic in type_alloc(). * Distinguish internal vs public interfaces within include statements. * Rework copy_traceeval_data() logic for legibility. * Rework comparator return types to fix query and insert bugs. * update_entry() frees the entries old values to avoid a memory leak. Steven, I didn't get around to adding in the cstring field to traceeval_data, as I wasn't able to completely grasp what you were looking for. My apologies. --- v3 discussion: https://lore.kernel.org/linux-trace-devel/20230808180156.GA1300@3xKetch/T/#t Stevie Alvarez (Google) (5): histograms: Initial histograms interface histograms: Add traceeval initialize and release histograms: Add traceeval compare histograms: Add traceeval query histograms: Add traceeval insert Makefile | 2 +- include/traceeval-hist.h | 147 +++++++ include/traceeval-test.h | 16 + src/Makefile | 1 + src/histograms.c | 804 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 969 insertions(+), 1 deletion(-) create mode 100644 include/traceeval-hist.h create mode 100644 include/traceeval-test.h create mode 100644 src/histograms.c -- 2.41.0