azure-sdk-for-python
azure-sdk-for-python copied to clipboard
[Perf] Validate/improve profiling integration with PerfStress framework
Currently, the PerfStress framework does have a --profile option which profiles a single iteration with cProfile, and outputs a binary file into the current working directory that is meant to be analyzed with something like pstats or snakeviz.
Some items we should consider:
- [ ] Validate that the cProfile is enough to fit profiling needs and correctly works within the framework.
- [ ] Provide clean profiling output after a test run (maybe using
pstatwhere we provide most expensive functions by total time and per-call time) - [ ] Make profiling data easily consumable by other steps in the pipeline (for things like storing results and visualization)
- [ ] Investigate adding other profiling options such as:
-
line-profiler(for analyzing code line by line and identifying the cause of CPU-bound problems in Python code) -
memory-profiler(for tracking RAM usage of python code) - others?
-
Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Core:0.3054045,Storage:0.05118258,Cosmos:0.044038422'
Label prediction was below confidence level 0.6 for Model:CategoryLabels: 'Mgmt:0.5381077,Client:0.4591876,Service:0.0017938041'