Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Skywalking | 22,437 | 6 | 13 hours ago | 15 | June 16, 2023 | 48 | apache-2.0 | Java | ||
APM, Application Performance Monitoring System | ||||||||||
Sitespeed.io | 4,540 | 29 | 10 | a day ago | 545 | August 08, 2023 | 207 | mit | JavaScript | |
Sitespeed.io is an open source tool that helps you monitor, analyze and optimize your website speed and performance, based on performance best practices advices from the coach and collecting browser metrics using the Navigation Timing API, User Timings and Visual Metrics (FirstVisualChange, SpeedIndex & LastVisualChange). | ||||||||||
Myperf4j | 3,027 | 2 months ago | 6 | bsd-3-clause | Java | |||||
High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it. | ||||||||||
Javamelody | 2,855 | 484 | 20 | a month ago | 94 | July 30, 2023 | 57 | apache-2.0 | Java | |
JavaMelody : monitoring of JavaEE applications | ||||||||||
Perfume.js | 2,830 | 10 | 19 | 25 days ago | 152 | March 27, 2023 | 12 | mit | TypeScript | |
Web performance library for measuring all performance vitals metrics | ||||||||||
Phantomas | 2,239 | 78 | 18 | 15 hours ago | 54 | July 31, 2023 | 59 | bsd-2-clause | JavaScript | |
Headless Chromium-based web performance metrics collector and monitoring tool | ||||||||||
Web Vitals Extension | 2,233 | 20 days ago | 12 | apache-2.0 | CSS | |||||
A Chrome extension to measure essential metrics for a healthy site | ||||||||||
Appmetrics | 2,183 | 5 | 15 | 6 months ago | 33 | November 26, 2021 | 93 | apache-2.0 | C# | |
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application. | ||||||||||
Scouter | 1,979 | 2 | 2 | a month ago | 27 | May 29, 2023 | 190 | other | Java | |
Scouter is an open source APM (Application Performance Management) tool. | ||||||||||
Icinga2 | 1,877 | 16 days ago | 406 | gpl-2.0 | C++ | |||||
The core of our monitoring platform with a powerful configuration language and REST API. |
The performance metrics library is useful for determining call stack and module performance.
To make the library do the following:
autoreconf --verbose --install --force
configure
make all
To start the profiling add this to the entry point of your program.
#ifdef FEATURE_PERFORMANCE_PROFILING
PERF_START();
PERF_ENTRY("Root", "ROOT");
#endif //FEATURE_PERFORMANCE_PROFILING
and this to the exit point..
#ifdef FEATURE_PERFORMANCE_PROFILING
PERF_EXIT("Root", "ROOT");
PERF_STOP();
PERF_REPORT();
PERF_CLEANUP();
#endif //FEATURE_PERFORMANCE_PROFILING
and then anywhere you want to profile can be instrumented with
PERF_FUNC(__PRETTY_FUNCTION__, "DRAW");
Where DRAW is the category you want to categorize this function under. Or you can use the _ENTRY and _EXIT macros to work within a particular function..
The first parameter is the ID for this element and it’s a string. The library will match and entry and exit point based of the category and ID so you need matched _ENTRY and _EXIT macros. The PERF_STOP will stop collecting data and the PERF_REPORT will print the report to STDOUT and save it to a CSV file if you have that feature enabled. The library will also track CPU clock as well as wall clock, but that is system dependent and in the systems that I have tried it on the resolution is 10ms so it's only really useful for functions that take a long time. Otherwise you get a lot of 10 and 0 entries.