logo AWS Technology Partner

API: Metrics

API Endpoint
https://www.redline13.com/Api/Metrics

Retrieve metrics for a given test.
The results will be an array as described, where each endpoint will have a data field with the results in the requested format.

hash
Unique HashID for this endpoint, which is the sha1 of the URL or Label.
label
Full label stored for endpoint.
data
The data object returned with results in format requested, see below for details on format.

API Parameters

Parameter Type Required Details
loadTestId GET Yes

ID of load test.

filter GET Either filter or hash must be supplied

Name of the label or URL, can be partial. No wildcards.

hash GET Either filter or hash must be supplied

HashID of the URL to find, returns only single item in array.
This is the sha1 of the URL or Label

format GET No

csv, xy, default - Format for results.

Formats

Format: CSV

An array in the data field, first row is the headers. Each timestamp can include a count of metrics, the average is the average within that timestamp

  "data": [
    [
      "Timestamp",
      "avgLoadTime",
      "count",
      "downloadSize",
      "errAvgLoadTime",
      "errCount",
      "errDownloadSize"
    ],
    [
      "0",
      "0.858901",
      "10",
      "53.53515625",
      "0",
      "0",
      "0"
    ],
    [
...

The returned fields are:
Timestamp - UNIX timestamp of requests (you should ignore timestamp zero if you see it).
avgLoadTime - This is the average response time in seconds for this endpoint during this time period.
count - Number of requests in this time period.
downloadSize - The size in bytes of the response.
err* - These are equivalent to the above, but for requests that resulted in an error.


Format: XY

An object response, typically used for graphing packages such as Google Charts.
The response includes summary results.
Labels for the known data points.
X,Y Section for each data point (pageRespTimePerSec,pageReqPerSec,pageKbPerSec,pageErrRespTime,pageErrCount,pageErrKb)

  "data": {
    "overview": {
      "avgLoadTime": "0.858901",
      "count": "10",
      "downloadSize": "53.53515625",
      "errAvgLoadTime": "0",
      "errCount": "0",
      "errDownloadSize": "0",
      "range": 8
    },
    "labels": [
      0,
      3,
      4,
      7,
      8
    ],
    "pageRespTimePerSec": [
      {
        "x": 0,
        "y": 0.175567
      },
...

Format: Default

An object response where metric data points is X: Y in the format..
The response includes summary results.
Labels for the known data points.
Data Section for each data point (pageRespTimePerSec,pageReqPerSec,pageKbPerSec,pageErrRespTime,pageErrCount,pageErrKb)

  "data": {
    "overview": {
      "avgLoadTime": "1.5104786666666699",
      "count": "10",
      "downloadSize": "155.4853515625",
      "errAvgLoadTime": "0",
      "errCount": "0",
      "errDownloadSize": "0",
      "range": 8
    },
    "labels": [
      0,
      2,
      3,
      4,
      7,
      8
    ],
    "pageRespTimePerSec": {
      "0": 0.353917,
      "2": 0.2109375,

...

CURL Example

Get URLs that have '.' in them, essentially all requests.

curl  -H "X-Redline-Auth: YOUR_API_KEY" "https://www.redline13.com/Api/Metrics?loadTestId=[YOUR_TEST_ID]&filter=."
# My Example, you need use your API KEY and Load Test and Filter:

$ curl  -H "X-Redline-Auth: [API_KEY]" "https://www.redline13.com/Api/Metrics?loadTestId=130838&filter=Races"

[{"hash":"cb6b4f0d47a0ecf744a8ca05751c557296692b15","label":"HTTP GET \/Races","data":{"overview":{"avgLoadTime":"6.20591666666667","count":"20","downloadSize":"600","errAvgLoadTime":"0","errCount":"0","errDownloadSize":"0","range":17},"labels":[0,2,4,5,6,9,10,11,13,16,17],"pageRespTimePerSec":{"0":0.55366666666667,"2":0.56125,"4":0.505,"5":0.512,"6":0.516,"9":0.624,"10":0.605,"11":0.582,"13":0.517,"16":0.654,"17":0.576},"pageReqPerSec":{"0":3,"2":4,"4":1,"5":1,"6":1,"9":3,"10":2,"11":2,"13":1,"16":1,"17":1},"pageKbPerSec":{"0":90,"2":120,"4":30,"5":30,"6":30,"9":90,"10":60,"11":60,"13":30,"16":30,"17":30},"pageErrRespTime":{"0":"0","2":"0","4":"0","5":"0","6":"0","9":"0","10":"0","11":"0","13":"0","16":"0","17":"0"},"pageErrCount":{"0":0,"2":0,"4":0,"5":0,"6":0,"9":0,"10":0,"11":0,"13":0,"16":0,"17":0},"pageErrKb":{"0":0,"2":0,"4":0,"5":0,"6":0,"9":0,"10":0,"11":0,"13":0,"16":0,"17":0}}}]

Get Specific URL metrics with Hash

echo -n "YOUR_LABEL_OR_URL" | openssl dgst -sha1
curl -H "X-Redline-Auth: YOUR_API_KEY" "https://www.redline13.com/Api/Metrics?loadTestId=[YOUR_TEST_ID]&hash=[OUTPUT_FROM_LINE_ABOVE]"
# My Example, you need use your API KEY and Load Test and Hash:

$ echo -n "HTTP GET /Races" | openssl dgst -sha1

cb6b4f0d47a0ecf744a8ca05751c557296692b15

$ curl  -H "X-Redline-Auth: [API_KEY]" "https://www.redline13.com/Api/Metrics?loadTestId=130838&hash=cb6b4f0d47a0ecf744a8ca05751c557296692b15"

[{"hash":"cb6b4f0d47a0ecf744a8ca05751c557296692b15","label":"","data":{"overview":{"avgLoadTime":"6.20591666666667","count":"20","downloadSize":"600","errAvgLoadTime":"0","errCount":"0","errDownloadSize":"0","range":17},"labels":[0,2,4,5,6,9,10,11,13,16,17],"pageRespTimePerSec":{"0":0.55366666666667,"2":0.56125,"4":0.505,"5":0.512,"6":0.516,"9":0.624,"10":0.605,"11":0.582,"13":0.517,"16":0.654,"17":0.576},"pageReqPerSec":{"0":3,"2":4,"4":1,"5":1,"6":1,"9":3,"10":2,"11":2,"13":1,"16":1,"17":1},"pageKbPerSec":{"0":90,"2":120,"4":30,"5":30,"6":30,"9":90,"10":60,"11":60,"13":30,"16":30,"17":30},"pageErrRespTime":{"0":"0","2":"0","4":"0","5":"0","6":"0","9":"0","10":"0","11":"0","13":"0","16":"0","17":"0"},"pageErrCount":{"0":0,"2":0,"4":0,"5":0,"6":0,"9":0,"10":0,"11":0,"13":0,"16":0,"17":0},"pageErrKb":{"0":0,"2":0,"4":0,"5":0,"6":0,"9":0,"10":0,"11":0,"13":0,"16":0,"17":0}}}]