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%