GraphQL Meter
A self-hosted performance test workbench for the GraphQL API supports schema parsing to generate pressure test configurations, real-time monitoring, result comparison and built-in GraphQL client verification.
Lazy cat OIDC login has been integrated. ##Functional characteristics - Schema-driven test configuration: Query / Mutation is automatically recognized after pasting a GraphQL Schema and a reusable test configuration is generated. - Dual-engine pressure test execution: The same test configuration can be switched between Locust and k6, making it easy to compare results between different engines. - Real-time operation monitoring: View throughput, error rates, P50/P90/P95/P99 latency and real-time data broken down by operation during test runs. - Historical results comparison and trend analysis: Compare any two pressure test results and track performance drift under different versions or environments. - Environment and authentication modeling: Save GraphQL addresses, TLS/mTLS, certificates, custom request headers, and authentication providers for different target environments. - Built-in GraphQL Client: Verify whether queries, variables, request headers and authentication are available before pressure testing to reduce blind running. ###First use process 1. After entering the application, use lazy cat OIDC to log in. 2. After logging in successfully, enter `Dashboard`. The current version will automatically initialize the SQLite database and preset a `Self Load Test` pressure test configuration. 3. When you enter the 'Environments' page, you can see three example environments: 'local,' production 'and' staging 'by default. It is recommended to use these examples as template references first, and then add or edit environments according to your own GraphQL service address. 4. If the target API requires authentication, go to the Auth Providers page. The page is initially empty. After clicking on the top '+ New Provider', you can select six types of providers: Bearer Token, Basic Auth, API Key, OAuth2Client Credentials, OAuth2Password, and Custom JWT. 5. Enter the Test Configs page, first open the built-in Self Load Test understanding wizard structure: Schema & Params → Operations → Review & Run. Get familiar with it before creating your own business configuration. 6. Before formal pressure testing, use the 'GraphQL Client' page to verify whether the target address, query statement and authentication return results normally. To verify the in-box self-test interface, use 'http://127.0.0.1:8899/api/graphql-health/graphql' first, and do not directly fill in the public network domain name. ###Daily usage 1. Observe the recent operation overview, system status and pressure measurement entry in the Dashboard. 2. Maintain test templates for different services or versions in Test Configs. The current editing experience is to first fill in `Host URL / GraphQL Path / Users / Ramp-up / Duration / Schema`, and then click `Parse Schema →` to enter the operation allocation page. 3. Adjust the traffic proportion of each operation in the Operations step, confirm that Total: 100.0% and then click Review →, and select Locust (Python) or k6 (Go) in Review & Run. 4. Click `Save & Start Test` when performing pressure testing, and go to `Test Run` while running to view the two partitions of `Users`,`RPS`,`Total Requests`,`Failures`,`Error Rate`, and `Per-Operation Stats` / `Errors`. 5. After the pressure test is over, switch the Completed status filter in Test History first, and then view the completed records; Running only displays the tasks in progress. 6. If you need to troubleshoot authentication or query problems, go back to GraphQL Client to perform the query separately to confirm that it is not a problem with the target API, local network, or the certificate chain itself.


