back to home

parca-dev / parca

Continuous profiling for analysis of CPU and memory usage, down to the line number and throughout time. Saving infrastructure cost, improving performance, and increasing reliability.

4,815 stars
248 forks
194 issues
TypeScriptGoShell

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing parca-dev/parca in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/parca-dev/parca)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Continuous profiling for analysis of CPU, memory usage over time, and down to the line number. Saving infrastructure cost, improving performance, and increasing reliability. Features • **eBPF Profiler**: A single profiler, using eBPF, automatically discovering targets from Kubernetes or systemd across the entire infrastructure with very low overhead. Supports C, C++, Rust, Go, and more! • **Open Standards**: Both producing pprof formatted profiles with the eBPF based profiler, and ingesting any pprof formatted profiles allowing for wide language adoption and interoperability with existing tooling. • **Optimized Storage & Querying**: Efficiently storing profiling data while retaining raw data and allowing slicing and dicing of data through a label-based search. Aggregate profiling data infrastructure wide, view single profiles in time or compare on any dimension. Why? • **Save Money**: Many organizations have 20-30% of resources wasted with easily optimized code paths. The Parca Agent aims to lower the entry bar by requiring 0 instrumentation for the whole infrastructure. Deploy in your infrastructure and get started! • **Improve Performance**: Using profiling data collected over time, Parca can with confidence and statistical significance determine hot paths to optimize. Additionally, it can show differences between any label dimension, such as deploys, versions, and regions. • **Understand Incidents**: Profiling data provides unique insight and depth into what a process executed over time. Memory leaks, but also momentary spikes in CPU or I/O causing unexpected behavior, is traditionally difficult to troubleshoot are a breeze with continuous profiling. Feedback & Support If you have any feedback, please open a discussion in the GitHub Discussions of this project. We would love to learn what you think! Installation & Documentation Check Parca's website for updated and in-depth installation guides and documentation! parca.dev Development You need to have Go, Node and Pnpm installed. Clone the project Go to the project directory Build the UI and compile the Go binaries Running the compiled Parca binary The binary was compiled to . Now Parca is running locally and its web UI is available on http://localhost:7070/. By default, Parca is scraping it's own pprof endpoints and you should see profiles show up over time. The scrape configuration can be changed in the in the root of the repository. Configuration Flags: [embedmd]:# (tmp/help.txt) Credits Parca was originally developed by Polar Signals. Read the announcement blog post: https://www.polarsignals.com/blog/posts/2021/10/08/introducing-parca-we-got-funded/ Contributing Check out our Contributing Guide to get started! It explains how compile Parca, run it with Tilt as container in Kubernetes and send a Pull Request. Contributors ✨ Thanks goes to these wonderful people (emoji key): Frederic Branczyk 💻 📖 🚇 Thor 💻 📖 🚇 Matthias Loibl 💻 📖 🚇 Kemal Akkoyun 💻 📖 Sumera Priyadarsini 💻 📖 Jéssica Lins 📖 Holger Freyther 💻 Sergiusz Urbaniak 🚇 Paweł Krupa 🚇 Ben Ye 💻 🚇 Felix 💻 📖 🚇 Christian Bargmann 💻 Yomi Eluwande 💻 📖 Manoj Vivek 💻 📖 Monica Wojciechowska 💻 📖 Manuel Rüger 🚇 Avinash Upadhyaya K R 💻 Ikko Ashimine 💻 Maxime Brunet 💻 🚇 rohit 💻 Ujjwal Goyal 📖 Javier Honduvilla Coto 💻 Marsel Mavletkulov 💻 Kautilya Tripathi 💻 Jon Seager 💻 Philip Gough 💻 _...truncated for preview_