(2) Grafana Dashboards







Overview

Grafana dashboards are one of the main tools in the performance tester toolbox. The dashboards have graphs that plot the data from the performance test runs. These graphs range from JMeter's data to the CPU/memory data on individual FOLIO nodes. There are also custom Okapi metrics data that give insights into how much time it takes to call any module from Okapi's perspectives. Here are all the dashboards:

  • JMeter Performance - provides JMeter stats that include response/request rates, API response times.
  • FOLIO Resources Utilization - provides key performance indicators  (KPIs) of the individual FOLIO nodes
  • Performance Comparison - allows API response times from one test run to be compared with another quickly. 
  • Telegraf metrics - shows the performance of the Perfmeter load generator, helpful to track the load generator's performance itself.
  • Java Profiling Folio and Stack Trace - The Java Profiling dashboard shows the slowest method calls when modules are profiled and the Stack Trace dashboard provides the stack stack trace of the slowest method calls.
  • Custom dashboards - Workflow-specific dashboards to analyze bottlenecks. The data from these dashboards are obtained from Okapi's custom metrics
    • RTAC - Displays data from Okapi's custom metrics of API calls that are relevant in the RTAC workflow
    • Checkin-Checkout - Visualize data from Okapi's custom metrics of API calls that are relevant in the Check-in-check-out workflow

These dashboards are conveniently found in each team's Rancher area. This way teams don't have to navigate among other teams' test results to find their particular test results. Here is where they can be found. Note the highlighted boxes. 

URL

The URL of these dashboards contain the Linux timestamps of the interval of which we want to get the graphs. For example, the JMeter Performance dashboard has the following:

/grafana/d/q69rYQlik/jmeter-performance?orgId=1&from=1611828392141&to=1611830459218&var-percentile=95&var-test_type=baseline&var-test=PostCirculationCheck&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=700&var-db_name=jmeter&var-sampler_type=All

Note the query string parameters from and to.  These are the Linux timestamps that you want to view.  When running tests, note the time that the test was executed and convert it to Linux timestamp so that you can find the data using the timestamps on the dashboards. Alternatively after each test run you could navigate using the last 30 minutes or 60 minutes option on this dashboard and find the test run's data in the time frame that matches your expectation, record the entire URL or the timestamps so that in the future you could go back to find a particular test result.