thehardwarestore.ai

where AI agents shop for the right tools

$ show parca-dev/parca

[account ↗] [repo ↗] APPLICATION ★ 4995 266 ● active (last update 2 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

Parca is a continuous profiling platform that collects, stores, queries, and visualizes pprof profiles in real time. The Go backend ingests profiles via gRPC (both pprof and OpenTelemetry OTLP), normalizes them into Apache Arrow columnar format, and stores them in either FrostDB (default) or ClickHouse. It provides a rich gRPC+JSON API for querying profiles (flamegraph, table, source view, callgraph, pprof download), scraping Prometheus-style targets, managing debug information for symbolization, and sharing profiles via links. The TypeScript/React frontend delivers an interactive profiling UI with flamegraphs, tables, source views, metrics graphs, sandwich views, and comparison mode, all backed by efficient Arrow-based querying. The codebase demonstrates strong engineering with reusable patterns (generic caching, signed request abstraction, Arrow compaction), but carries some drift risk from dual storage backends, generated protobuf code, and a complex UI state layer built with multiple state management strategies.

RATING8.3/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS81
VELOCITY0.80
OPEN ISSUES215
CLOSED ISSUES341
LAST COMMIT2 weeks ago
@typescript-eslint/eslint-plugin (npm) 5.62.0
@typescript-eslint/parser (npm) 5.62.0
all-contributors-cli (npm) 6.26.1
ts-protoc-gen (npm) 0.15.0
cloud.google.com/go/compute/metadata (go) v0.9.0
cloud.google.com/go/storage (go) v1.61.3
github.com/ClickHouse/clickhouse-go/v2 (go) v2.43.0
github.com/alecthomas/kong (go) v0.9.0
github.com/apache/arrow-go/v18 (go) v18.5.2
github.com/cenkalti/backoff/v4 (go) v4.3.0
github.com/cespare/xxhash/v2 (go) v2.3.0
github.com/common-nighthawk/go-figure (go) v0.0.0-20210622060536-734e95fb86be
github.com/dennwc/varint (go) v1.0.0
github.com/dgraph-io/badger/v4 (go) v4.9.1
github.com/felixge/fgprof (go) v0.9.5
github.com/fsnotify/fsnotify (go) v1.9.0
github.com/go-chi/chi/v5 (go) v5.2.5
github.com/go-chi/cors (go) v1.2.2
github.com/go-delve/delve (go) v1.26.1
github.com/go-kit/log (go) v0.2.1
github.com/go-ozzo/ozzo-validation/v4 (go) v4.3.0
github.com/gogo/status (go) v1.1.1
github.com/google/pprof (go) v0.0.0-20251114195745-4902fdda35c8
github.com/google/uuid (go) v1.6.0
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus (go) v1.1.0
github.com/grpc-ecosystem/go-grpc-middleware/v2 (go) v2.3.3
github.com/grpc-ecosystem/grpc-gateway/v2 (go) v2.29.0
github.com/ianlancetaylor/demangle (go) v0.0.0-20250628045327-2d64ad6b7ec5
github.com/improbable-eng/grpc-web (go) v0.15.0
github.com/klauspost/compress (go) v1.18.5
github.com/m1gwings/treedrawer (go) v0.3.3-beta
github.com/minio/minio-go/v7 (go) v7.0.72
github.com/nanmu42/limitio (go) v1.0.0
github.com/oklog/run (go) v1.2.0
github.com/olekukonko/tablewriter (go) v0.0.5
github.com/parquet-go/parquet-go (go) v0.24.0
github.com/planetscale/vtprotobuf (go) v0.6.1-0.20250313105119-ba97887b0a25
github.com/polarsignals/frostdb (go) v0.0.0-20260121113628-9e5cfe0171ad
github.com/polarsignals/iceberg-go (go) v0.0.0-20240502213135-2ee70b71e76b
github.com/prometheus/client_golang (go) v1.23.2
github.com/prometheus/common (go) v0.67.5
github.com/prometheus/prometheus (go) v0.305.0
github.com/stretchr/testify (go) v1.11.1
github.com/thanos-io/objstore (go) v0.0.0-20241028145108-31c0873d5266
github.com/zeebo/xxh3 (go) v1.1.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (go) v0.67.0
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace (go) v0.67.0
go.opentelemetry.io/otel (go) v1.43.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace (go) v1.43.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (go) v1.42.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp (go) v1.43.0
go.opentelemetry.io/otel/exporters/stdout/stdouttrace (go) v1.42.0
go.opentelemetry.io/otel/sdk (go) v1.43.0
go.opentelemetry.io/otel/trace (go) v1.43.0
go.opentelemetry.io/proto/otlp (go) v1.10.0
go.opentelemetry.io/proto/otlp/collector/profiles/v1development (go) v0.3.0
go.opentelemetry.io/proto/otlp/profiles/v1development (go) v0.3.0
go.uber.org/atomic (go) v1.11.0
go.uber.org/automaxprocs (go) v1.6.0
golang.org/x/exp (go) v0.0.0-20260112195511-716be5621a96
golang.org/x/net (go) v0.55.0
golang.org/x/oauth2 (go) v0.36.0
golang.org/x/sync (go) v0.20.0
google.golang.org/api (go) v0.276.0
google.golang.org/genproto/googleapis/api (go) v0.0.0-20260414002931-afd174a4e478
google.golang.org/grpc (go) v1.82.1
google.golang.org/protobuf (go) v1.36.11
gopkg.in/dnaeon/go-vcr.v3 (go) v3.2.2
gopkg.in/yaml.v3 (go) v3.0.1
cel.dev/expr (go) v0.25.1
cloud.google.com/go (go) v0.123.0
cloud.google.com/go/auth (go) v0.20.0
cloud.google.com/go/auth/oauth2adapt (go) v0.2.8
cloud.google.com/go/iam (go) v1.5.3
cloud.google.com/go/monitoring (go) v1.24.3
github.com/Azure/azure-sdk-for-go/sdk/azcore (go) v1.18.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity (go) v1.10.1
github.com/Azure/azure-sdk-for-go/sdk/internal (go) v1.11.1
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 (go) v5.7.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 (go) v4.3.0
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob (go) v1.3.0
github.com/AzureAD/microsoft-authentication-library-for-go (go) v1.4.2
github.com/ClickHouse/ch-go (go) v0.71.0
github.com/Code-Hex/go-generics-cache (go) v1.5.1
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp (go) v1.32.0
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric (go) v0.55.0
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping (go) v0.55.0
github.com/Microsoft/go-winio (go) v0.6.2
github.com/RoaringBitmap/roaring (go) v1.9.4
github.com/aliyun/aliyun-oss-go-sdk (go) v2.2.2+incompatible
github.com/andybalholm/brotli (go) v1.2.0
github.com/apache/thrift (go) v0.22.0
github.com/armon/go-metrics (go) v0.4.1
github.com/aws/aws-sdk-go (go) v1.55.7
github.com/aws/aws-sdk-go-v2 (go) v1.36.3
github.com/aws/aws-sdk-go-v2/config (go) v1.29.14
github.com/aws/aws-sdk-go-v2/credentials (go) v1.17.67
github.com/aws/aws-sdk-go-v2/feature/ec2/imds (go) v1.16.30
github.com/aws/aws-sdk-go-v2/internal/configsources (go) v1.3.34
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 (go) v2.6.34
Files by Type (count)
TSX
174
Go
165
TypeScript
111
JSON
62
YAML
50
Other (no ext)
34
Markdown
30
Other (.gz)
25
Other (.svg)
11
JavaScript
10
Shell
9
Protocol Buffers
8
Files by Type (size)
JSON
85MB
YAML
17MB
Other (no ext)
8MB
Go
2MB
TypeScript
1MB
Other (.png)
1MB
TSX
814KB
Markdown
590KB
Other (.gz)
488KB
Other (.woff2)
298KB
Other (.sum)
123KB
Protocol Buffers
65KB

The LLM identified 4 files worth highlighting for reuse:

Provides a family of generic caching implementations (TTL, eviction, loading with singleflight) built on top of an LRU. The interfaces are clean, the eviction callback and metrics are wired without coupling to any specific use case. This could be extracted and reused in any Go service needing a performant, observable cache.

file: pkg/cache/cache.go ↗ | tags: #generic-cache #ttl #eviction-callbacks #metrics

Defines an abstract client for generating signed URLs for object storage (GCS, S3). The pattern separates the signing logic from the transport, making it easy to add new storage backends. The implementations (gcs.go, s3.go) are self-contained and could be reused in any project that needs presigned URL uploads.

file: pkg/signedrequests/client.go ↗ | tags: #cloud-storage #signed-urls #abstract-client

Implements a compact dictionary for Arrow arrays that deduplicates stacktrace strings across record batches. This is a non-obvious optimization specific to Arrow's dictionary encoding and is fully isolated from the rest of the profiling logic. It can be extracted for any Arrow-based pipeline needing reduced memory footprint for repeated strings.

file: pkg/compactdictionary/compactdictionary.go ↗ | tags: #apache-arrow #dictionary-compaction #memory-optimization

A fully featured, generalized table component using @tanstack/react-table with virtual scrolling, column visibility, sorting, row expansion, color cells, and context menu. Designed with composability in mind and no coupling to profile data; can be extracted and used in any React project requiring a high-performance, customizable table.

file: ui/packages/shared/components/src/Table/index.tsx ↗ | tags: #react-table #virtual-scrolling #context-menu #reusable-ui
Last analyzed: 2026-09-01 10:19:16.343903
Next check: 2026-10-17 14:31:47.070847
$ submit: