MaxInfo Plugin
MaxInfo Plugin
The maxinfo plugin is a special router plugin similar to the one used for implementing the server side component of the MaxAdmin interface. The plugin is designed to return data regarding the internals of MariaDB MaxScale, it provides an information schema approach to monitoring the internals of MariaDB MaxScale itself.
The plugin is capable of returning data in one of two ways, either as MySQL result sets or as JSON encoded data. The choice of which mechanism used to return the data is determined by the type of the request the router receives. If a MySQL command is received then the router will return the results as a MySQL result set, if an HTTP request is received then the data will be returned as a JSON document.
Configuration
The plugin is configured in the maxscale.cnf
configuration file in much
the same way as any other router service is configured; there must be a
service section in the configuration file and also listeners defined for
that service. The service does not however require any backend servers to be
associated with it, or any monitors.
The service entry should define the service name, the type as service and the router module to load. The specified user, with the password (plain or encrypted via maxpassword utility) is allowed to connect via MySQL protocol. Currently the user can connect to maxinfo from any remote IP and to localhost as well.
[MaxInfo] type=service router=maxinfo user=monitor password=my_secret
The listener section defines the protocol, port and other information needed to create a listener for the service. To listen on a port using the MySQL protocol a section as shown below should be added to the configuration file.
In this example we use a cleartext password my_secret
. For increased
security the password can be encrypted as explained
here.
[MaxInfo-Listener] type=listener service=MaxInfo protocol=MariaDBClient port=9003
To listen with the HTTP protocol and hence return JSON documents a section as shown below is required.
[MaxInfo-JSON-Listener] type=listener service=MaxInfo protocol=HTTPD port=8003
If both the MySQL and JSON responses are required then a single service can be configured with both types of listener.
As with any other listeners within MariaDB MaxScale the listeners can be bound to a particular interface by use of the address= parameter. This allows the access to the maxinfo data to be limited to the localhost by adding an address=localhost parameter in the configuration file.
[MaxInfo-Listener] type=listener service=MaxInfo protocol=MariaDBClient address=localhost port=9003
MySQL Interface to maxinfo
The maxinfo supports a small subset of SQL statements in addition to the MySQL status and ping requests. These may be used for simple monitoring of MariaDB MaxScale.
% mysqladmin -hmaxscale.mariadb.com -P9003 -umonitor -pmy_secret ping mysqld is alive % mysqladmin -hmaxscale.mariadb.com -P9003 -umonitor -pmy_secret status Uptime: 72 Threads: 1 Sessions: 11 %
The SQL command used to interact with maxinfo is the show command, a variety of show commands are available and will be described in the following sections.
Maxinfo also supports the FLUSH LOGS
, SET SERVER <name> <status>
and
CLEAR SERVER <name> <status>
commands. These behave the same as their
MaxAdmin counterpart.
Show variables
The show variables command will display a set of name and value pairs for a number of MariaDB MaxScale system variables.
mysql> show variables; +--------------------+-------------------------+ | Variable_name | Value | +--------------------+-------------------------+ | version | 1.0.6-unstable | | version_comment | MariaDB MaxScale | | basedir | /home/mriddoch/skygate2 | | MAXSCALE_VERSION | 1.0.6-unstable | | MAXSCALE_THREADS | 1 | | MAXSCALE_NBPOLLS | 3 | | MAXSCALE_POLLSLEEP | 1000 | | MAXSCALE_UPTIME | 223 | | MAXSCALE_SESSIONS | 11 | +--------------------+-------------------------+ 9 rows in set (0.02 sec) mysql>
The show variables command can also accept a limited like clause. This like clause must either be a literal string to match, a pattern starting with a %, a pattern ending with a % or a string with a % at both the start and the end.
mysql> show variables like 'version'; +---------------+----------------+ | Variable_name | Value | +---------------+----------------+ | version | 1.0.6-unstable | +---------------+----------------+ 1 row in set (0.02 sec) mysql> show variables like 'version%'; +-----------------+------------------+ | Variable_name | Value | +-----------------+------------------+ | version | 1.0.6-unstable | | version_comment | MariaDB MaxScale | +-----------------+------------------+ 2 rows in set (0.02 sec) mysql> show variables like '%comment'; +-----------------+------------------+ | Variable_name | Value | +-----------------+------------------+ | version_comment | MariaDB MaxScale | +-----------------+------------------+ 1 row in set (0.02 sec) mysql> show variables like '%ers%'; +------------------+------------------+ | Variable_name | Value | +------------------+------------------+ | version | 1.0.6-unstable | | version_comment | MariaDB MaxScale | | MAXSCALE_VERSION | 1.0.6-unstable | +------------------+------------------+ 3 rows in set (0.02 sec) mysql>
Show status
The show status command displays a set of status counters, as with show variables the show status command can be passed a simplified like clause to limit the values returned.
mysql> show status; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | Uptime | 156 | | Uptime_since_flush_status | 156 | | Threads_created | 1 | | Threads_running | 1 | | Threadpool_threads | 1 | | Threads_connected | 11 | | Connections | 11 | | Client_connections | 2 | | Backend_connections | 0 | | Listeners | 9 | | Zombie_connections | 0 | | Internal_descriptors | 2 | | Read_events | 22 | | Write_events | 24 | | Hangup_events | 0 | | Error_events | 0 | | Accept_events | 2 | | Event_queue_length | 1 | | Pending_events | 0 | | Max_event_queue_length | 1 | | Max_event_queue_time | 0 | | Max_event_execution_time | 0 | +---------------------------+-------+ 22 rows in set (0.02 sec) mysql>
Show services
The show services command will return a set of basic statistics regarding each of the configured services within MariaDB MaxScale.
mysql> show services; +----------------+----------------+--------------+----------------+ | Service Name | Router Module | No. Sessions | Total Sessions | +----------------+----------------+--------------+----------------+ | Test Service | readconnroute | 1 | 1 | | Split Service | readwritesplit | 1 | 1 | | Filter Service | readconnroute | 1 | 1 | | Named Service | readwritesplit | 1 | 1 | | QLA Service | readconnroute | 1 | 1 | | Debug Service | debugcli | 1 | 1 | | CLI | cli | 1 | 1 | | MaxInfo | maxinfo | 4 | 4 | +----------------+----------------+--------------+----------------+ 8 rows in set (0.02 sec) mysql>
The show services command does not accept a like clause and will ignore any like clause that is given.
Show listeners
The show listeners command will return a set of status information for every listener defined within the MariaDB MaxScale configuration file.
mysql> show listeners; +----------------+-----------------+-----------+------+---------+ | Service Name | Protocol Module | Address | Port | State | +----------------+-----------------+-----------+------+---------+ | Test Service | MariaDBClient | * | 4006 | Running | | Split Service | MariaDBClient | * | 4007 | Running | | Filter Service | MariaDBClient | * | 4008 | Running | | Named Service | MariaDBClient | * | 4010 | Running | | QLA Service | MariaDBClient | * | 4009 | Running | | Debug Service | telnetd | localhost | 4242 | Running | | CLI | maxscaled | localhost | 6603 | Running | | MaxInfo | MariaDBClient | * | 9003 | Running | | MaxInfo | HTTPD | * | 8003 | Running | +----------------+-----------------+-----------+------+---------+ 9 rows in set (0.02 sec) mysql>
The show listeners command will ignore any like clause passed to it.
Show sessions
The show sessions command returns information on every active session within MariaDB MaxScale. It will ignore any like clause passed to it.
mysql> show sessions; +-----------+---------------+----------------+---------------------------+ | Session | Client | Service | State | +-----------+---------------+----------------+---------------------------+ | 0x1a92a60 | 127.0.0.1 | MaxInfo | Session ready for routing | | 0x1a92100 | 80.240.130.35 | MaxInfo | Session ready for routing | | 0x1a76a00 | | MaxInfo | Listener Session | | 0x1a76020 | | MaxInfo | Listener Session | | 0x1a75d40 | | CLI | Listener Session | | 0x1a75220 | | Debug Service | Listener Session | | 0x1a774b0 | | QLA Service | Listener Session | | 0x1a78630 | | Named Service | Listener Session | | 0x1a60270 | | Filter Service | Listener Session | | 0x1a606f0 | | Split Service | Listener Session | | 0x19b0380 | | Test Service | Listener Session | +-----------+---------------+----------------+---------------------------+ 11 rows in set (0.02 sec) mysql>
Show clients
The show clients command reports a row for every client application
connected to MariaDB MaxScale. Like
clauses cannot be used in the show
clients command.
mysql> show clients; +-----------+---------------+---------+---------------------------+ | Session | Client | Service | State | +-----------+---------------+---------+---------------------------+ | 0x1a92a60 | 127.0.0.1 | MaxInfo | Session ready for routing | | 0x1a92100 | 80.240.130.35 | MaxInfo | Session ready for routing | +-----------+---------------+---------+---------------------------+ 2 rows in set (0.02 sec) mysql>
Show servers
The show servers command returns data for each backend server configured within the MariaDB MaxScale configuration file. This data includes the current number of connections MariaDB MaxScale has to that server and the state of that server as monitored by MariaDB MaxScale.
mysql> show servers; +---------+-----------+------+-------------+---------+ | Server | Address | Port | Connections | Status | +---------+-----------+------+-------------+---------+ | server1 | 127.0.0.1 | 3306 | 0 | Running | | server2 | 127.0.0.1 | 3307 | 0 | Down | | server3 | 127.0.0.1 | 3308 | 0 | Down | | server4 | 127.0.0.1 | 3309 | 0 | Down | +---------+-----------+------+-------------+---------+ 4 rows in set (0.02 sec) mysql>
Show modules
The show modules command reports the information on the modules currently loaded into MariaDB MaxScale. This includes the name type and version of each module. It also includes the API version the module has been written against and the current release status of the module.
mysql> show modules; +----------------+-------------+---------+-------------+----------------+ | Module Name | Module Type | Version | API Version | Status | +----------------+-------------+---------+-------------+----------------+ | HTTPD | Protocol | V1.0.1 | 1.0.0 | In Development | | maxscaled | Protocol | V1.0.0 | 1.0.0 | GA | | telnetd | Protocol | V1.0.1 | 1.0.0 | GA | | MariaDBClient | Protocol | V1.0.0 | 1.0.0 | GA | | mariadbmon | Monitor | V1.4.0 | 1.0.0 | GA | | readwritesplit | Router | V1.0.2 | 1.0.0 | GA | | readconnroute | Router | V1.1.0 | 1.0.0 | GA | | debugcli | Router | V1.1.1 | 1.0.0 | GA | | cli | Router | V1.0.0 | 1.0.0 | GA | | maxinfo | Router | V1.0.0 | 1.0.0 | Alpha | +----------------+-------------+---------+-------------+----------------+ 10 rows in set (0.02 sec) mysql>
Show monitors
The show monitors command reports each monitor configured within the system and the state of that monitor.
mysql> show monitors; +---------------+---------+ | Monitor | Status | +---------------+---------+ | MySQL Monitor | Running | +---------------+---------+ 1 row in set (0.02 sec) mysql>
Show eventTimes
The show eventTimes command returns a table of statistics that reflect the performance of the event queuing and execution portion of the MariaDB MaxScale core.
mysql> show eventTimes; +---------------+-------------------+---------------------+ | Duration | No. Events Queued | No. Events Executed | +---------------+-------------------+---------------------+ | < 100ms | 460 | 456 | | 100 - 200ms | 0 | 3 | | 200 - 300ms | 0 | 0 | | 300 - 400ms | 0 | 0 | | 400 - 500ms | 0 | 0 | | 500 - 600ms | 0 | 0 | | 600 - 700ms | 0 | 0 | | 700 - 800ms | 0 | 0 | | 800 - 900ms | 0 | 0 | | 900 - 1000ms | 0 | 0 | | 1000 - 1100ms | 0 | 0 | | 1100 - 1200ms | 0 | 0 | | 1200 - 1300ms | 0 | 0 | | 1300 - 1400ms | 0 | 0 | | 1400 - 1500ms | 0 | 0 | | 1500 - 1600ms | 0 | 0 | | 1600 - 1700ms | 0 | 0 | | 1700 - 1800ms | 0 | 0 | | 1800 - 1900ms | 0 | 0 | | 1900 - 2000ms | 0 | 0 | | 2000 - 2100ms | 0 | 0 | | 2100 - 2200ms | 0 | 0 | | 2200 - 2300ms | 0 | 0 | | 2300 - 2400ms | 0 | 0 | | 2400 - 2500ms | 0 | 0 | | 2500 - 2600ms | 0 | 0 | | 2600 - 2700ms | 0 | 0 | | 2700 - 2800ms | 0 | 0 | | 2800 - 2900ms | 0 | 0 | | > 3000ms | 0 | 0 | +---------------+-------------------+---------------------+ 30 rows in set (0.02 sec) mysql>
Each row represents a time interval, in 100ms increments, with the counts representing the number of events that were in the event queue for the length of time that row represents and the number of events that were executing at the time indicated by the row.
JSON Interface
The simplified JSON interface takes the URL of the request made to maxinfo and maps that to a show command in the above section.
Variables
The /variables URL will return the MariaDB MaxScale variables, these variables can not be filtered via this interface.
$ curl http://maxscale.mariadb.com:8003/variables [ { "Variable_name" : "version", "Value" : "1.0.6-unstable"}, { "Variable_name" : "version_comment", "Value" : "MariaDB MaxScale"}, { "Variable_name" : "basedir", "Value" : "/home/mriddoch/skygate2"}, { "Variable_name" : "MAXSCALE_VERSION", "Value" : "1.0.6-unstable"}, { "Variable_name" : "MAXSCALE_THREADS", "Value" : 1}, { "Variable_name" : "MAXSCALE_NBPOLLS", "Value" : 3}, { "Variable_name" : "MAXSCALE_POLLSLEEP", "Value" : 1000}, { "Variable_name" : "MAXSCALE_UPTIME", "Value" : 3948}, { "Variable_name" : "MAXSCALE_SESSIONS", "Value" : 12}] $
Status
Use of the /status URI will return the status information that would normally be returned by the show status command. No filtering of the status information is available via this interface
$ curl http://maxscale.mariadb.com:8003/status [ { "Variable_name" : "Uptime", "Value" : 3831}, { "Variable_name" : "Uptime_since_flush_status", "Value" : 3831}, { "Variable_name" : "Threads_created", "Value" : 1}, { "Variable_name" : "Threads_running", "Value" : 1}, { "Variable_name" : "Threadpool_threads", "Value" : 1}, { "Variable_name" : "Threads_connected", "Value" : 12}, { "Variable_name" : "Connections", "Value" : 12}, { "Variable_name" : "Client_connections", "Value" : 3}, { "Variable_name" : "Backend_connections", "Value" : 0}, { "Variable_name" : "Listeners", "Value" : 9}, { "Variable_name" : "Zombie_connections", "Value" : 0}, { "Variable_name" : "Internal_descriptors", "Value" : 3}, { "Variable_name" : "Read_events", "Value" : 469}, { "Variable_name" : "Write_events", "Value" : 479}, { "Variable_name" : "Hangup_events", "Value" : 12}, { "Variable_name" : "Error_events", "Value" : 0}, { "Variable_name" : "Accept_events", "Value" : 15}, { "Variable_name" : "Event_queue_length", "Value" : 1}, { "Variable_name" : "Pending_events", "Value" : 0}, { "Variable_name" : "Max_event_queue_length", "Value" : 1}, { "Variable_name" : "Max_event_queue_time", "Value" : 0}, { "Variable_name" : "Max_event_execution_time", "Value" : 1}] $
Services
The /services URI returns the data regarding the services defined within the configuration of MariaDB MaxScale. Two counters are returned, the current number of sessions attached to this service and the total number connected since the service started.
$ curl http://maxscale.mariadb.com:8003/services [ { "Service Name" : "Test Service", "Router Module" : "readconnroute", "No. Sessions" : 1, "Total Sessions" : 1}, { "Service Name" : "Split Service", "Router Module" : "readwritesplit", "No. Sessions" : 1, "Total Sessions" : 1}, { "Service Name" : "Filter Service", "Router Module" : "readconnroute", "No. Sessions" : 1, "Total Sessions" : 1}, { "Service Name" : "Named Service", "Router Module" : "readwritesplit", "No. Sessions" : 1, "Total Sessions" : 1}, { "Service Name" : "QLA Service", "Router Module" : "readconnroute", "No. Sessions" : 1, "Total Sessions" : 1}, { "Service Name" : "Debug Service", "Router Module" : "debugcli", "No. Sessions" : 1, "Total Sessions" : 1}, { "Service Name" : "CLI", "Router Module" : "cli", "No. Sessions" : 1, "Total Sessions" : 1}, { "Service Name" : "MaxInfo", "Router Module" : "maxinfo", "No. Sessions" : 5, "Total Sessions" : 20}] $
Listeners
The /listeners URI will return a JSON array with one entry per listener, each entry is a JSON object that describes the configuration and state of that listener.
$ curl http://maxscale.mariadb.com:8003/listeners [ { "Service Name" : "Test Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4006, "State" : "Running"}, { "Service Name" : "Split Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4007, "State" : "Running"}, { "Service Name" : "Filter Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4008, "State" : "Running"}, { "Service Name" : "Named Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4010, "State" : "Running"}, { "Service Name" : "QLA Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4009, "State" : "Running"}, { "Service Name" : "Debug Service", "Protocol Module" : "telnetd", "Address" : "localhost", "Port" : 4242, "State" : "Running"}, { "Service Name" : "CLI", "Protocol Module" : "maxscaled", "Address" : "localhost", "Port" : 6603, "State" : "Running"}, { "Service Name" : "MaxInfo", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 9003, "State" : "Running"}, { "Service Name" : "MaxInfo", "Protocol Module" : "HTTPD", "Address" : "*", "Port" : 8003, "State" : "Running"}] $
Modules
The /modules URI returns data for each plugin that has been loaded into MariaDB MaxScale. The plugin name, type and version are returned as is the version of the plugin API that the plugin was built against and the release status of the plugin.
$ curl http://maxscale.mariadb.com:8003/modules [ { "Module Name" : "HTTPD", "Module Type" : "Protocol", "Version" : "V1.2.0", "API Version" : "1.1.0", "Status" : "In Development"}, { "Module Name" : "maxscaled", "Module Type" : "Protocol", "Version" : "V2.0.0", "API Version" : "1.1.0", "Status" : "GA"}, { "Module Name" : "mariadbclient", "Module Type" : "Protocol", "Version" : "V1.1.0", "API Version" : "1.1.0", "Status" : "GA"}, { "Module Name" : "mariadbmon", "Module Type" : "Monitor", "Version" : "V1.5.0", "API Version" : "3.0.0", "Status" : "GA"}, { "Module Name" : "readwritesplit", "Module Type" : "Router", "Version" : "V1.1.0", "API Version" : "2.0.0", "Status" : "GA"}, { "Module Name" : "readconnroute", "Module Type" : "Router", "Version" : "V1.1.0", "API Version" : "2.0.0", "Status" : "GA"}, { "Module Name" : "cli", "Module Type" : "Router", "Version" : "V1.0.0", "API Version" : "2.0.0", "Status" : "GA"}, { "Module Name" : "maxinfo", "Module Type" : "Router", "Version" : "V1.0.0", "API Version" : "2.0.0", "Status" : "Alpha"}] $
Sessions
The /sessions URI returns a JSON array with an object for each active session within MariaDB MaxScale.
$ curl http://maxscale.mariadb.com:8003/sessions [ { "Session" : "0x1a8e9a0", "Client" : "80.176.79.245", "Service" : "MaxInfo", "State" : "Session ready for routing"}, { "Session" : "0x1a8e6d0", "Client" : "80.240.130.35", "Service" : "MaxInfo", "State" : "Session ready for routing"}, { "Session" : "0x1a8ddd0", "Client" : , "Service" : "MaxInfo", "State" : "Listener Session"}, { "Session" : "0x1a92da0", "Client" : , "Service" : "MaxInfo", "State" : "Listener Session"}, { "Session" : "0x1a92ac0", "Client" : , "Service" : "CLI", "State" : "Listener Session"}, { "Session" : "0x1a70e90", "Client" : , "Service" : "Debug Service", "State" : "Listener Session"}, { "Session" : "0x1a758d0", "Client" : , "Service" : "QLA Service", "State" : "Listener Session"}, { "Session" : "0x1a73a90", "Client" : , "Service" : "Named Service", "State" : "Listener Session"}, { "Session" : "0x1a5c0b0", "Client" : , "Service" : "Filter Service", "State" : "Listener Session"}, { "Session" : "0x1a5c530", "Client" : , "Service" : "Split Service", "State" : "Listener Session"}, { "Session" : "0x19ac1c0", "Client" : , "Service" : "Test Service", "State" : "Listener Session"}] $
Clients
The /clients URI is a limited version of the /sessions, in this case it only returns an entry for a session that represents a client connection.
$ curl http://maxscale.mariadb.com:8003/clients [ { "Session" : "0x1a90be0", "Client" : "80.176.79.245", "Service" : "MaxInfo", "State" : "Session ready for routing"}, { "Session" : "0x1a8e9a0", "Client" : "127.0.0.1", "Service" : "MaxInfo", "State" : "Session ready for routing"}, { "Session" : "0x1a8e6d0", "Client" : "80.240.130.35", "Service" : "MaxInfo", "State" : "Session ready for routing"}] $
Servers
The /servers URI is used to retrieve information for each of the servers defined within the MariaDB MaxScale configuration. This information includes the connection count and the current status as monitored by MariaDB MaxScale. The connection count is only those connections made by MariaDB MaxScale to those servers.
$ curl http://maxscale.mariadb.com:8003/servers [ { "Server" : "server1", "Address" : "127.0.0.1", "Port" : 3306, "Connections" : 0, "Status" : "Running"}, { "Server" : "server2", "Address" : "127.0.0.1", "Port" : 3307, "Connections" : 0, "Status" : "Down"}, { "Server" : "server3", "Address" : "127.0.0.1", "Port" : 3308, "Connections" : 0, "Status" : "Down"}, { "Server" : "server4", "Address" : "127.0.0.1", "Port" : 3309, "Connections" : 0, "Status" : "Down"}] $
Event Times
The /event/times URI returns an array of statistics that reflect the performance of the event queuing and execution portion of the MariaDB MaxScale core. Each element is an object that represents a time bucket, in 100ms increments, with the counts representing the number of events that were in the event queue for the length of time that row represents and the number of events that were executing of the time indicated by the object.
$ curl http://maxscale.mariadb.com:8003/event/times [ { "Duration" : "< 100ms", "No. Events Queued" : 64, "No. Events Executed" : 63}, { "Duration" : " 100 - 200ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : " 200 - 300ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : " 300 - 400ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : " 400 - 500ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : " 500 - 600ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : " 600 - 700ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : " 700 - 800ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : " 800 - 900ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : " 900 - 1000ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1000 - 1100ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1100 - 1200ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1200 - 1300ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1300 - 1400ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1400 - 1500ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1500 - 1600ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1600 - 1700ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1700 - 1800ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1800 - 1900ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "1900 - 2000ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2000 - 2100ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2100 - 2200ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2200 - 2300ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2300 - 2400ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2400 - 2500ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2500 - 2600ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2600 - 2700ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2700 - 2800ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "2800 - 2900ms", "No. Events Queued" : 0, "No. Events Executed" : 0}, { "Duration" : "> 3000ms", "No. Events Queued" : 0, "No. Events Executed" : 0}]