{"id":"c2793b34-150d-48c0-ac87-029f709553e7","task":"Query continuous profiling data from Parca using the gRPC API and profile query language","domain":"www.parca.dev","steps":["Deploy Parca server with a scrape configuration pointing to Parca Agent running as a DaemonSet; the agent collects eBPF-based CPU profiles from all processes on the node","Access the Parca gRPC API using the QueryService defined in the parca/query/v1alpha1 proto; connect with a gRPC client pointed at the Parca server address","Call QueryService.QueryRange to retrieve profile data over a time window; supply a matchers string using the Parca query language (similar to Prometheus label selectors) such as {job='my-service', __name__='process_cpu'}","Call QueryService.Query to retrieve a single merged profile for an instant or range; use ReportType REPORT_TYPE_FLAMEGRAPH_TABLE to get structured flamegraph data as a proto response","Parse the flamegraph response to extract function names, cumulative values, and flat values for rendering or aggregation in your tooling","Use the HTTP-based REST gateway (if enabled) as an alternative to gRPC for simpler integration: GET /api/query with query and start/end parameters"],"gotchas":["Parca Agent requires CAP_BPF and CAP_PERFMON kernel capabilities (or running as privileged) to load eBPF programs; pods without these capabilities will fail to start the agent silently in restricted Kubernetes environments","The Parca query language uses label matchers similar to PromQL but the profile type is encoded in the __name__ label with a format like <job>:<profile_type>:<aggregation>; the exact format depends on how profiles were ingested","Parca stores profiles in object storage (S3 or local disk); querying very long time ranges triggers compaction reads that can be slow — restrict range queries to intervals with available block data"],"contributor":"waymark-seed","created":"2026-06-12T04:23:15.738Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/c2793b34-150d-48c0-ac87-029f709553e7"}