Good day,
I'm currently attempting to put together a platform/OS-agnostic profiling application for a proprietary application, and was considering using the Phoronix Test Suite (PTS).
Background
I maintain drivers and applications that communicate with PCIe encryption engines (i.e. PCIe card that is used to offload complex crypto computations that are slow/expensive to run on a general purpose CPU). The "manager" application (which uses a decent amount of CPU cycles per PCIe card) has a single instance launched, both in Windows and in Linux, per PCIe card.
Goal
I'm aiming to setup a profiling application that can:
My understand so far (please feel free to correct me if these assumptions are incorrect) is that PTS is a benchmarking tool (i.e. is intended to stress-test a system and generate reports). My intent is to provide my own "custom stress test" logic, and to take advantage of the reporting capabilities of Phoronix. Additionally, if PTS provides additional APIs for Linux and Windows (i.e. a common set of functions/APIs) to query metrics like CPU/memory/network-interface usage at the system and process/application level, so much the better.
Question(s)
Thank you.
I'm currently attempting to put together a platform/OS-agnostic profiling application for a proprietary application, and was considering using the Phoronix Test Suite (PTS).
Background
I maintain drivers and applications that communicate with PCIe encryption engines (i.e. PCIe card that is used to offload complex crypto computations that are slow/expensive to run on a general purpose CPU). The "manager" application (which uses a decent amount of CPU cycles per PCIe card) has a single instance launched, both in Windows and in Linux, per PCIe card.
Goal
I'm aiming to setup a profiling application that can:
- Launch the "manager application" (i.e. run a script that detects how many of these custom PCIe cards are installed, and automatically launches the correct number of applications with the appropriate parameters. This script has already been written for Linux and Windows).
- Let the application(s) run for a variable amount of time (i.e. 10 minutes, 20 minutes, etc.).
- Generate reports and graphs that show CPU, memory, and network access metrics for:
- The system as a whole (i.e. how loaded is the system).
- Each "manager application" launched by my script.
My understand so far (please feel free to correct me if these assumptions are incorrect) is that PTS is a benchmarking tool (i.e. is intended to stress-test a system and generate reports). My intent is to provide my own "custom stress test" logic, and to take advantage of the reporting capabilities of Phoronix. Additionally, if PTS provides additional APIs for Linux and Windows (i.e. a common set of functions/APIs) to query metrics like CPU/memory/network-interface usage at the system and process/application level, so much the better.
Question(s)
- Is PTS something I could use as a profiling (and not a benchmarking) tool for the use cases described above?
- Is it straightforward/trivial to disable functionality that uploads reports to off-site storage (i.e. PasteBin), so it can be used as an in-house only tool? I'm fine with sharing changes to the software and/or supplying the "custom profiles/stress-test-scripts" I generate to accommodate my use cases.
Thank you.
Comment