forge-recovery 580bf46e9d
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
Shared Java Maven CI with Docker / secrets (push) Successful in 13s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / secrets (push) Successful in 14s
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: native / native-result (push) Successful in 5s
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / verify (push) Successful in 1m0s
Shared Java Maven CI with Docker / verify (push) Successful in 1m17s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / gate (push) Successful in 17s
QRun-IO/ci-policy: ci / java-docker-3 (push) Successful in 36m39s
Shared Java Maven CI with Docker / gate (push) Successful in 15s
qrun-release / release (push) Successful in 36m54s
qrun-release / postpublish (push) Skipped
QRun-IO/ci-policy: ci / ci-result (push) Successful in 7s
ci: enroll shared Gitea lifecycle
2026-11-02 22:15:54 +00:00

QBit DB Performance

License Java

Database performance for QQQ apps: slow and expensive queries from pg_stat_statements with delta snapshots, table scan and index analysis, live activity and blocking chains, connection capacity, maintenance, QQQ query attribution with N+1 detection, and ranked suggestions, all as standard QQQ tables.

Status: design: docs/SPEC.md in this repository; implementation in progress. Nothing is published yet.

Requirements

  • Java 21.
  • QQQ 4.1 (built against 4.1.0-RC.10).

Install

Not yet published. Once released, add com.kingsrook.qbits:qbit-db-performance and produce the qbit into your QInstance:

new DbPerfQBitProducer()
   .withQBitConfig(new DbPerfQBitConfig().withBackendName("rdbms"))
   .produce(qInstance);

Naming

Tables are db_perf_<name> (lowercase snake_case, backend name equal to the table name). Permissions are db_perf.<action>.

Adopting in another app

Follow the QQQ adoption checklist once the first release is published.

Build

./mvnw verify

Always use the Maven wrapper (Maven 3.9.11); Maven 3.10 cannot read the parent POM.

License

Apache License 2.0. See LICENSE and NOTICE.

S
Description
QQQ QBit: database performance for QQQ apps (slow queries from pg_stat_statements, table and index analysis, live activity and blocking, QQQ query attribution and N+1 detection, ranked suggestions)
Readme
2.1 MiB
0 Stars 3 Watchers 0 Forks
Languages
Java 100%