QueryIQ is a developer-friendly application designed to transform the process of analyzing and optimizing PostgreSQL databases. With its features, QueryIQ enables developers to gain valuable insights by creating data visualization dashboards based on database performance and query metrics.
Visit our website: query-iq.com!
Connecting Query IQ to user database to receive health & performance metrics:
User inputting an arbitrary query to receive query execution stats:
Easily manage your postgresQL connection, health, and performance metrics
Query IQ simplifies managing your Grafana instance by creating data sources, customizing dashboards, and imbedding graphs within the application. Users also have the option to remove their data sources and dashboards as needed.
- Queries with the Longest Running Queries
- Queries with the Highest Average Execution Time
- Queries with the Highest Memory Usage
- Row Counts per Table
- Index Scans by Table
- Total of Table Size and Index Size
- Cache-hit Ratio
- All databases connected to that server by size
- Open Connections
- Query plan by aggregated with actual time, rows, and width
- Sequence scan with actual time, rows, and width
- Planning time
- Execution time
Users are required to login with Google Oauth for authorization prior to using the application.
Privacy and security within QueryIQ is maintained through running in individual local server along with Grafana's local instance with authorization required. QueryIQ does not store any user data, most importantly including database connection information, usernames, and passwords. Data is maintained within Grafana's local instance with authorization required and access restricted by the client as needed.
➮ Go to the following link to download the latest version (10.0.1) of Grafana: https://grafana.com/docs/grafana/latest/setup-grafana/installation/
➮ Go to your grafana.ini configurations file and ensure you have the following configurations. Refer to the the link if you're having trouble locating the grafana.ini: https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/
allow_embedding = true
auth.anonymous
enabled = true
org_name = <<org name>>
org_role = Viewer
➮ Once you have Grafana installed, run the following command to start your Grafana local instance and ensure you've logged in successfully in the Grafana server
- On OSX,
brew services restart grafana
, or by running the Grafana binary
➮ For the PostgreSQL database you connect to, ensure pg_stat_statements is enabled. Refer to the link for further details: https://virtual-dba.com/blog/postgresql-performance-enabling-pg-stat-statements/
- Clone this repo
cd
into project directory- Run
npm install
- Run
npm run npm:fullInstall
to install packages nested within the project - Run
npm run serve:dev
to spin up the Next.js and Express server layers - Start Grafana (please see Prerequisites)
- Please read CONTRIBUTING.md for details on how to contribute.
Developed By | Github | |
---|---|---|
Connor Dillon | ||
Khaile Tran | ||
Johanna Cameron | ||
Dean Biscocho | ||
Alan Beck |
Please ⭐️ this project if you enjoy our tool, thank you so much!