This documentation relates to QuickBuild 5.0.x
Select here if you are using a different version

Query Grid Measurements

Version 5 by Steve Luo
on Feb 27, 2013 10:46.


compared with
Version 6 by Steve Luo
on Feb 27, 2013 10:48.


Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 18 changes. View first change.

 Grid measurements can be fetched from REST API.
  
 h2. Support Functions
 The base URI for grid measuremetns REST API is:
 {code}
 /rest/measurements
 {code}
  
 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:
  
 h3. With no params
 If you call below query, QuickBuild will return all measurements collected from all nodes in the last one hour.
 {code}
 /rest/grid/measurements
 {code}
  
 h3. Query for a specified node
 Below query will return all measurements from _myagent:8811_ in the last one hour.
 {code}
 /rest/grid/measurements?source=myagent:8811
 {code}
  
 h3. Query for a specified metric
 Below query will return measurements of _disk usage_ for all nodes in the last one hour.
 {code}
 /rest/grid/measurements?metric=disk.usage
 {code}
  
 h3. Query for a specific time range
 Below query returns all measurements for all nodes in the last 2 hours.
 {code}
 /rest/grid/measurements?period=LAST_2_HOURS
 {code}
  
 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.
  
 {code}
 /rest/grid/measurements?start_time=2013-02-25T09:47:00.000%2B08:00
 {code}
  
 Below query returns all measurements for all nodes in a specified time range with a custom date format pattern:
 {code}
 /rest/grid/measurements?start_time=2013/02/25+09:47&end_time=2013/02/27+09:47&date_pattern=yyyy/MM/dd+HH:mm
 {code}
  
 h2. Example return result
 For all query above, below is an example return result:
 {code:xml}
 <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>
 {code}
  
 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.
  
 h2. Available Measurement Metrics
  
 Below table shows all available measurement metrics:
  
 h3. Virtual Machine
  h3. Virtual Machine Measurements
 ||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|
  
h3. CPU
  h3. CPU Measurements
 ||Metric Id||Metric Name||
 |cpu.totalUsage|CPU :: Total Usage|
  
h3. Physical Memory
  h3. Physical Memory Measurements
 ||Metric Id||Metric Name||
 |memory.usage|Physical Memory :: Memory Usage|
  
h3. Network
  h3. Disk Measurements
 ||Metric Id||Metric Name||
|disk.usage|Disk :: Usage|
  
 h3. Network Measurements
 ||Metric Id||Metric Name||
 |network.txBytes|Network :: txBytes|
 |network.rxBytes|Network :: rxBytes|
  
h3. Swap
  h3. Swap Measurements
 ||Metric Id||Metric Name||
 |swap.usage|Swap :: Usage|
  
h3. Resource
  h3. Resource Measurements
 ||Metric Id||Metric Name||
 |resources.percentage|Resource :: Used%|
 |resources.frees|Resource :: Frees|
 |resources.used|Resource :: Used|
  
h3. Build Requests
  h3. Build Requests Measurements
 ||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|
  
h3. Builds
  h3. Builds Measurements
 ||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|
  
h3. Steps
  h3. Steps Measurements
 ||Metric Id||Metric Name||
 |steps.runningsTotal|Steps :: Runnings Total|
 |steps.waitingsTotal|Steps :: Waitings Total|
 |steps.runnings|Steps :: Runnings on Node|
  
h3. Disk
  h3. Database Measurements
 ||Metric Id||Metric Name||
|disk.usage|Disk :: Usage|
  
 h3. Database
 ||Metric Id||Metric Name||
 |db.numConnections|Database :: Total Connections|
 |db.busyConnections|Database :: Busy Connections|
  
h3. Jetty
  h3. Jetty(web server) Measurements
 ||Metric Id||Metric Name||
 |jetty.totalConnections|Jetty :: Total Connections|
 |jetty.usedConnections|Jetty :: Used Connections|
  
h3. UI Visits
  h3. UI Visits Measurements
 ||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|
  
h3. REST Visits
  h3. REST Visits Measurements
 ||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|
  
h3. RPC Visits
  h3. RPC Visits Measurements
 ||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|
  
h3. Download Visits
  h3. Download Visits Measurements
 ||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|
  
 h3. Upload Visits
  h3. Upload Visits Measurements
 ||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|