There are many TraceLens modules and they each take in a trace and perform some kind of analysis. It would be useful if there was a file that performs a "trace health" check to see if the trace is analyzable/complete and have all the TraceLens modules call this health check before analysis. This could check for many things:
- Are all the expected kernels present? Are any kernels dropped? This is something that often goes by unnoticed in trace analysis. Profilers could be buggy and drop kernels and the user wouldn't know
- Was the trace collected with add_python_func=True and with_stack=True? Users may not know that these flags are often needed to pass into profiler for some TraceLens use cases (needed if --include_call_stack is passed into generate_perf_report)
- Is the trace in graph mode or eager mode? If it's in graph mode, analysis would be difficult without a corresponding capture trace
If we create this, we'd have to make sure it's very lightweight and give users the option to bypass this health check with some kind of config or env var.
There are many TraceLens modules and they each take in a trace and perform some kind of analysis. It would be useful if there was a file that performs a "trace health" check to see if the trace is analyzable/complete and have all the TraceLens modules call this health check before analysis. This could check for many things:
If we create this, we'd have to make sure it's very lightweight and give users the option to bypass this health check with some kind of config or env var.