The goal of the project is now to develop a user library called libpfm4 to help setup performance events for use with the perf_events Linux kernel interface. The development of the perfmon kernel subsystem, libpfm and pfmon has now stopped.
KCachegrind visualizes traces generated by profiling, including a tree map and a call graph visualization of the calls happening. It's designed to be fast for very large programs like KDE applications.
Developer tool for automatic runtime tracing software errors with various resources. Number of resources virtually unlimited.
The fastest malloc we've seen; works particularly well with threads and STL. Also: thread-friendly heap-checker, heap-profiler, and cpu-profiler.
IO statistics for Unix like OSes
iostat is a tool for the creation of IO statistics of precompiled binaries in Unix like systems (Linux/MacOS).
This profiler (JRE 1.5.0 only) uses JVMTI and native bytecode instrumentation for the analysis of the heap, reachable objects, execution time, garbage collection efficiency, code coverage and thread contention. No preparation steps required in build.
Shiny is a lightning fast, fully documented & by-far-easiest-to-use C/C++/Lua profiler with no extensive surgery. Results are smoothed & shown in run-time as a call-tree or sorted-by-time. Output also renderable as graphs in Ogre3D or your custom engine
The sandbox libraries (libsandbox & pysandbox) are an open-source suite of software components for C/C++ and Python developers to create automated profiling tools and watchdog programs. The API's are designed for executing and instrumenting simple (single process) tasks, featuring policy-based behavioral auditing, resource quota, and statistics collecting. The sandbox libraries were originally designed and utilized as the core security module of a full-fledged online judge system for ACM/ICPC training. They have since then evolved into a general-purpose tool for binary program testing, profiling, and security restriction. The sandbox libraries are currently maintained by the OpenJudge Alliance (http://openjudge.net/) as a standalone, open-source project to facilitate various assignment grading solutions for IT/CS education. See project page at https://github.com/openjudge/sandbox for details.
C/C++ library for function instrumentation and AOP
Library libinstrument is the best way to do function instrumentation in C/C++. You can use instrumentation to implement a vast number of features, ranging from stack tracing, exception tracing, profiling, to interceptor injection and Aspect Oriented Programming (AOP), to name a few. Actually libinstrument comes ready with such modules as exception stack tracing. Project libinstrument is the evolution, the re-branding of libcsdbg. Due to the vast performance optimizations and the generalization of its API, instead of being targeted solely for debugging, It can now be used in Agile Development, follow modern paradigms and implement SOLID patterns in C/C++. It carries over verbatim all the features of libcsdbg, but also adds a CMake generated build system, highly configurable, with out-of-source build capability and portable across all platforms and many IDEs (Eclipse, CLion, CodeBlocks and other)..
An implementation of the Open Group's Application Response Measurement (ARM) Version 4 standard. The ARM standard describes a means of breaking an application down into it's constituent transactions, and measuring response time across multiple tiers.
Dynamic Probe Class Library (DPCL) is an object based C++ class library that provides the necessary infrastructure to allow tool developers and sophisticated tool users to build parallel and serial tools through technology called dynamic instrumentation.
utt - Useful Tracing Tools library for Linux
Elefant is an user-friendly memory profiler for Linux :) This project was made possible by the support of SentinelBox (http://www.sentinelbox.com)
It's a integrated performance analysis tool with GUI, which is integrated with various utilities such as strace, Gcov, Gprof, proc etc which are open released and are for analyzing performance of linux system
JDLabAgent is a dynamic link library which is loaded into the Java Virtual Machine via Java Virtual Machine Debug Interface (JVMDI). The JDLabAgent can be parameterized via config files and logs JVM events (e.g. breakpoints, exceptions).
This is a dynamic slicing tool for Java programs. The tool modifies the Kaffe virtual machine to collect the execution trace, and compress the trace on-the-fly. Please proceed to the tool's website http://jslice.sourceforge.net/ for download.
JSysmon is a Java library providing access to system information like CPU or Memory usage on various platforms using native calls. It can be used to build cross-platform monitors in your applications.
Kernel Analyzer is tool for Linux that monitor task preemptions and interruptions in the Linux Kernel. Basically it is a Kernel Patch, that comes also with a user proc interface, a KDB interface, and a Java GUI to display charts.
Tools, information, and practices for creating and operating dependable, complex, distributed, software-intensive systems. * Sense - Measure - Analyze - Respond - Optimize * Keywords: Performance Co-Pilot - PCP - PCPMon - Rjobd
Open|SpeedShop is an open source multi platform Linux performance tool
Open|SpeedShop is an open source multi platform Linux performance tool which is targeted to support performance analysis of applications running on both single node and large scale IA64, IA32, EM64T, AMD64, PPC, Blue Gene, ARM and Cray platforms.
pthreadw is a profiling library for multi-threaded programs. It can be used to automatically identify common problems related to threads that limit performance of parallel programs such as lock contention or load imbalance.
QUAD Memory Access Profiling Toolset
QUAD (Quantitative Usage Analysis of Data) consists of several tools that provide a comprehensive overview of the memory access behavior of an application. The primary goal is the detection of the actual data dependencies at the function-level.
SLO profiles the data locality in your program, and afterwards suggests refactorings that can improve that data locality, leading to fewer cache misses and faster execution.
Simple & efficient tool able to generate tremendous amounts of asynchronous direct IOs. It is highly configurable and scales well (both in terms of system size as well as in amount of storage utilized).
Tool for performance testing. Enable investigation of power management issues.