{"adoption": {"forks": 413, "observed_at": "2026-08-28T04:07:33.087314+00:00", "stars": 2979}, "canonical_url": "https://ross.abutalabs.com/products/anr-watchdog", "card": {"archived": false, "artifact_type": "library", "description": "A simple watchdog that detects Android ANR (Application Not Responding) error and throws a meaningful exception", "domain": ["mobile-development", "developer-tools", "monitoring"], "enriched": true, "function": ["monitoring", "error-handling", "testing"], "health_score": 20, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["SalomonBrys/ANR-WatchDog"], "name": "SalomonBrys/ANR-WatchDog", "platform": [], "pushed_at": "2022-03-11T12:23:25+00:00", "repo": "SalomonBrys/ANR-WatchDog", "stars": 2979, "tags": ["android", "anr", "watchdog", "crash-reporting", "ui-thread", "java"], "topics": [], "urls": [], "use_cases": ["detect android anr errors in my app", "report anr crashes to crashlytics or acra", "get stack traces when the ui thread hangs", "debug app not responding errors outside the play store", "monitor main thread responsiveness in production", "catch anr exceptions with a crash handler"], "what_it_is": "ANR-WatchDog is an Android library that detects Application Not Responding (ANR) errors by watching the UI thread and throwing a meaningful ANRError with all thread stack traces. It integrates with crash reporters like ACRA, Crashlytics, and Bugsnag so ANRs can be reported like any other crash.", "when_to_avoid": ["you only need Play vitals ANR reporting and have no custom crash pipeline", "you need actively developed alternatives with newer Android API coverage", "your project is not an Android application"], "when_to_choose": ["you need to catch and report Android ANRs to your own crash reporting service", "your app is not distributed via the Play Store and you cannot access /data/anr/traces.txt", "you want detailed stack traces of all threads when the UI thread stalls"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/anr-watchdog", "repo": "SalomonBrys/ANR-WatchDog", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "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:33.087314+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:33.087314+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:31:31.175078+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f7ddf5856758269edf14d0e07bfd184915b64223c867d1a6f7b359efe15ad0f0", "fetched_at": "2026-08-28T04:07:33.087314+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SalomonBrys/ANR-WatchDog"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4786, "days_push": 1636, "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}}