{"adoption": {"forks": 463, "observed_at": "2026-08-28T04:07:55.824163+00:00", "stars": 3305}, "canonical_url": "https://ross.abutalabs.com/products/jitwatch", "card": {"archived": false, "artifact_type": "application", "description": "Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.", "domain": ["developer-tools", "performance", "compilers"], "enriched": true, "function": ["monitoring", "data-visualization", "developer-tools"], "health_score": 72, "homepage": null, "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["AdoptOpenJDK/jitwatch"], "name": "AdoptOpenJDK/jitwatch", "platform": ["jvm", "cross-platform"], "pushed_at": "2025-12-28T13:31:13+00:00", "repo": "AdoptOpenJDK/jitwatch", "stars": 3305, "tags": ["jit-compiler", "hotspot", "javafx", "log-analysis", "performance-tuning", "bytecode", "assembly", "desktop"], "topics": ["jitwatch", "java", "javafx", "hotspot-jit-compiler", "hotspot", "log-analyser", "jit-compiler", "escape-analysis"], "urls": [], "use_cases": ["analyze hotspot jit compiler logs", "inspect method inlining decisions in java", "find hot methods in my java application", "view bytecode and assembly generated by the jit", "understand why the jit did not inline a method", "visualize escape analysis results", "tune java performance using jit logs"], "what_it_is": "JITWatch is a log analyser and visualiser for the Java HotSpot JIT compiler, built with a JavaFX user interface. It lets developers inspect inlining decisions, hot methods, bytecode, and generated assembly from JIT compilation logs.", "when_to_avoid": ["you need general application profiling rather than JIT-specific analysis", "you work outside the JVM/HotSpot ecosystem", "you prefer command-line-only tooling without a JavaFX GUI"], "when_to_choose": ["you need to understand HotSpot JIT compilation behavior for performance tuning", "you want a GUI to explore inlining decisions, hot methods, and generated assembly", "you are profiling Java applications at the JIT level"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jitwatch", "repo": "AdoptOpenJDK/jitwatch", "role": "main", "score": 55}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "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:55.824163+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.824163+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:42:38.828682+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ddb2448ba91a26659782b1ab9dfc5ee750c91d422364491bd89b09fef642649", "fetched_at": "2026-08-28T04:07:55.824163+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AdoptOpenJDK/jitwatch"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 59, "longevity": 100, "rhythm": 24}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4720, "days_push": 248, "days_rel": 295, "gap_med": null, "n_releases_24m": 1}, "score": 55, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}