Grafana dashboard panel is taking 5 to 8 seconds to load

I am using Grafana version 5.1.3 (commit: 087143285) ,InfluxDB shell version: 1.5.2 along with jmeter.

There are 13 panels. Panel is taking 5 to 8 seconds to load.
Below query is running for panel:(When I run the same query on db server it is running very fast )

SELECT mean(“startedThreads”) FROM “virtualUsers” WHERE time >= 1537865329564ms and time <= 1537867129564ms GROUP BY time(60s) fill(null);

EXPLAIN ANALYZE

execution_time: 157.341µs
planning_time: 626.44µs
total_time: 783.781µs
SELECT count(“responseTime”)/60 FROM “requestsRaw” WHERE time >= 1537865329564ms and time <= 1537867129564ms GROUP BY time(60s) fill(null)"
execution_time: 535.011µs
planning_time: 1.805892ms
total_time: 2.340903ms

Below is memory and cpu details.Influx db and Grafans are hosted on same server.

free -g
total used free shared buff/cache available
Mem: 15 3 11 0 1 12
Swap: 7 0 6

CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1

And as per my initial understanding grafana minimum memory requirement is 249MB.So memory is not problem for grafana.

Please guide me where to look for slowness of grafana panel.

How many data points does your queries return? Maybe there is one panel on the dashboard that has a query without a group by or very low group by and the dashboard time range is high so the query returns many thousands of data points which slow to render.

Can you check in chrome dev tools network tab, maybe one of the queries is really slow?

PANEL 1:

SELECT “maxActiveThreads” FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms
Records(Data points) returned: 3563
PANEL 2:

SELECT count(“responseTime”)/60 FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null)
Records(Data points) returned: 61
PANEL 3:

SELECT count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms
Records(Data points) returned: 1
PANEL 4:

SELECT 1 - sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms
Records(Data points) returned: 1
PANEL 5:

SELECT sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms
Records(Data points) returned: 1
PANEL 6:

SELECT mean(“startedThreads”) FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null);
Records(Data points) returned: 61
SELECT count(“responseTime”)/60 FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null))
Records(Data points) returned: 61
PANEL 7:

SELECT count(responseTime) as Count, mean(responseTime) as Avg, min(responseTime) as Min, median(responseTime) as Median, percentile(responseTime, 90) as “90%”,percentile(responseTime, 95) as “95%”,percentile(responseTime, 99) as “99%”, max(responseTime) as Max, (sum(errorCount)/count(responseTime)) as “Error Rate” FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY requestName
PANEL 8:

SELECT count(“responseTime”)/60 FROM “requestsRaw” WHERE “requestName” =~ /^OC_CreateReservation_BookNow$/ AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null);
PANEL 9:

SELECT sum(“errorCount”)/60 FROM “requestsRaw” WHERE “requestName” =~ /^OC_CreateReservation_BookNow$/ AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null);
PANEL 10:

SELECT 1 - sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms AND “requestName” =~ /^OC_CreateReservation_BookNow$/
PANEL 11:

SELECT count(“responseTime”) FROM “requestsRaw” WHERE “requestName” =~ /^OC_CreateReservation_BookNow$/ AND time >= 1536649249000ms and time <= 1536653149000ms
PANEL 12:

SELECT sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms AND “requestName” =~ /^OC_CreateReservation_BookNow$/"
PANEL 13:

SELECT mean(“responseTime”) FROM “requestsRaw” WHERE (“requestName” =~ /^OC_CreateReservation_BookNow$/) AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s), “requestName” fill(null);
SELECT percentile(“responseTime”, 90) FROM “requestsRaw” WHERE (“requestName” =~ /^OC_CreateReservation_BookNow$/) AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s), “requestName” fill(null);
SELECT percentile(“responseTime”, 95) FROM “requestsRaw” WHERE (“requestName” =~ /^OC_CreateReservation_BookNow$/) AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s), “requestName” fill(null);
SELECT percentile(“responseTime”, 99) FROM “requestsRaw” WHERE (“requestName” =~ /^OC_CreateReservation_BookNow$/) AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY “requestName”"

The first query returns a lot of points, maybe add a group by time?

All above queries are captured during time load between 2018-09-11 12:20:20 and 2018-09-11 13:37:20
Following is the plan and time consumed by the queries(The query which you mentioned) in 3 conditions.

1)Original Query

explain analyze SELECT “maxActiveThreads” FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms
EXPLAIN ANALYZE


.
└── select
├── execution_time: 14.366803ms
├── planning_time: 437.12µs
├── total_time: 14.803923ms
└── auxiliary_iterators
├── labels
│ └── statement: SELECT maxActiveThreads::integer FROM jmeter.autogen.virtualUsers
└── create_iterator
├── labels
│ ├── measurement: virtualUsers
│ └── shard_id: 197
├── cursors_ref: 0
├── cursors_aux: 1
├── cursors_cond: 0
├── float_blocks_decoded: 0
├── float_blocks_size_bytes: 0
├── integer_blocks_decoded: 4
├── integer_blocks_size_bytes: 5794
├── unsigned_blocks_decoded: 0
├── unsigned_blocks_size_bytes: 0
├── string_blocks_decoded: 0
├── string_blocks_size_bytes: 0
├── boolean_blocks_decoded: 0
├── boolean_blocks_size_bytes: 0
└── planning_time: 257.611µs

2)After addition of max aggregate function(This is the case where minimum time consumed)

explain analyze SELECT max(“maxActiveThreads”) FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms
EXPLAIN ANALYZE


.
└── select
├── execution_time: 894.526µs
├── planning_time: 548.903µs
├── total_time: 1.443429ms
└── field_iterators
├── labels
│ └── statement: SELECT max(maxActiveThreads::integer) FROM jmeter.autogen.virtualUsers
└── expression
├── labels
│ └── expr: max(maxActiveThreads::integer)
└── create_iterator
├── labels
│ ├── measurement: virtualUsers
│ └── shard_id: 197
├── cursors_ref: 1
├── cursors_aux: 0
├── cursors_cond: 0
├── float_blocks_decoded: 0
├── float_blocks_size_bytes: 0
├── integer_blocks_decoded: 4
├── integer_blocks_size_bytes: 5794
├── unsigned_blocks_decoded: 0
├── unsigned_blocks_size_bytes: 0
├── string_blocks_decoded: 0
├── string_blocks_size_bytes: 0
├── boolean_blocks_decoded: 0
├── boolean_blocks_size_bytes: 0
└── planning_time: 323.493µs

3)With max and group by clause

explain analyze SELECT max(“maxActiveThreads”) FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms group by time(60s) fill(null);
EXPLAIN ANALYZE


.
└── select
├── execution_time: 1.425046ms
├── planning_time: 602.446µs
├── total_time: 2.027492ms
└── field_iterators
├── labels
│ └── statement: SELECT max(maxActiveThreads::integer) FROM jmeter.autogen.virtualUsers GROUP BY time(1m)
└── expression
├── labels
│ └── expr: max(maxActiveThreads::integer)
└── create_iterator
├── labels
│ ├── measurement: virtualUsers
│ └── shard_id: 197
├── cursors_ref: 1
├── cursors_aux: 0
├── cursors_cond: 0
├── float_blocks_decoded: 0
├── float_blocks_size_bytes: 0
├── integer_blocks_decoded: 4
├── integer_blocks_size_bytes: 5794
├── unsigned_blocks_decoded: 0
├── unsigned_blocks_size_bytes: 0
├── string_blocks_decoded: 0
├── string_blocks_size_bytes: 0
├── boolean_blocks_decoded: 0
├── boolean_blocks_size_bytes: 0
└── planning_time: 346.906µs

But this panel does not take that much time to load.

Panel associated with below queries are taking time to load.
explain analyze SELECT count(responseTime) as Count, mean(responseTime) as Avg, min(responseTime) as Min, median(responseTime) as Median, percentile(responseTime, 90) as “90%”,percentile(responseTime, 95) as “95%”,percentile(responseTime, 99) as “99%”, max(responseTime) as Max, (sum(errorCount)/count(responseTime)) as “Error Rate” FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY requestName
EXPLAIN ANALYZE

.
└── select
├── execution_time: 147.608944ms
├── planning_time: 91.227027ms
├── total_time: 238.835971ms
└── field_iterators
├── labels
│ └── statement: SELECT count(responseTime::integer) AS Count, mean(responseTime::integer) AS Avg, min(responseTime::integer) AS Min, median(responseTime::integer) AS Median, percentile(responseTime::integer, 90) AS “90%”, percentile(responseTime::integer, 95) AS “95%”, percentile(responseTime::integer, 99) AS “99%”, max(responseTime::integer) AS Max, (sum(errorCount::integer) / count(responseTime::integer)) AS “Error Rate” FROM jmeter.autogen.requestsRaw GROUP BY requestName
├── expression
│ ├── labels
│ │ └── expr: count(responseTime::integer)
│ └── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 634824
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 13.408295ms
├── expression
│ ├── labels
│ │ └── expr: mean(responseTime::integer)
│ └── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 634824
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 13.982485ms
├── expression
│ ├── labels
│ │ └── expr: min(responseTime::integer)
│ └── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 634824
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 14.786293ms
├── expression
│ ├── labels
│ │ └── expr: median(responseTime::integer)
│ └── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 634824
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 10.788466ms
├── expression
│ ├── labels
│ │ └── expr: percentile(responseTime::integer, 90)
│ └── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 634824
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 10.032206ms
├── expression
│ ├── labels
│ │ └── expr: percentile(responseTime::integer, 95)
│ └── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 634824
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 8.474036ms
├── expression
│ ├── labels
│ │ └── expr: percentile(responseTime::integer, 99)
│ └── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 634824
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 4.653917ms
├── expression
│ ├── labels
│ │ └── expr: max(responseTime::integer)
│ └── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 634824
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 4.72357ms
└── expression
├── labels
│ └── expr: (sum(errorCount::integer) / count(responseTime::integer))
├── create_iterator
│ ├── labels
│ │ ├── measurement: requestsRaw
│ │ └── shard_id: 197
│ ├── cursors_ref: 125
│ ├── cursors_aux: 0
│ ├── cursors_cond: 0
│ ├── float_blocks_decoded: 0
│ ├── float_blocks_size_bytes: 0
│ ├── integer_blocks_decoded: 112
│ ├── integer_blocks_size_bytes: 539466
│ ├── unsigned_blocks_decoded: 0
│ ├── unsigned_blocks_size_bytes: 0
│ ├── string_blocks_decoded: 0
│ ├── string_blocks_size_bytes: 0
│ ├── boolean_blocks_decoded: 0
│ ├── boolean_blocks_size_bytes: 0
│ └── planning_time: 4.828439ms
└── create_iterator
├── labels
│ ├── measurement: requestsRaw
│ └── shard_id: 197
├── cursors_ref: 125
├── cursors_aux: 0
├── cursors_cond: 0
├── float_blocks_decoded: 0
├── float_blocks_size_bytes: 0
├── integer_blocks_decoded: 112
├── integer_blocks_size_bytes: 634824
├── unsigned_blocks_decoded: 0
├── unsigned_blocks_size_bytes: 0
├── string_blocks_decoded: 0
├── string_blocks_size_bytes: 0
├── boolean_blocks_decoded: 0
├── boolean_blocks_size_bytes: 0
└── planning_time: 4.708264ms

As per developer tools NetworkDEV_Tool_Network

Below queries is in top on the basis of time sorting in descending order:

SELECT sum(“errorCount”)/60 FROM “requestsRaw” WHERE “requestName” =~ /^OC_CreateReservation_BookNow$/ AND time >= 1536648620000ms and time <= 1536653240000ms GROUP BY time(60s) fill(null)

explain analyze SELECT sum(“errorCount”)/60 FROM “requestsRaw” WHERE “requestName” =~ /^OC_CreateReservation_BookNow$/ AND time >= 1536648620000ms and time <= 1536653240000ms GROUP BY time(60s) fill(null)
EXPLAIN ANALYZE


.
└── select
├── execution_time: 638.324µs
├── planning_time: 592.303µs
├── total_time: 1.230627ms
└── field_iterators
├── labels
│ └── statement: SELECT sum(errorCount::integer) / 60 FROM jmeter.autogen.requestsRaw WHERE requestName::tag = ‘OC_CreateReservation_BookNow’ GROUP BY time(1m)
└── expression
├── labels
│ └── expr: sum(errorCount::integer) / 60
└── create_iterator
├── labels
│ ├── cond: requestName::tag = ‘OC_CreateReservation_BookNow’
│ ├── measurement: requestsRaw
│ └── shard_id: 197
├── cursors_ref: 1
├── cursors_aux: 0
├── cursors_cond: 0
├── float_blocks_decoded: 0
├── float_blocks_size_bytes: 0
├── integer_blocks_decoded: 1
├── integer_blocks_size_bytes: 4065
├── unsigned_blocks_decoded: 0
├── unsigned_blocks_size_bytes: 0
├── string_blocks_decoded: 0
├── string_blocks_size_bytes: 0
├── boolean_blocks_decoded: 0
├── boolean_blocks_size_bytes: 0
└── planning_time: 246.001µs

Above query is Network top consuming query from developer tools and whose screenshot has been shared above the query.

Below is overall performance graph from developer tools:
OverAll_Panel_Performance_by_DevTools

Below is even log from dev tools.
EventLog_DevTool

Hi Torkel,

I have added griup by clause ,Still it is slow.Can you please look into the Screenshot which I shared with you.I think there is some issue with some angular JS.

Thanks for your wonderful support.
Vimal

you queries must be returning too much data, add group by time($__interval)

1 Like

I already added max function and time reduces from 14.8 sec to 1.44 Sec and if i add group by time(60s) then it used to take 2.02 Second.Please see below execution and total time for all the three condition.
If you see screen shot which I have added through developer tools,it shows there is rendering is 9868.1ms and event log shows angular.js is taking major amount of time.
SELECT “maxActiveThreads” FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms

├── execution_time: 14.366803ms
├── planning_time: 437.12µs
├── total_time: 14.803923ms

SELECT max(“maxActiveThreads”) FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms

├── execution_time: 894.526µs
├── planning_time: 548.903µs
├── total_time: 1.443429ms

SELECT max(“maxActiveThreads”) FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms group by time(60s) fill(null);
├── execution_time: 1.425046ms
├── planning_time: 602.446µs
├── total_time: 2.027492ms

so thats great.

Is this a single refresh of one panel? What are your panel options, how many data points and series does your query return? Usually a rendering takes 100ms

No this is not not single refresh of one panel.This is complete refresh of dash board.which include 13 panels.
Below is all panel queries and data points return by them.
I am assuming you mean data points mean number of records(rows) returned.
What do you mean by Series.

PANEL 1:

SELECT max(“maxActiveThreads”) FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms ;
Records(Data points) returned: 1

PANEL 2:

SELECT count(“responseTime”)/60 FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null)
Records(Data points) returned: 61

PANEL 3:

SELECT count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms
Records(Data points) returned: 1

PANEL 4:

SELECT 1 - sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms
Records(Data points) returned: 1

PANEL 5:

SELECT sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms
Records(Data points) returned: 1
PANEL 6:

SELECT mean(“startedThreads”) FROM “virtualUsers” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null);
Records(Data points) returned: 61
SELECT count(“responseTime”)/60 FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null))
Records(Data points) returned: 61

PANEL 7:

SELECT count(responseTime) as Count, mean(responseTime) as Avg, min(responseTime) as Min, median(responseTime) as Median, percentile(responseTime, 90) as “90%”,percentile(responseTime, 95) as “95%”,percentile(responseTime, 99) as “99%”, max(responseTime) as Max, (sum(errorCount)/count(responseTime)) as “Error Rate” FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms GROUP BY requestName

Records(Data points) returned: 104

PANEL 8:

SELECT count(“responseTime”)/60 FROM “requestsRaw” WHERE “requestName” =~ /^OC_CreateReservation_BookNow$/ AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null);
Records(Data points) returned: 66

PANEL 9:

SELECT sum(“errorCount”)/60 FROM “requestsRaw” WHERE “requestName” =~ /^OC_CreateReservation_BookNow$/ AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s) fill(null);
Records(Data points) returned: 66

PANEL 10:

SELECT 1 - sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms AND “requestName” =~ /^OC_CreateReservation_BookNow$/
Records(Data points) returned: 1

PANEL 11:

SELECT count(“responseTime”) FROM “requestsRaw” WHERE “requestName” =~ /^OC_CreateReservation_BookNow$/ AND time >= 1536649249000ms and time <= 1536653149000ms
Records(Data points) returned: 1

PANEL 12:

SELECT sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE time >= 1536649249000ms and time <= 1536653149000ms AND “requestName” =~ /^OC_CreateReservation_BookNow$/
Records(Data points) returned: 1

PANEL 13:

SELECT mean(“responseTime”) FROM “requestsRaw” WHERE (“requestName” =~ /^OC_CreateReservation_BookNow$/) AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s), “requestName” fill(null);
SELECT percentile(“responseTime”, 90) FROM “requestsRaw” WHERE (“requestName” =~ /^OC_CreateReservation_BookNow$/) AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s), “requestName” fill(null);
SELECT percentile(“responseTime”, 95) FROM “requestsRaw” WHERE (“requestName” =~ /^OC_CreateReservation_BookNow$/) AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY time(60s), “requestName” fill(null);
SELECT percentile(“responseTime”, 99) FROM “requestsRaw” WHERE (“requestName” =~ /^OC_CreateReservation_BookNow$/) AND time >= 1536649249000ms and time <= 1536653149000ms GROUP BY “requestName”"

Records(Data points) returned: 66

Further to this below code is taking time from angular.js. Mainly timeoutId = setTimeout(functi**on().

self.defer = function(fn, delay) {
var timeoutId;
outstandingRequestCount++;
timeoutId = setTimeout(function() {
delete pendingDeferIds[timeoutId];
completeOutstandingRequest(fn);
}, delay || 0);
pendingDeferIds[timeoutId] = true;
return timeoutId;
};

Strange, what panels do you have?

13 graph panels render in under 800ms, can you do a performance recording (then hit time Picker refresh, the stop recording, and view chrome perf flame graph)

That angular is taking time looks to be an illusion, it’s waiting for network requests to complete

Sorry for the delay response.Here it was holiday.I am just attaching the 13 panel JSON for your reference.Again thanks for your support otherwise it is really difficult to move in correct direction.
I am sharing JSON script for all panels.
Panel 1
{
“cacheTimeout”: null,
“colorBackground”: false,
“colorValue”: false,
“colors”: [
“rgba(50, 172, 45, 0.97)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(245, 54, 54, 0.9)”
],
“datasource”: “Jmeter”,
“editable”: true,
“error”: false,
“format”: “none”,
“gauge”: {
“maxValue”: 100,
“minValue”: 0,
“show”: false,
“thresholdLabels”: false,
“thresholdMarkers”: true
},
“gridPos”: {
“h”: 3,
“w”: 5,
“x”: 0,
“y”: 2
},
“height”: “120”,
“id”: 14,
“interval”: null,
“links”: [],
“mappingType”: 1,
“mappingTypes”: [
{
“name”: “value to text”,
“value”: 1
},
{
“name”: “range to text”,
“value”: 2
}
],
“maxDataPoints”: 100,
“nullPointMode”: “connected”,
“nullText”: null,
“postfix”: “”,
“postfixFontSize”: “50%”,
“prefix”: “”,
“prefixFontSize”: “50%”,
“rangeMaps”: [
{
“from”: “null”,
“text”: “N/A”,
“to”: “null”
}
],
“sparkline”: {
“fillColor”: “rgba(31, 118, 189, 0.18)”,
“full”: false,
“lineColor”: “rgb(31, 120, 193)”,
“show”: false
},
“tableColumn”: “nodeName”,
“targets”: [
{
“dsType”: “influxdb”,
“groupBy”: [],
“hide”: false,
“measurement”: “virtualUsers”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT median(“maxActiveThreads”) FROM “virtualUsers” WHERE $timeFilter GROUP BY “nodeName””,
“rawQuery”: false,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“maxActiveThreads”
],
“type”: “field”
},
{
“params”: [],
“type”: “max”
}
]
],
“tags”: []
}
],
“thresholds”: “”,
“title”: “Active Users”,
“transparent”: true,
“type”: “singlestat”,
“valueFontSize”: “80%”,
“valueMaps”: [
{
“op”: “=”,
“text”: “N/A”,
“value”: “null”
}
],
“valueName”: “current”
}
Panel 2
{
“cacheTimeout”: null,
“colorBackground”: false,
“colorValue”: false,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(50, 172, 45, 0.97)”
],
“datasource”: “Jmeter”,
“decimals”: 1,
“editable”: true,
“error”: false,
“format”: “ops”,
“gauge”: {
“maxValue”: 100,
“minValue”: 0,
“show”: false,
“thresholdLabels”: false,
“thresholdMarkers”: true
},
“gridPos”: {
“h”: 3,
“w”: 4,
“x”: 5,
“y”: 2
},
“height”: “120”,
“id”: 17,
“interval”: null,
“links”: [],
“mappingType”: 1,
“mappingTypes”: [
{
“name”: “value to text”,
“value”: 1
},
{
“name”: “range to text”,
“value”: 2
}
],
“maxDataPoints”: 100,
“nullPointMode”: “connected”,
“nullText”: null,
“postfix”: “”,
“postfixFontSize”: “30%”,
“prefix”: “”,
“prefixFontSize”: “50%”,
“rangeMaps”: [
{
“from”: “null”,
“text”: “N/A”,
“to”: “null”
}
],
“sparkline”: {
“fillColor”: “rgba(31, 118, 189, 0.18)”,
“full”: false,
“lineColor”: “rgb(31, 120, 193)”,
“show”: false
},
“tableColumn”: “”,
“targets”: [
{
“dsType”: “influxdb”,
“groupBy”: [],
“measurement”: “virtualUsers”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT count(“responseTime”)/$aggregation FROM “requestsRaw” WHERE $timeFilter GROUP BY time([[aggregation]]s) fill(null)”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“finishedThreads”
],
“type”: “field”
}
]
],
“tags”: []
}
],
“thresholds”: “”,
“title”: “Overall Throughput”,
“transparent”: true,
“type”: “singlestat”,
“valueFontSize”: “80%”,
“valueMaps”: [
{
“op”: “=”,
“text”: “N/A”,
“value”: “null”
}
],
“valueName”: “current”
}
Panel 3
{
“cacheTimeout”: null,
“colorBackground”: false,
“colorValue”: false,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(50, 172, 45, 0.97)”
],
“datasource”: “Jmeter”,
“decimals”: 0,
“editable”: true,
“error”: false,
“format”: “none”,
“gauge”: {
“maxValue”: 100,
“minValue”: 0,
“show”: false,
“thresholdLabels”: false,
“thresholdMarkers”: true
},
“gridPos”: {
“h”: 3,
“w”: 5,
“x”: 10,
“y”: 2
},
“height”: “120”,
“id”: 20,
“interval”: null,
“links”: [],
“mappingType”: 1,
“mappingTypes”: [
{
“name”: “value to text”,
“value”: 1
},
{
“name”: “range to text”,
“value”: 2
}
],
“maxDataPoints”: 100,
“nullPointMode”: “connected”,
“nullText”: null,
“postfix”: “”,
“postfixFontSize”: “30%”,
“prefix”: “”,
“prefixFontSize”: “50%”,
“rangeMaps”: [
{
“from”: “null”,
“text”: “N/A”,
“to”: “null”
}
],
“sparkline”: {
“fillColor”: “rgba(31, 118, 189, 0.18)”,
“full”: false,
“lineColor”: “rgb(31, 120, 193)”,
“show”: false
},
“tableColumn”: “”,
“targets”: [
{
“dsType”: “influxdb”,
“groupBy”: [],
“measurement”: “virtualUsers”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT count(“responseTime”) FROM “requestsRaw” WHERE $timeFilter”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“finishedThreads”
],
“type”: “field”
}
]
],
“tags”: []
}
],
“thresholds”: “”,
“title”: “Request Count”,
“transparent”: true,
“type”: “singlestat”,
“valueFontSize”: “80%”,
“valueMaps”: [
{
“op”: “=”,
“text”: “N/A”,
“value”: “null”
}
],
“valueName”: “current”
}

Panel 4

{
“cacheTimeout”: null,
“colorBackground”: false,
“colorValue”: false,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(50, 172, 45, 0.97)”
],
“datasource”: “Jmeter”,
“decimals”: 1,
“editable”: true,
“error”: false,
“format”: “percentunit”,
“gauge”: {
“maxValue”: 1,
“minValue”: null,
“show”: true,
“thresholdLabels”: false,
“thresholdMarkers”: true
},
“gridPos”: {
“h”: 3,
“w”: 3,
“x”: 16,
“y”: 2
},
“height”: “180”,
“id”: 18,
“interval”: null,
“links”: [],
“mappingType”: 1,
“mappingTypes”: [
{
“name”: “value to text”,
“value”: 1
},
{
“name”: “range to text”,
“value”: 2
}
],
“maxDataPoints”: 100,
“nullPointMode”: “connected”,
“nullText”: null,
“postfix”: “”,
“postfixFontSize”: “30%”,
“prefix”: “”,
“prefixFontSize”: “50%”,
“rangeMaps”: [
{
“from”: “null”,
“text”: “N/A”,
“to”: “null”
}
],
“sparkline”: {
“fillColor”: “rgba(31, 118, 189, 0.18)”,
“full”: false,
“lineColor”: “rgb(31, 120, 193)”,
“show”: false
},
“tableColumn”: “”,
“targets”: [
{
“dsType”: “influxdb”,
“groupBy”: [],
“measurement”: “virtualUsers”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT 1 - sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE $timeFilter”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“finishedThreads”
],
“type”: “field”
}
]
],
“tags”: []
}
],
“thresholds”: “-1,-1”,
“title”: “Success Rate”,
“transparent”: true,
“type”: “singlestat”,
“valueFontSize”: “80%”,
“valueMaps”: [
{
“op”: “=”,
“text”: “N/A”,
“value”: “null”
}
],
“valueName”: “current”
}

Panel 5
{
“cacheTimeout”: null,
“colorBackground”: false,
“colorValue”: false,
“colors”: [
“rgb(109, 109, 109)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(126, 0, 0, 0.9)”
],
“datasource”: “Jmeter”,
“decimals”: 2,
“editable”: true,
“error”: false,
“format”: “percentunit”,
“gauge”: {
“maxValue”: 1,
“minValue”: null,
“show”: true,
“thresholdLabels”: false,
“thresholdMarkers”: true
},
“gridPos”: {
“h”: 3,
“w”: 3,
“x”: 20,
“y”: 2
},
“height”: “180”,
“id”: 21,
“interval”: null,
“links”: [],
“mappingType”: 1,
“mappingTypes”: [
{
“name”: “value to text”,
“value”: 1
},
{
“name”: “range to text”,
“value”: 2
}
],
“maxDataPoints”: 100,
“nullPointMode”: “connected”,
“nullText”: null,
“postfix”: “”,
“postfixFontSize”: “30%”,
“prefix”: “”,
“prefixFontSize”: “50%”,
“rangeMaps”: [
{
“from”: “null”,
“text”: “N/A”,
“to”: “null”
}
],
“sparkline”: {
“fillColor”: “rgba(31, 118, 189, 0.18)”,
“full”: false,
“lineColor”: “rgb(31, 120, 193)”,
“show”: false
},
“tableColumn”: “”,
“targets”: [
{
“dsType”: “influxdb”,
“groupBy”: [],
“measurement”: “virtualUsers”,
“policy”: “default”,
“query”: “SELECT sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE $timeFilter”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“finishedThreads”
],
“type”: “field”
}
]
],
“tags”: []
}
],
“thresholds”: “0.01,0.1”,
“title”: “Error Rate”,
“transparent”: true,
“type”: “singlestat”,
“valueFontSize”: “80%”,
“valueMaps”: [
{
“op”: “=”,
“text”: “N/A”,
“value”: “null”
}
],
“valueName”: “current”
}

Panel 6
{
“aliasColors”: {},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “Jmeter”,
“editable”: true,
“error”: false,
“fill”: 1,
“grid”: {},
“gridPos”: {
“h”: 8,
“w”: 24,
“x”: 0,
“y”: 5
},
“height”: “300”,
“id”: 6,
“legend”: {
“avg”: false,
“current”: false,
“max”: false,
“min”: false,
“show”: true,
“total”: false,
“values”: false
},
“lines”: true,
“linewidth”: 1,
“links”: [],
“nullPointMode”: “null”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“seriesOverrides”: [
{
“alias”: “Throughput”,
“yaxis”: 2
}
],
“spaceLength”: 10,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“alias”: “Num Users”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“10s”
],
“type”: “time”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“hide”: false,
“measurement”: “virtualUsers”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT mean(“startedThreads”) FROM “virtualUsers” WHERE $timeFilter GROUP BY time([[aggregation]]s) fill(null)”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“startedThreads”
],
“type”: “field”
},
{
“params”: [],
“type”: “mean”
}
]
],
“tags”: []
},
{
“alias”: “Throughput”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“10s”
],
“type”: “time”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“hide”: false,
“measurement”: “requestsRaw”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT count(“responseTime”)/$aggregation FROM “requestsRaw” WHERE $timeFilter GROUP BY time([[aggregation]]s) fill(null)”,
“rawQuery”: true,
“refId”: “B”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“responseTime”
],
“type”: “field”
},
{
“params”: [],
“type”: “count”
}
]
],
“tags”: []
}
],
“thresholds”: [],
“timeFrom”: null,
“timeShift”: null,
“title”: “Load”,
“tooltip”: {
“msResolution”: false,
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“type”: “graph”,
“xaxis”: {
“buckets”: null,
“mode”: “time”,
“name”: null,
“show”: true,
“values”: []
},
“yaxes”: [
{
“format”: “short”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
},
{
“format”: “ops”,
“label”: “”,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
}
],
“yaxis”: {
“align”: false,
“alignLevel”: null
}
}

Panel 7
{
“columns”: [],
“datasource”: “Jmeter”,
“editable”: true,
“error”: false,
“fontSize”: “80%”,
“gridPos”: {
“h”: 8,
“w”: 24,
“x”: 0,
“y”: 13
},
“height”: “300”,
“id”: 9,
“links”: [],
“pageSize”: 10,
“scroll”: true,
“showHeader”: true,
“sort”: {
“col”: 0,
“desc”: false
},
“styles”: [
{
“dateFormat”: “YYYY-MM-DD HH:mm:ss”,
“pattern”: “Time”,
“type”: “date”
},
{
“colorMode”: “cell”,
“colors”: [
“rgba(0, 0, 0, 0)”,
“rgba(183, 84, 26, 0.89)”,
“rgba(245, 54, 54, 0.9)”
],
“decimals”: 2,
“pattern”: “Error Rate”,
“thresholds”: [
“0.00000001”,
“0.01”
],
“type”: “number”,
“unit”: “percentunit”
},
{
“colorMode”: null,
“colors”: [
“rgba(50, 172, 45, 0.97)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(245, 54, 54, 0.9)”
],
“dateFormat”: “YYYY-MM-DD HH:mm:ss”,
“decimals”: 2,
“pattern”: “/.*/”,
“thresholds”: [
“0.01”,
“0.05”
],
“type”: “number”,
“unit”: “short”
}
],
“targets”: [
{
“alias”: “”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“$interval”
],
“type”: “time”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“hide”: false,
“measurement”: “requests”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT count(responseTime) as Count, mean(responseTime) as Avg, min(responseTime) as Min, median(responseTime) as Median, percentile(responseTime, 90) as “90%”,percentile(responseTime, 95) as “95%”,percentile(responseTime, 99) as “99%”, max(responseTime) as Max, (sum(errorCount)/count(responseTime)) as “Error Rate” FROM “requestsRaw” WHERE $timeFilter GROUP BY requestName”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “table”,
“select”: [
[
{
“params”: [
“value”
],
“type”: “field”
},
{
“params”: [],
“type”: “mean”
}
]
],
“tags”: []
}
],
“timeFrom”: null,
“title”: “Metrics Overview”,
“transform”: “table”,
“transparent”: false,
“type”: “table”
}

Panel 8
{
“aliasColors”: {},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “Jmeter”,
“editable”: true,
“error”: false,
“fill”: 1,
“grid”: {},
“gridPos”: {
“h”: 8,
“w”: 24,
“x”: 0,
“y”: 24
},
“height”: “300px”,
“id”: 7,
“legend”: {
“alignAsTable”: true,
“avg”: true,
“current”: true,
“max”: true,
“min”: true,
“show”: true,
“total”: false,
“values”: true
},
“lines”: true,
“linewidth”: 1,
“links”: [],
“nullPointMode”: “connected”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“repeat”: “request”,
“repeatDirection”: “h”,
“seriesOverrides”: [],
“spaceLength”: 10,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“alias”: “Throughput”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“10s”
],
“type”: “time”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“measurement”: “requestsRaw”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT count(“responseTime”)/$aggregation FROM “requestsRaw” WHERE “requestName” =~ /^request/ AND $timeFilter GROUP BY time([[aggregation]]s) fill(null)”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“responseTime”
],
“type”: “field”
},
{
“params”: [],
“type”: “count”
}
]
],
“tags”: [
{
“key”: “requestName”,
“operator”: “=~”,
“value”: “/^request/”
}
]
}
],
“thresholds”: [],
“timeFrom”: null,
“timeShift”: null,
“title”: “Throughput”,
“tooltip”: {
“msResolution”: false,
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“transparent”: false,
“type”: “graph”,
“xaxis”: {
“buckets”: null,
“mode”: “time”,
“name”: null,
“show”: true,
“values”: []
},
“yaxes”: [
{
“format”: “ops”,
“label”: “”,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
},
{
“format”: “short”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
}
],
“yaxis”: {
“align”: false,
“alignLevel”: null
},
“scopedVars”: {
“request”: {
“text”: “OC_CreateReservation_BookNow”,
“value”: “OC_CreateReservation_BookNow”,
“selected”: true
}
}
}

Panel 9
{
“aliasColors”: {},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “Jmeter”,
“editable”: true,
“error”: false,
“fill”: 1,
“grid”: {},
“gridPos”: {
“h”: 11,
“w”: 12,
“x”: 0,
“y”: 32
},
“height”: “300”,
“id”: 11,
“legend”: {
“alignAsTable”: true,
“avg”: true,
“current”: true,
“max”: true,
“min”: true,
“show”: true,
“total”: false,
“values”: true
},
“lines”: true,
“linewidth”: 2,
“links”: [],
“nullPointMode”: “connected”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“seriesOverrides”: [],
“spaceLength”: 10,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“alias”: “Errors per Second”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“$aggregation”
],
“type”: “time”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“measurement”: “requestsRaw”,
“policy”: “default”,
“query”: “SELECT sum(“errorCount”)/$aggregation FROM “requestsRaw” WHERE “requestName” =~ /^request/ AND $timeFilter GROUP BY time([[aggregation]]s) fill(null)”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“errorCount”
],
“type”: “field”
},
{
“params”: [],
“type”: “mean”
}
]
],
“tags”: [
{
“key”: “requestName”,
“operator”: “=~”,
“value”: “/^request/”
}
]
}
],
“thresholds”: [],
“timeFrom”: null,
“timeShift”: null,
“title”: “Error Rate”,
“tooltip”: {
“msResolution”: false,
“shared”: true,
“sort”: 0,
“value_type”: “cumulative”
},
“type”: “graph”,
“xaxis”: {
“buckets”: null,
“mode”: “time”,
“name”: null,
“show”: true,
“values”: []
},
“yaxes”: [
{
“format”: “short”,
“label”: “errors / s”,
“logBase”: 1,
“max”: null,
“min”: “0”,
“show”: true
},
{
“format”: “short”,
“label”: “”,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
}
],
“yaxis”: {
“align”: false,
“alignLevel”: null
}
}

Panel 10
{
“cacheTimeout”: null,
“colorBackground”: false,
“colorValue”: false,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(61, 165, 30, 0.97)”
],
“datasource”: “Jmeter”,
“editable”: true,
“error”: false,
“format”: “percentunit”,
“gauge”: {
“maxValue”: 1,
“minValue”: 0,
“show”: true,
“thresholdLabels”: false,
“thresholdMarkers”: true
},
“gridPos”: {
“h”: 5,
“w”: 4,
“x”: 12,
“y”: 32
},
“height”: “180”,
“id”: 12,
“interval”: null,
“links”: [],
“mappingType”: 1,
“mappingTypes”: [
{
“name”: “value to text”,
“value”: 1
},
{
“name”: “range to text”,
“value”: 2
}
],
“maxDataPoints”: 100,
“nullPointMode”: “connected”,
“nullText”: null,
“postfix”: “”,
“postfixFontSize”: “50%”,
“prefix”: “”,
“prefixFontSize”: “50%”,
“rangeMaps”: [
{
“from”: “null”,
“text”: “N/A”,
“to”: “null”
}
],
“sparkline”: {
“fillColor”: “rgba(31, 118, 189, 0.18)”,
“full”: false,
“lineColor”: “rgb(31, 120, 193)”,
“show”: false
},
“tableColumn”: “”,
“targets”: [
{
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“$interval”
],
“type”: “time”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“measurement”: “requests”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT 1 - sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE $timeFilter AND “requestName” =~ /^request/”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“value”
],
“type”: “field”
},
{
“params”: [],
“type”: “mean”
}
]
],
“tags”: []
}
],
“thresholds”: “-1,-1”,
“title”: “Success Rate”,
“transparent”: true,
“type”: “singlestat”,
“valueFontSize”: “80%”,
“valueMaps”: [
{
“op”: “=”,
“text”: “N/A”,
“value”: “null”
}
],
“valueName”: “current”
}

Panel 11
{
“cacheTimeout”: null,
“colorBackground”: false,
“colorValue”: false,
“colors”: [
“rgba(245, 54, 54, 0.9)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(4, 106, 0, 0.97)”
],
“datasource”: “Jmeter”,
“editable”: true,
“error”: false,
“format”: “none”,
“gauge”: {
“maxValue”: 100,
“minValue”: 0,
“show”: false,
“thresholdLabels”: false,
“thresholdMarkers”: true
},
“gridPos”: {
“h”: 4,
“w”: 4,
“x”: 16,
“y”: 32
},
“height”: “160”,
“id”: 3,
“interval”: null,
“links”: [],
“mappingType”: 1,
“mappingTypes”: [
{
“name”: “value to text”,
“value”: 1
},
{
“name”: “range to text”,
“value”: 2
}
],
“maxDataPoints”: 100,
“nullPointMode”: “connected”,
“nullText”: null,
“postfix”: “”,
“postfixFontSize”: “50%”,
“prefix”: “”,
“prefixFontSize”: “50%”,
“rangeMaps”: [
{
“from”: “null”,
“text”: “N/A”,
“to”: “null”
}
],
“sparkline”: {
“fillColor”: “rgba(31, 118, 189, 0.18)”,
“full”: false,
“lineColor”: “rgb(31, 120, 193)”,
“show”: false
},
“tableColumn”: “”,
“targets”: [
{
“dsType”: “influxdb”,
“groupBy”: [],
“measurement”: “requestsRaw”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT count(“responseTime”) FROM “requestsRaw” WHERE “requestName” =~ /^request/ AND $timeFilter”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“responseTime”
],
“type”: “field”
},
{
“params”: [],
“type”: “count”
}
]
],
“tags”: [
{
“key”: “requestName”,
“operator”: “=~”,
“value”: “/^request/”
}
]
}
],
“thresholds”: “”,
“title”: “Request Count”,
“transparent”: true,
“type”: “singlestat”,
“valueFontSize”: “80%”,
“valueMaps”: [
{
“op”: “=”,
“text”: “N/A”,
“value”: “null”
}
],
“valueName”: “current”
}
Panel 12
{
“cacheTimeout”: null,
“colorBackground”: false,
“colorValue”: false,
“colors”: [
“rgb(100, 100, 100)”,
“rgba(237, 129, 40, 0.89)”,
“rgba(150, 20, 20, 0.9)”
],
“datasource”: “Jmeter”,
“decimals”: 2,
“editable”: true,
“error”: false,
“format”: “percentunit”,
“gauge”: {
“maxValue”: 1,
“minValue”: 0,
“show”: true,
“thresholdLabels”: false,
“thresholdMarkers”: true
},
“gridPos”: {
“h”: 5,
“w”: 4,
“x”: 20,
“y”: 32
},
“height”: “180”,
“id”: 5,
“interval”: null,
“links”: [],
“mappingType”: 1,
“mappingTypes”: [
{
“name”: “value to text”,
“value”: 1
},
{
“name”: “range to text”,
“value”: 2
}
],
“maxDataPoints”: 100,
“nullPointMode”: “connected”,
“nullText”: null,
“postfix”: “”,
“postfixFontSize”: “50%”,
“prefix”: “”,
“prefixFontSize”: “50%”,
“rangeMaps”: [
{
“from”: “null”,
“text”: “N/A”,
“to”: “null”
}
],
“sparkline”: {
“fillColor”: “rgba(31, 118, 189, 0.18)”,
“full”: false,
“lineColor”: “rgb(31, 120, 193)”,
“show”: false
},
“tableColumn”: “”,
“targets”: [
{
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“$interval”
],
“type”: “time”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“measurement”: “requests”,
“policy”: “default”,
“query”: “SELECT sum(“errorCount”)/count(“responseTime”) FROM “requestsRaw” WHERE $timeFilter AND “requestName” =~ /^request/”,
“rawQuery”: true,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“value”
],
“type”: “field”
},
{
“params”: [],
“type”: “mean”
}
]
],
“tags”: []
}
],
“thresholds”: “0.01,0.1”,
“title”: “Error Rate”,
“transparent”: true,
“type”: “singlestat”,
“valueFontSize”: “80%”,
“valueMaps”: [
{
“op”: “=”,
“text”: “N/A”,
“value”: “null”
}
],
“valueName”: “current”
}
Panel 13
{
“aliasColors”: {
“95 perc”: “#F9934E”,
“99 perc”: “#E24D42”,
“Max”: “#BF1B00
},
“bars”: false,
“dashLength”: 10,
“dashes”: false,
“datasource”: “Jmeter”,
“editable”: true,
“error”: false,
“fill”: 4,
“grid”: {},
“gridPos”: {
“h”: 6,
“w”: 24,
“x”: 0,
“y”: 43
},
“height”: “300”,
“id”: 1,
“legend”: {
“alignAsTable”: false,
“avg”: true,
“current”: false,
“hideEmpty”: false,
“hideZero”: false,
“max”: false,
“min”: false,
“show”: true,
“total”: false,
“values”: true
},
“lines”: true,
“linewidth”: 1,
“links”: [],
“minSpan”: null,
“nullPointMode”: “null”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“repeat”: “request”,
“repeatDirection”: “h”,
“seriesOverrides”: [
{
“alias”: “Mean”,
“zindex”: 3
},
{
“alias”: “90 perc”,
“zindex”: 2
},
{
“alias”: “95 perc”,
“zindex”: 1
},
{
“alias”: “99 perc”,
“zindex”: 0
},
{
“alias”: “Max”,
“zindex”: -1
}
],
“spaceLength”: 10,
“stack”: false,
“steppedLine”: false,
“targets”: [
{
“alias”: “Mean”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“[[aggregation]]s”
],
“type”: “time”
},
{
“params”: [
“requestName”
],
“type”: “tag”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“measurement”: “requestsRaw”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT “responseTime” FROM “requestsRaw” WHERE (“requestName” =~ /^request/) AND $timeFilter GROUP BY time([[aggregation]]s) fill(null)”,
“rawQuery”: false,
“refId”: “A”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“responseTime”
],
“type”: “field”
},
{
“params”: [],
“type”: “mean”
}
]
],
“tags”: [
{
“key”: “requestName”,
“operator”: “=~”,
“value”: “/^request/”
}
]
},
{
“alias”: “90 perc”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“[[aggregation]]s”
],
“type”: “time”
},
{
“params”: [
“requestName”
],
“type”: “tag”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“measurement”: “requestsRaw”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT percentile(“responseTime”, 90) FROM “requestsRaw” WHERE (“requestName” =~ /^request/) AND $timeFilter GROUP BY “requestName””,
“rawQuery”: false,
“refId”: “B”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“responseTime”
],
“type”: “field”
},
{
“params”: [
“90”
],
“type”: “percentile”
}
]
],
“tags”: [
{
“key”: “requestName”,
“operator”: “=~”,
“value”: “/^request/”
}
]
},
{
“alias”: “95 perc”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“[[aggregation]]s”
],
“type”: “time”
},
{
“params”: [
“requestName”
],
“type”: “tag”
},
{
“params”: [
“null”
],
“type”: “fill”
}
],
“measurement”: “requestsRaw”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT percentile(“responseTime”, 95) FROM “requestsRaw” WHERE “requestName” =~ /^request/ AND $timeFilter GROUP BY “requestName””,
“rawQuery”: false,
“refId”: “D”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“responseTime”
],
“type”: “field”
},
{
“params”: [
95
],
“type”: “percentile”
}
]
],
“tags”: [
{
“key”: “requestName”,
“operator”: “=~”,
“value”: “/^request/”
}
]
},
{
“alias”: “99 perc”,
“dsType”: “influxdb”,
“groupBy”: [
{
“params”: [
“requestName”
],
“type”: “tag”
}
],
“measurement”: “requestsRaw”,
“orderByTime”: “ASC”,
“policy”: “default”,
“query”: “SELECT percentile(“responseTime”, 99) FROM “requestsRaw” WHERE (“requestName” =~ /^request/) AND $timeFilter GROUP BY “requestName””,
“rawQuery”: false,
“refId”: “C”,
“resultFormat”: “time_series”,
“select”: [
[
{
“params”: [
“responseTime”
],
“type”: “field”
},
{
“params”: [
“99”
],
“type”: “percentile”
}
]
],
“tags”: [
{
“key”: “requestName”,
“operator”: “=~”,
“value”: “/^request/”
}
]
}
],
“thresholds”: [],
“timeFrom”: null,
“timeShift”: null,
“title”: “Response Times”,
“tooltip”: {
“msResolution”: true,
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“type”: “graph”,
“xaxis”: {
“buckets”: null,
“mode”: “time”,
“name”: null,
“show”: true,
“values”: []
},
“yaxes”: [
{
“format”: “ms”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
},
{
“format”: “short”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
}
],
“yaxis”: {
“align”: false,
“alignLevel”: null
},
“scopedVars”: {
“request”: {
“text”: “OC_CreateReservation_BookNow”,
“value”: “OC_CreateReservation_BookNow”,
“selected”: true
}
}
}

Please find above screenshot of audit report from dev tools.

Details of DOM and significant main thread work.

Hi Torkel,

you can check below video,Where I captured loading of panel .The Load panel almost taking 5 seconds to load.

Can you please guide me.I capture chrome flame for “LOAD” panel which is taking time.

I did this incagnito mode.