Sobre o projeto
O Parca é uma plataforma de criação de perfis contínua de código aberto para analisar o uso de CPU e memória ao longo do tempo, até ao número da linha. Foi concebido para ajudar a reduzir os custos de infraestrutura, melhorar o desempenho e aumentar a fiabilidade através da recolha de dados de criação de perfis em toda a infraestrutura.
Principais capacidades descritas no README:
- Criador de perfis eBPF: Um único criador de perfis que utiliza eBPF descobre automaticamente alvos do Kubernetes ou do systemd em toda a infraestrutura com baixo overhead. Suporta linguagens como C, C++, Rust e Go.
- Normas abertas: O criador de perfis baseado em eBPF produz perfis em formato pprof, e o Parca pode ingerir quaisquer perfis em formato pprof, suportando uma ampla adoção de linguagens e interoperabilidade com ferramentas existentes.
- Armazenamento e consulta otimizados: Os dados de criação de perfis são armazenados de forma eficiente, mantendo os dados em bruto. Os dados podem ser fatiados e combinados através de pesquisa baseada em etiquetas. Os utilizadores podem agregar dados de criação de perfis em toda a infraestrutura, ver perfis individuais no tempo ou comparar entre dimensões.
Os casos de uso destacados no README incluem poupar dinheiro ao encontrar recursos desperdiçados, melhorar o desempenho ao identificar caminhos críticos com significado estatístico e comparar diferenças entre etiquetas como implementações, versões e regiões, e compreender incidentes como fugas de memória ou picos momentâneos de CPU ou I/O.
A instalação e a documentação estão disponíveis no site do projeto. O desenvolvimento requer Go, Node e Pnpm. O repositório inclui um processo de compilação com Makefile, e o binário compilado é executado localmente com uma interface web na porta 7070 por predefinição. A configuração é gerida através de flags e de um ficheiro parca.yaml, abrangendo definições de HTTP, opções de armazenamento, simbolização, tratamento de debuginfo e ligações a armazenamentos remotos.
O projeto foi originalmente desenvolvido pela Polar Signals e é lançado sob a licença Apache 2.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.