peeka-diagnostics

Diagnose Python processes with real-time runtime diagnostics via CLI and TUI.

6|1|Updated Jan 3, 2026
One-click install
npx skills add https://github.com/peeka-project/peeka --skill peeka-diagnostics-peeka-project
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: peeka-diagnostics
Source: https://github.com/peeka-project/peeka/tree/main/.agents/skills/peeka-diagnostics
Command: npx skills add https://github.com/peeka-project/peeka --skill peeka-diagnostics-peeka-project

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python, simpleeval, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill provides runtime diagnostics for Python applications, enabling real-time observation of function calls, traces, stacks, logs, memory, threads, and hot paths without changing application code.

Core Features & Use Cases

  • Non-invasive Observations: Injects observation logic at runtime and restores it on detachment or reset.
  • Real-time Streaming: Streams observations over Unix domain sockets with low latency.
  • Production-minded: Limits overhead with fixed-size buffers and graceful recovery.
  • Safe Filtering: Evaluates conditions with simpleeval instead of Python eval.
  • Dual Interface: Offers JSONL CLI for automation and TUI for human exploration.
  • Use Case: Use this Skill to diagnose Python processes, diagnose slow performance, find memory leaks, trace function calls, watch variables at runtime, or analyze thread issues.

Quick Start

To diagnose a Python process using peeka-cli, first run the environment detection script, then check OS compatibility, set permissions, discover the process, and use the appropriate peeka commands like attach, watch, trace, and memory.

Frequently Asked Questions about peeka-diagnostics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I trace Python function calls at runtime without modifying the source code?

You can trace Python function calls at runtime non-invasively by injecting observation logic into a live process. This Skill restores the original state upon detachment, allowing you to watch variables and trace execution without altering your application code.

What is the best way to diagnose slow performance and memory leaks in a running Python application?

The best way to diagnose slow performance and memory leaks is through real-time Python diagnostics. This Skill streams live observations of memory usage, hot paths, and threads over Unix domain sockets to identify bottlenecks with low latency.

Can I use this runtime diagnostics tool with my Python 3.8 production environment?

Yes, you can use this runtime diagnostics tool with Python 3.8.1 through 3.14. It is designed for production environments, limiting overhead with fixed-size buffers and evaluating filtering conditions safely using simpleeval.

How does non-invasive Python debugging handle safe filtering during execution?

Non-invasive Python debugging handles safe filtering by evaluating conditions using simpleeval instead of Python eval. This approach prevents unsafe code execution while allowing you to dynamically watch specific variables and traces at runtime.

What are the limitations of attaching a runtime debugger to a live Python process?

Limitations of attaching a runtime debugger include strict Python version requirements and specific OS environment setup. While it offers graceful recovery and low overhead via fixed-size buffers, you must run environment detection scripts to ensure compatibility before attaching.

Does Python runtime tracing offer interfaces for both automation and manual exploration?

Yes, Python runtime tracing offers dual interfaces for different workflows. It provides a JSONL CLI for automation scripts and a TUI for human exploration, enabling you to analyze stacks, logs, and hot paths effectively.