Instrument the benchmark app on CI to take advantage the Opsian profiling tool
I have talked to Sadiq Jaffer from Opsian who is working on a profiling tool for OCaml. This tool allows its user to take snapshots of a running OCaml application (at about 14 Hz) and accumulates this data. It can then be used to build a flamegraph and to locate hotspots—the functions in which the program spends most time. It makes sense to leverage this profiling system whenever our TPS benchmark is run on CI. Sadiq kindly proposed to onboard and instruct any member of our team in order to give us access to a dashboard where we can inspect the results of our runs. This can be highly useful for locating bottlenecks and guiding the efforts of increasing TPS.
Task: add Opsian instrumentation of the TPS benchmark when it runs on CI.
Useful links:
- The profiling agent: https://github.com/Opsian/opsian-ocaml
- Tezos node building with Opsian integrated https://github.com/Opsian/opsian-tezos-docker