VyPR is a prototype framework that allows developers to analyse the performance of their Python programs by writing queries and analysing the results.
Originally developed at CERN, at the CMS Experiment, and The University of Manchester.
The research that led to VyPR is now being extended at the Interdisciplinary Centre for Security, Reliability and Trust (SnT) in Luxembourg.
At CERN, the project was led by Joshua Dawes, who still leads R&D that uses the research at SnT.
All code from the VyPR project is available in VyPR's GitHub organisation
Docker image containing a sample program monitored by VyPR, and instances of our analysis tools.
Tested on macOS Catalina and CentOS Linux 7.
Write queries over the performance of a part of your program using VyPR's library.
Queries written for VyPR take the form of properties that a run of that part of the program should hold.
Before runtime, VyPR automatically determines where in your program to take data to check your queries.
At runtime, VyPR resolves your queries in the background by taking measurements.
You can use one of VyPR's analysis tools to see when, where and how the properties defined by your queries were satisfied (or not) by a run of your program.
We provide two analysis tools: