{"adoption": {"forks": 473, "observed_at": "2026-08-28T04:10:02.641120+00:00", "stars": 7725}, "canonical_url": "https://ross.abutalabs.com/products/viztracer", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A debugging and profiling tool that can trace and visualize python code execution", "domain": ["developer-tools", "performance"], "enriched": true, "function": ["tracing", "monitoring", "benchmarking", "developer-tools", "cli", "data-visualization"], "health_score": 95, "homepage": "https://viztracer.readthedocs.io/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["gaogaotiantian/viztracer"], "name": "gaogaotiantian/viztracer", "platform": ["python", "windows", "cli"], "pushed_at": "2026-08-18T13:43:55+00:00", "repo": "gaogaotiantian/viztracer", "stars": 7725, "tags": ["profiler", "flamegraph", "trace-visualization", "perfetto", "async-debugging", "debugging", "linux", "macos"], "topics": ["tracer", "python3", "debugging", "profiling", "visualization", "flamegraph", "python", "logging"], "urls": [], "use_cases": ["profile python script execution", "visualize function call timeline", "find performance bottlenecks in python code", "debug async and multithreaded python programs", "generate flamegraphs for python", "trace multiprocessing and subprocess calls", "inspect function entry and exit with source code"], "what_it_is": "VizTracer is a low-overhead debugging and profiling tool that traces and visualizes Python code execution on an interactive timeline. It requires no source code changes, supports threading, multiprocessing, async, and PyTorch, and renders traces in a Perfetto-powered viewer.", "when_to_avoid": ["you need production continuous profiling rather than on-demand tracing", "you profile non-Python code", "you need memory profiling specifically"], "when_to_choose": ["you need low-overhead Python tracing without changing source code", "you want timeline visualization of function calls including async and multiprocessing", "you need to render very large trace files smoothly"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/viztracer", "repo": "gaogaotiantian/viztracer", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "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:10:02.641120+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:02.641120+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:35:14.910116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5e737bf033c36f02be404b47575d18dbdd77cafce4f398a3d75b88351164611a", "fetched_at": "2026-08-28T04:10:02.641120+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaogaotiantian/viztracer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 44}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2220, "days_push": 15, "days_rel": 296, "gap_med": 31.0, "n_releases_24m": 9}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}