{"adoption": {"forks": 217, "observed_at": "2026-08-28T04:05:16.891968+00:00", "stars": 1651}, "canonical_url": "https://ross.abutalabs.com/products/methodtraceman", "card": {"archived": false, "artifact_type": "library", "description": "用于快速找到高耗时方法，定位解决Android App卡顿问题。通过gradle plugin+ASM实现可配置范围的方法插桩来统计所有方法的耗时，并提供友好的界面展示，支持耗时筛选、线程筛选、方法名筛选等。(A Tool for Discovering High Time-consuming Methods for Android App)", "domain": ["android-tools", "performance", "developer-tools", "mobile-development"], "enriched": true, "function": ["monitoring", "benchmarking", "developer-tools"], "health_score": 20, "homepage": null, "language": "Kotlin", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["zhengcx/MethodTraceMan"], "name": "zhengcx/MethodTraceMan", "platform": ["jvm", "cli"], "pushed_at": "2021-02-23T08:51:17+00:00", "repo": "zhengcx/MethodTraceMan", "stars": 1651, "tags": ["android", "method-tracing", "jank-detection", "asm-instrumentation", "gradle-plugin", "bytecode-instrumentation", "performance-profiling"], "topics": ["method", "jank", "android", "performance", "asm", "gradle-plugin", "transform"], "urls": [], "use_cases": ["find slow methods causing Android app jank", "trace method execution time via bytecode instrumentation", "profile Android app performance during development", "filter method timings by thread or duration", "instrument only specific packages with a Gradle plugin"], "what_it_is": "MethodTraceMan is an Android performance tool that finds high time-consuming methods causing app jank via bytecode instrumentation. It uses a Gradle plugin with ASM to instrument methods at compile time and displays method timing data in a browser UI with filtering by time, thread, and method name.", "when_to_avoid": ["production profiling (release builds use a noop dependency)", "iOS or non-Android projects", "projects needing actively maintained tooling or a licensed release"], "when_to_choose": ["debugging Android app stutter and frame drops during development", "you want configurable method-level timing without manual code changes", "you prefer a visual UI to browse method cost data"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/methodtraceman", "repo": "zhengcx/MethodTraceMan", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "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:05:16.891968+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.891968+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:45:03.667393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "08aabec1b173c78c0def35bfdee21b681f380c21b84c2d7e29bba961a6e752f4", "fetched_at": "2026-08-28T04:05:16.891968+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhengcx/MethodTraceMan"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2546, "days_push": 2017, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}