**Look into Palanteer and get an omniscient view of your program** Improve software code quality - C++ and Python
- **Simple tracing of meaningful atomic events** - Time scopes, variable values, locks, logs, 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](base_concepts.md.html#c++specific/groups) - [Very low](#c++instrumentationperformance) overhead, typically few nanoseconds - [Automatic instrumentation](getting_started.md.html#quickc++automaticfunctionsinstrumentation) with `-finstrument-functions` flag (GCC only) possible - Python - [Automatic instrumentation](instrumentation_api_python.md.html#automaticinstrumentationwithoutcodemodification) 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 traced 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](#enhancedassertions)** - Just add variables or expressions as extra parameters - Compile-time selection of user defined groups of assertions |  |
- **C++: [Stack trace](instrumentation_configuration_cpp.md.html#pl_impl_stacktrace) dumping** - Displayed in the terminal - Recorded with all events before crash - Available global context ease crash investigations |  |
- **C++: Full leveraging of [static strings](base_concepts.md.html#staticanddynamicstrings)** - Identified and hashed at compile time, no runtime cost - ["External strings"](getting_started.md.html#quickc++externalstringconfiguration): 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](getting_started.md.html#quickremotescripting) 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 |  |