{"adoption": {"forks": 429, "observed_at": "2026-08-28T04:07:47.632676+00:00", "stars": 3176}, "canonical_url": "https://ross.abutalabs.com/products/opentelemetry-ebpf-profiler", "card": {"archived": false, "artifact_type": "application", "description": "The production-scale datacenter profiler (C/C++, Go, Rust, Python, Java, NodeJS, .NET, PHP, Ruby, Perl, ...)", "domain": ["monitoring", "performance", "operating-systems"], "enriched": true, "function": ["monitoring", "tracing", "developer-tools"], "health_score": 80, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["open-telemetry/opentelemetry-ebpf-profiler"], "name": "open-telemetry/opentelemetry-ebpf-profiler", "platform": ["go", "self-hosted"], "pushed_at": "2026-08-26T13:59:20+00:00", "repo": "open-telemetry/opentelemetry-ebpf-profiler", "stars": 3176, "tags": ["ebpf", "profiler", "continuous-profiling", "opentelemetry", "whole-system-profiling", "cross-language", "low-overhead", "linux"], "topics": ["ebpf", "profiler"], "urls": [], "use_cases": ["profile all processes on a production Linux server with low overhead", "get continuous CPU profiles without instrumenting or restarting applications", "capture mixed stacktraces across kernel, native code, and managed runtimes like JVM, Python, and Node.js", "profile native C/C++ or Rust binaries without debug symbols or frame pointers", "export profiling data in OpenTelemetry Profiles format", "find CPU hotspots in a datacenter fleet without deploying per-process agents"], "what_it_is": "A whole-system, cross-language continuous profiler for Linux built on eBPF, part of the OpenTelemetry project. It profiles all processes on a host non-intrusively with very low overhead, producing mixed kernel-to-userspace stacktraces across many runtimes and emitting the OpenTelemetry Profiles signal.", "when_to_avoid": ["you need profiling on non-Linux platforms like macOS or Windows", "your Linux kernel is older than the minimum supported version (roughly 5.10+)", "you need memory or GPU profiling rather than CPU/on-CPU profiling", "you want a GUI-based interactive profiler rather than an agent"], "when_to_choose": ["you need whole-host continuous profiling on Linux with minimal overhead", "your fleet mixes multiple languages and runtimes and you want unified stacktraces", "you cannot modify, instrument, or restart the processes being profiled", "you want profiles in the OpenTelemetry Profiles signal format"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/opentelemetry-ebpf-profiler", "repo": "open-telemetry/opentelemetry-ebpf-profiler", "role": "main", "score": 69}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.632676+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:45:24.985650+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b15e014a0c1f1e052ac4c0938419f0768b3f9dd24da7c297c6b3fa852a5735b0", "fetched_at": "2026-08-28T04:07:47.632676+00:00", "kind": "readme", "missing": false, "url": "https://github.com/open-telemetry/opentelemetry-ebpf-profiler"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 62, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 870, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}