{"adoption": {"forks": 148, "observed_at": "2026-08-28T04:05:42.259970+00:00", "stars": 1832}, "canonical_url": "https://ross.abutalabs.com/products/spring-startup-analyzer", "card": {"archived": false, "artifact_type": "library", "description": "spring-startup-analyzer generates an interactive spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it.🚀", "domain": ["backend", "performance", "developer-tools"], "enriched": true, "function": ["monitoring", "benchmarking", "developer-tools"], "health_score": 45, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["linyimin0812/spring-startup-analyzer"], "name": "linyimin0812/spring-startup-analyzer", "platform": ["jvm", "windows"], "pushed_at": "2025-07-10T02:12:54+00:00", "repo": "linyimin0812/spring-startup-analyzer", "stars": 1832, "tags": ["spring-boot", "startup-analysis", "profiling", "async-bean-initialization", "performance-optimization", "java", "linux", "macos"], "topics": ["async-spring-bean", "startup-time-optimization", "spring-startup-monitor", "spring-startup-optimization", "spring-boot-startup", "spring-boot-startup-optimization", "spring", "spring-boot"], "urls": [], "use_cases": ["analyze why my spring boot app starts slowly", "generate a spring bean initialization timeline report", "find unused jars in a fat jar", "profile application startup thread wall clock", "speed up spring boot startup with async beans", "locate slow bean initialization bottlenecks"], "what_it_is": "A Java agent/library that instruments Spring and Spring Boot applications to collect startup data and generate an interactive HTML startup report. It also supports optimizing startup time via asynchronous bean initialization.", "when_to_avoid": ["your application is not Spring/Spring Boot based", "you need continuous production APM rather than startup-time analysis", "you need a general-purpose JVM profiler beyond startup profiling"], "when_to_choose": ["you run Spring or Spring Boot on the JVM and need to diagnose startup latency", "you want an interactive HTML report of bean initialization and method invocation times", "you want to try async bean initialization to reduce startup time"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spring-startup-analyzer", "repo": "linyimin0812/spring-startup-analyzer", "role": "main", "score": 34}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "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:42.259970+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:42.259970+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:19:09.793205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1095e886e5d0f148ec54c6c94de71722bc0598ea635407158968e0efa3ce614", "fetched_at": "2026-08-28T04:05:42.259970+00:00", "kind": "readme", "missing": false, "url": "https://github.com/linyimin0812/spring-startup-analyzer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 30, "longevity": 87, "rhythm": 8}, "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": 1220, "days_push": 420, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 34, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}