{"adoption": {"forks": 1585, "observed_at": "2026-08-28T04:09:51.726091+00:00", "stars": 6953}, "canonical_url": "https://ross.abutalabs.com/products/jvm-sandbox", "card": {"archived": false, "artifact_type": "framework", "description": "Real - time non-invasive AOP framework container based on JVM", "domain": ["developer-tools", "monitoring", "testing", "performance"], "enriched": true, "function": ["middleware", "monitoring", "testing", "developer-tools"], "health_score": 53, "homepage": null, "language": "Java", "license": "LGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["alibaba/jvm-sandbox", "alibaba/jvm-sandbox-repeater"], "name": "JVM-Sandbox", "platform": ["jvm", "cross-platform"], "pushed_at": "2025-12-05T07:08:08+00:00", "repo": "alibaba/jvm-sandbox", "stars": 6953, "tags": ["aop", "bytecode-instrumentation", "java-agent", "runtime-enhancement", "fault-injection", "class-isolation", "hotswap"], "topics": [], "urls": [], "use_cases": ["dynamically add logging to a running Java application without restart", "inject faults or simulate exceptions inside a live JVM service", "record method requests and replay results for debugging", "trace method call chains for coverage analysis", "monitor and intercept method parameters and return values in production", "build pluggable JVM instrumentation modules that can load and unload at runtime"], "what_it_is": "JVM-Sandbox is a real-time, non-invasive AOP framework container for the JVM, built on Java Instrumentation to dynamically enhance methods without restarting or modifying the target application. It provides a pluggable, class-isolated module system for building tools like dynamic logging, fault injection, and request record/replay.", "when_to_avoid": ["you only need simple compile-time AOP in a Spring-managed codebase", "your target runs outside the JVM or on non-Java languages", "you need a supported, officially maintained product with enterprise support", "you require JDK versions beyond the supported range (JDK 6-11)"], "when_to_choose": ["you need runtime AOP on a JVM app you cannot restart or modify", "you want to build diagnostic tools like dynamic logging or fault injection on the JVM", "you need class isolation so instrumentation does not pollute the target application", "you want hot-pluggable modules that can be attached and detached without side effects"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/alibaba/jvm-sandbox", "repo": "alibaba/jvm-sandbox", "role": "main", "score": 48}, {"path": "/repos/alibaba/jvm-sandbox-repeater", "repo": "alibaba/jvm-sandbox-repeater", "role": "plugin", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "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:09:51.726091+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:51.726091+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:41:12.003739+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2da92f385a015439b84330a2f7801dd7b755b34364f09ca78c7e19ec9db9d147", "fetched_at": "2026-08-28T04:09:51.726091+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/jvm-sandbox"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 55, "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": 3317, "days_push": 271, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 48, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}