guider is a free, open source monitoring & observability project written in Python and released under GPL-2.0. It has 682 GitHub stars, 103 forks and 26 open issues, and was last pushed 24 hours ago. On this registry it ranks #177 of 191 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available.

Build Status license Coverity PyPI version Download guider Join the chat at https://gitter.im/guiderchat/Lobby

Guider_Logo_mini

Table of contents

Guider

Guider is a powerful and versatile performance analysis tool, designed to simplify and enhance system performance monitoring, profiling, and debugging for optimizing system performance and resource utilization across various platforms. With additional features like tracing, visualization, control, logging, networking, testing, and utilities, Guider offers a comprehensive set of tools to measure, analyze, and optimize system performance.

Guider provides a continuous system monitoring service that proactively manages events based on predefined thresholds and conditions. Leveraging its extensive set of built-in commands, Guider operates independently without requiring external infrastructure. Instead of streaming monitoring data to an external server in real time,
Guider retains collected data in its internal buffer and automatically generates comprehensive analysis reports upon event detection.

In addition, Guider offers a command-based API over TCP and UDS protocols, Enabling Linux and Android application developers to easily access and visualize system performance data.

Key Advantages of Guider include:

  1. Accurate Measurements
    Provides precise measurements in counts, execution time (μs), and data size (bytes).
  2. Comprehensive Functionality
    Offers a wide range of features for performance analysis, profiling, and experimentation.
  3. Detailed Reports
    Generates in-depth reports that capture as much relevant information as possible.
  4. Browser-Based Visualization
    Creates interactive SVG visualizations that can be viewed directly in any modern browser.
  5. Ease of Use
    Designed to be simple and intuitive, requiring no complex installation or setup.
  6. Optimized Resource Usage
    Designed to operate continuously with minimal system overhead, ensuring stable performance.

Guider supports a wide range of platforms based on the Linux kernel and architectures.

+--------------------------------------------------------+
| Platform Type     | Supported Platforms                |
|--------------------------------------------------------|
| Linux Distros     | Ubuntu, CentOS, RHEL               |
| Others            | Android, ccOS, webOS, Tizen, AGL   |
| Limited Support   | Windows, macOS                     |
+--------------------------------------------------------+
+--------------------------------------------------------+
| Architecture      | Supported Architectures            |
|-------------------|------------------------------------|
| CPU               | x86, x64, ARM, AArch64, RISC-V     |
+-------------------|------------------------------------+

This project has evolved over 10 years (2015–2025) through continuous development, field usage, and community feedback. Thank you for being part of the journey.

Overview

features

Guider provides a wide range of features that are categorized into the following major areas:

  1. Core Commands
    Guider offers a rich set of built-in commands for various performance tasks:

    • Monitoring: Resource, Task, Function, File, WSS, Log, IPC, Container, Event
    • Profiling: Resource, File, Function, Event
    • Tracing: Resource, Leak, Signal, Function, Event
    • Control: Resource, Task, Signal, Affinity, Scheduler, Hook
    • Logging: Kernel, Syslog, Ftrace, DLT, Journal, Android
    • Visualization: Line Graph, Stacked Graph, Flame Graph, Bar Graph, Violin Plot, Histogram
    • Testing: CPU, Memory, Storage, Network
    • Utilities: Duplicated Memory, Property, Pager, Diff, Watch, Systemd, binutils, bugreport
  2. Continuous Monitoring Service
    Guider enables automated system surveillance with proactive event management:

    • Thresholds: Configurable thresholds for various metrics like CPU load, memory usage, I/O latency, etc.
    • Conditions: Logical rules combining thresholds and system states to trigger specific actions.
    • Commands: Event handlers that automatically execute built-in commands to collect data or mitigate issues.
  3. Rich and Extensible APIs
    Guider provides command-based APIs using UDS/TCP for external integration:

    • Oneshot: Single command execution with immediate JSON-formatted response.
    • Stream: Persistent session for continuous command output streaming (e.g., monitoring updates).
    • Control: Command interface to start, stop, configure, and manage Guider services remotely.
  4. Multi-Domain Integrated Monitoring
    Guider simultaneously monitors multiple resource domains:

    • CPU performance metrics, memory usage trends, storage I/O behavior, network traffic analysis, and more.
    • Cross-domain correlation analysis for identifying complex system bottlenecks.
  5. Large-Scale Data Visualization
    Guider provides comprehensive visualization of vast amounts of:

    • Guider Reports: Automated detailed reports covering monitored periods and detected events.
    • Peak Usages: Identification and visualization of resource usage peaks across domains.
    • Process Crash, Kernel Panic, ANR: Analyzes crash dumps and abnormal system behaviors.

Output

$ python3 guider/guider.py top -a

[Top Info] [Time: 4588832.570] [Inter: 1.0] [Ctxt: 314463] [Life: +0/-0] [IRQ: 26606] [Core: 4] [Task: 498/625] [Load: 0/0/0] [RAM: 125.7G] [Swap: 4.0G]
           [PSI > [cpu] some(8.1%) [memory] some(0%) / full(0%) [io] some(0%) / full(0%)]
           [Cycle: 8.3G / Inst: 5.7G / IPC: 0.69 / CacheMiss : 13.7M(23%) / BrcMiss: 25.7M(1%) / Clk: 38.7G / MinFlt: 358 / MajFlt: 0]
==========================================================================================================================================================
  ID   |  CPU(Usr/Ker/Blk/IRQ)|MemAvl( Per/ User/Cache/Kern)| Swap( Per/ In/Out)| PgRclm  | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDirt |  Network   |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total  | 10 %( 1 / 6 / 0 / 0 )|124649(  96/  453/ 5690/1787)|    0(   0/  0/  0)|   0/0   |  0/0  |   0   |   0   | 15889  | 4616  |   20   |    2K/0    |
----------------------------------------------------------------------------------------------------------------------------------------------------------
CPU [#####                                     ]    MEM [###                                       ]    SWAP [                                          ]|
----------------------------------------------------------------------------------------------------------------------------------------------------------
Core/0 |100 %(66 /34 / 0 / 0 )|###################################################################|   powersave   |  0-0   |  24 C | 2874 Mhz [1171-3515]|
Core/1 |  7 %( 0 / 6 / 0 / 0 )|####                                                               |   powersave   |  0-1   |  22 C | 2307 Mhz [1171-3515]|
Core/2 |  0 %( 0 / 0 / 0 / 0 )|                                                                   |   powersave   |  0-2   |  23 C | 2165 Mhz [1171-3515]|
Core/3 |  0 %( 0 / 0 / 0 / 0 )|                                                                   |   powersave   |  0-3   |  22 C | 2170 Mhz [1171-3515]|
==========================================================================================================================================================
     Process (    PID/   PPID/  Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk(  RD/  WR/NrFlt)| SID | USER | FD | LifeTime|       Parent        |

readme truncated — read the full docs on github

Frequently asked questions

Is guider free to use?

guider is open source under the GPL-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does guider do?

The All-in-One System Profiling and Fault Detection Tool for Linux & Android

What is guider written in?

guider is primarily written in Python. Its source is publicly available at https://github.com/iipeace/guider, and it has 682 GitHub stars.