{"adoption": {"forks": 328, "observed_at": "2026-08-28T04:06:29.358774+00:00", "stars": 2235}, "canonical_url": "https://ross.abutalabs.com/products/p6spy", "card": {"archived": false, "artifact_type": "library", "description": "P6Spy is a framework that enables database data to be seamlessly intercepted and logged with no code changes to the application.", "domain": ["databases", "developer-tools", "backend"], "enriched": true, "function": ["logging", "database-driver", "middleware"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["p6spy/p6spy"], "name": "p6spy/p6spy", "platform": ["jvm"], "pushed_at": "2022-02-21T16:46:12+00:00", "repo": "p6spy/p6spy", "stars": 2235, "tags": ["jdbc", "sql-logging", "interception", "debugging"], "topics": ["p6spy", "java", "jdbc", "jdbc-logging", "logging"], "urls": [], "use_cases": ["log all SQL statements issued by a Java application", "debug slow JDBC queries without changing application code", "capture actual SQL with parameters sent to the database", "audit database transactions in existing Java apps", "wrap any JDBC driver to trace database calls"], "what_it_is": "P6Spy is a Java framework that intercepts and logs JDBC database traffic without any code changes to the application. It includes P6Log, which records all JDBC transactions for any Java application.", "when_to_avoid": ["you need a general-purpose application logging framework", "your project is not on the JVM", "you need actively developed tooling with frequent releases"], "when_to_choose": ["you need JDBC query logging with zero code changes", "you want to see the real SQL including bound parameter values", "you need a drop-in JDBC proxy driver for debugging or auditing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/p6spy", "repo": "p6spy/p6spy", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "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:06:29.358774+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.358774+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:44:20.273690+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "753bb6cadca960b0b82905e9ba3988567607168dafce44d0a41ae6f8c8726bdd", "fetched_at": "2026-08-28T04:06:29.358774+00:00", "kind": "readme", "missing": false, "url": "https://github.com/p6spy/p6spy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "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": 5727, "days_push": 1654, "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}}