Trace Analysis Callback
To automate the trace analysis, neutrino supports attach callback to analyze the trace dumped or draw the figures.
Most callbacks are a Python executable based on the trace reading code,
but you can use Python's subprocess to incorporate other (faster) programming language,
such as dmat use C++ to accelerate the analysis.
How to use
neutrino supports two ways to attach the callback:
- Manual with
--callback <path/to/callback>in CLI. - Automatic with
CALLBACK = "<path/to/callback>"in probe.py or probe.toml.
Both approach accepts a path to the executable and the PATH will be searched based on the directory of your probe (if direct path is not found).
Manual approach has a higher priority for development, and automatic approach suitable for the development.
How it works
neutrino's callback will be handled by the hook driver at the last stage.
After saving the trace to disk, hook driver will fork and exec the callback with dumped trace path as the argument, like the following:
python <path/to/callback> <path/to/trace>We may update it to a multi-thread async version for better performance.