Grid measurements can be fetched from REST API.
Support Functions
The base URI for grid measuremetns REST API is:
The support functions are:
URI |
Description |
Params |
/rest/grid/measurements/help |
Get help for all available functions |
NO PARAMS |
/rest/grid/measurements/version |
Get current version for the measurements related REST API |
NO PARAMS |
/rest/grid/measurements |
Query for the measurements you want |
- source - QUERY_PARAM
Specify the node you want to query. If not specifed, then all nodes will be used.
- period - QUERY_PARAM
Specify the time range you want to query. by default, period is LAST_HOUR, this param can be one of: LAST_HOUR, LAST_2_HOURS, LAST_4_HOURS, LAST_DAY, LAST_WEEK, LAST_MONTH
- start_time - QUERY_PARAM
Specify the start time you want to query. If not specified, then an hour ago of to_date will be used.
- end_time - QUERY_PARAM
Specify the end time you want to query. If not specified, then current time will be used.
- metric - QUERY_PARAM
Specify the metric name you want to query. See below section for all available metric names
- date_pattern - QUERY_PARAM
Specify the date pattern you are using for from_date and to_date. By default, ISO 8601 is used.
|
Below, we'd like to give some examples for how to query the measurements:
With no params
If you call below query, QuickBuild will return all measurements collected from all nodes in the last one hour.
Query for a specified node
Below query will return all measurements from myagent:8811 in the last one hour.
/rest/grid/measurements?source=myagent:8811
Query for a specified metric
Below query will return measurements of disk usage for all nodes in the last one hour.
/rest/grid/measurements?metric=disk.usage
Query for a specific time range
Below query returns all measurements for all nodes in the last 2 hours.
/rest/grid/measurements?period=LAST_2_HOURS
Below query returns all measurements for all nodes from time: 2013-02-25T09:47:00+08:00, note by default, you need format your time in ISO8601 format, that is, in pattern: yyyy-MM-dd'T'HH:mm:ss.SSSZ, we will give a custom date pattern in later sample.
/rest/grid/measurements?start_time=2013-02-25T09:47:00.000%2B08:00
Below query returns all measurements for all nodes in a specified time range with a custom date format pattern:
/rest/grid/measurements?start_time=2013/02/25+09:47&end_time=2013/02/27+09:47&date_pattern=yyyy/MM/dd+HH:mm
Example return result
For all query above, below is an example return result:
<list>
<com.pmease.quickbuild.model.MeasurementDataR00>
<id>350</id>
<timestamp>1361854800000</timestamp>
<source>Zhenyu-MBP.local:8811</source>
<metricName>memory.usage</metricName>
<value>0.743398666381836</value>
</com.pmease.quickbuild.model.MeasurementDataR00>
<com.pmease.quickbuild.model.MeasurementDataR00>
<id>335</id>
<timestamp>1361854800000</timestamp>
<source>Zhenyu-MBP.local:8810</source>
<metricName>web.rpc.oneMinuteRate</metricName>
<value>10.3903417298681</value>
</com.pmease.quickbuild.model.MeasurementDataR00>
<com.pmease.quickbuild.model.MeasurementDataR00>
<id>334</id>
<timestamp>1361854800000</timestamp>
<source>Zhenyu-MBP.local:8810</source>
<metricName>web.rpc.fiveMinuteRate</metricName>
<value>8.90793420070343</value>
</com.pmease.quickbuild.model.MeasurementDataR00>
</list>
Here, timestamp is the milliseconds in Java time (the time from midnight, January 1, 1970 UTC.), you can simply create your own Date instance by new Date(timestamp) in Java.
Available Measurement Metrics
Below table shows all available measurement metrics:
Virtual Machine
Metric Id |
Metric Name |
jvm.memoryUsage |
Virtual Machine :: Memory Usage |
jvm.heapUsage |
Virtual Machine :: Heap Usage |
jvm.gcRuns |
Virtual Machine :: GC Runs |
jvm.gcTime |
Virtual Machine :: GC Time |
jvm.threadCount |
Virtual Machine :: Thread Count |
CPU
Metric Id |
Metric Name |
cpu.totalUsage |
CPU :: Total Usage |
Physical Memory
Metric Id |
Metric Name |
memory.usage |
Physical Memory :: Memory Usage |
Network
Metric Id |
Metric Name |
network.txBytes |
Network :: txBytes |
network.rxBytes |
Network :: rxBytes |
Swap
Metric Id |
Metric Name |
swap.usage |
Swap :: Usage |
Resource
Metric Id |
Metric Name |
resources.percentage |
Resource :: Used% |
resources.frees |
Resource :: Frees |
resources.used |
Resource :: Used |
Build Requests
Metric Id |
Metric Name |
buildrequests.processingsTotal |
Build Requests :: Processings Total |
buildrequests.waitingsTotal |
Build Requests :: Waitings Total |
buildrequests.processedTotal |
Build Requests :: Processed Total |
buildrequests.processings |
Build Requests :: Processings on Node |
buildrequests.waitings |
Build Requests :: Waitings on Node |
Builds
Metric Id |
Metric Name |
builds.total |
Builds :: Total Builds |
builds.failed |
Builds :: Failed Builds |
builds.successfulRate |
Builds :: Successful Rate |
builds.averageDuration |
Builds :: Average Duration |
builds.averageWaitingDuration |
Builds :: Average Waiting Duration |
Steps
Metric Id |
Metric Name |
steps.runningsTotal |
Steps :: Runnings Total |
steps.waitingsTotal |
Steps :: Waitings Total |
steps.runnings |
Steps :: Runnings on Node |
Disk
Metric Id |
Metric Name |
disk.usage |
Disk :: Usage |
Database
Metric Id |
Metric Name |
db.numConnections |
Database :: Total Connections |
db.busyConnections |
Database :: Busy Connections |
Jetty
Metric Id |
Metric Name |
jetty.totalConnections |
Jetty :: Total Connections |
jetty.usedConnections |
Jetty :: Used Connections |
UI Visits
Metric Id |
Metric Name |
web.ui.oneMinuteRate |
UI Visits :: One-minute Rate |
web.ui.fiveMinuteRate |
UI Visits :: Five-minute Rate |
web.ui.fifteenMinuteRate |
UI Visits :: Fifteen-minute Rate |
web.ui.requests |
UI Visits :: Requests |
web.ui.averageDuration |
UI Visits :: Average Duration |
REST Visits
Metric Id |
Metric Name |
web.rest.oneMinuteRate |
REST Visits :: One-minute Rate |
web.rest.fiveMinuteRate |
REST Visits :: Five-minute Rate |
web.rest.fifteenMinuteRate |
REST Visits :: Fifteen-minute Rate |
web.rest.requests |
REST Visits :: Requests |
web.rest.averageDuration |
REST Visits :: Average Duration |
RPC Visits
Metric Id |
Metric Name |
web.rpc.oneMinuteRate |
RPC Visits :: One-minute Rate |
web.rpc.fiveMinuteRate |
RPC Visits :: Five-minute Rate |
web.rpc.fifteenMinuteRate |
RPC Visits :: Fifteen-minute Rate |
web.rpc.requests |
RPC Visits :: Requests |
web.rpc.averageDuration |
RPC Visits :: Average Duration |
Download Visits
Metric Id |
Metric Name |
web.download.oneMinuteRate |
Download Visits :: One-minute Rate |
web.download.fiveMinuteRate |
Download Visits :: Five-minute Rate |
web.download.fifteenMinuteRate |
Download Visits :: Fifteen-minute Rate |
web.download.requests |
Download Visits :: Requests |
web.download.averageDuration |
Download Visits :: Average Duration |
Upload Visits
Metric Id |
Metric Name |
web.upload.oneMinuteRate |
Upload Visits :: One-minute Rate |
web.upload.fiveMinuteRate |
Upload Visits :: Five-minute Rate |
web.upload.fifteenMinuteRate |
Upload Visits :: Fifteen-minute Rate |
web.upload.requests |
Upload Visits :: Requests |
web.upload.averageDuration |
Upload Visits :: Average Duration |