**Look into Palanteer and get an omniscient view of your program** Improve software code quality - C++ and Python
- **Simple logging of meaningful atomic events** - Time scopes, variable values, locks, markers, memory allocations, context switches... - Global structure from the event hierarchy - Typed (string, timestamp, float, integer...) - C++ - Compile-time selection of per-user groups of events - Very low overhead, typically few nanoseconds - Python - Automatic instrumentation of functions enter/leave - Automatic tracking of interpreter memory allocations - Automatic tracking of all raised exceptions - Automatic tracking of garbage collection runs - Automatic tracking of coroutines |   |
- **Lock usage tracking** - Explicit threads' battle for locks - Who is blocked by whom and for how long |  |
- **Memory usage tracking** - Detect allocation hot spots, big allocators, temporary allocations... - Leak detection (based on logged events) |  |
- **Visualization of the data from the best vantage point** - Smooth and interactive experience on a standard computer - Even with huge records - Many kinds of views to cover many kinds of needs - Timelines for CPU, timeline for memory, flame graphs, lock contention, context switch, curves, histograms... - Flexible layouts - Drag&drop support - No limit on view quantity - Can be saved and recalled later |  |
- **C++: Better assertions, enhanced with provided context** - Just add variables or expressions as extra parameters - Compile-time selection of user defined groups of assertions |  |
- **C++: Stack trace dumping** - Displayed in the terminal - Recorded with all events before crash - Available global context ease crash investigations |  |
- **C++: Full leveraging of static strings** - Identified and hashed at compile time, no runtime cost - "External strings": full stripping of instrumentation static strings from the binary - Benefit: code size reduction and instrumentation obfuscation - Strings are resolved with an external lookup generated from the code (tool provided) |   |
**Easy scripting of the stimulation and observation** - Elaborate deep and reliable system tests - Stimulate with CLIs (remote commands from instrumentation), monitor via events - Automate the extraction of performance indicators - Scripting language is Python - Scripts are independent of the program's implementation language |  |