• Kirill Smelkov's avatar
    go/neo/t/benchplot: New program to visualise neotest benchmarks (draft) · 0fb3d795
    Kirill Smelkov authored
    Add the program that reads results from either bench-local or bench-cluster
    neotest output and visualizes it. It uses benchlib.py module to read data
    in Go benchmark format(*), processes them and plots scalability and other
    graphs via matplotlib.
    
    There are lots of hacks and rough edges, and in particular callout coordinate
    calculation is completely wrong. However even in this state benchplot was used
    to prepare the graphs in http://navytux.spb.ru/~kirr/neo.html and
    http://navytux.spb.ru/~kirr/misc/neo·P4.html .
    
    Some draft history related to this patch:
    
    	lab.nexedi.com/kirr/neo/commit/078c9ac3        X move benchlib to -> https://lab.nexedi.com/kirr/pygolang
    	lab.nexedi.com/kirr/neo/commit/0edd5129        X benchplot: Teach it to understand benchmark names for partitioned NEO clusters
    	lab.nexedi.com/kirr/neo/commit/a1dde3c9        X deco-rio timings
    	lab.nexedi.com/kirr/neo/commit/916782b6        X normalize/convert units, so that disk and ping/tcp latencies could be plotted too
    	lab.nexedi.com/kirr/neo/commit/f5fec740        X switch node info to labels; start adding that to plot
    	lab.nexedi.com/kirr/neo/commit/906462a3        X neotest: Move cluster / node out fro benchmark name to label in environment
    	lab.nexedi.com/kirr/neo/commit/cceca65f        X benchplot: Start of automated plotting for neotest benchmark data
    	lab.nexedi.com/kirr/neo/commit/a9b10a45        X benchlib/benchstat: Emit label:value info for several labels on one line, similary to go version
    	lab.nexedi.com/kirr/neo/commit/502d9477        X benchlib: Python module to read & work with data in Go benchmark format
    
    (*) benchlib.py is now part of pygolang: https://pypi.org/project/pygolang .
    0fb3d795
benchplot 23.8 KB