Get Performance Data

get

/api/metric/PerformanceData

Gets the performance data that matches the specified query parameters. If no parameters are specified, all performance data are returned. Oracle recommends using filtering and pagination parameters to limit the results.

Identify the series you want performance data for by specifying Serialized DeviceName, either Measurement or MetricType, and Instance. For example, use the following in your request:

/api/metric/PerformanceData?DeviceName=router.example.com;z1&Measurement=metrictype_Latency&Instance=Device

Identify the time ranges you want performance data for by specifying TimeRange, with start and end separated by ...
Use the following letters to indicate units of time: m for minute, h for hour, d for day, w for week, M for month, and y for year. Use now to get dates relative to the current day. You can also enter an absolute time in YYYY-MM-DD HH-MM-SS format.
For example:

  • The last two days: now-2d..now
  • The last 6 months: now-6M..now
  • The last 5 years: now-5y..now
  • Yesterday: now-1d/d..now-1d/d
  • Today: now/d..now/d
  • This week so far: now/w..now
  • This month: now/M..now/M
  • The last 5 minutes: now-5m..now
  • The Last 24 hours: now-24h..now
  • Absolute time range: 2020-01-01 00:00:00..2020-01-01 12:00:00
Using the StartTime and StopTime parameters to specify time ranges is deprecated.
The level of aggregation for values is determined by the time range and will automatically pick the best database retention policy.

Valid request combinations are:

  • By serialized DeviceName:
    • Serialized DeviceName (device name with the zone ID attached, like device;zX), MetricType, and Instance
      /api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com;z2&MetricType=Latency&Instance=Device
    • Serialized DeviceName (device name with the zone ID attached, like device;zX), Measurement, and Instance
      /api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com;z2&Measurement=metrictype_Latency&Instance=Device
  • By DeviceID and MetricID:
    /api/metric/performanceData?TimeRange=now-1d..now&DeviceID=1234&MetricID=5678
  • By DeviceName and Zone:
    • DeviceName, DeviceZoneID, MetricType, and Instance
      /api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&DeviceZoneID=2&MetricType=Latency&Instance=Device
    • DeviceName, DeviceZoneID, Measurement, and Instance
      /api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&DeviceZoneID=2&Measurement=metrictype_Latency&Instance=Device
    • DeviceName, DeviceZoneName, MetricType, and Instance
      /api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&DeviceZoneName=MyZoneName&MetricType=Latency&Instance=Device
    • DeviceName, DeviceZoneName, Measurement, and Instance
      /api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&DeviceZoneName=MyZoneName&Measurement=metrictype_Latency&Instance=Device
    • DeviceName, MetricType, and Instance (WARNING: The zone will be assumed from the device name. If you have devices with the same name in different zones, this will return unreliable results)
      /api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&MetricType=Latency&Instance=Device
    • DeviceName, Measurement, and Instance (WARNING: The zone will be assumed from the device name. If you have devices with the same name in different zones, this will return unreliable results)
      /api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&Measurement=metrictype_Latency&Instance=Device
  • For multiple devices:
    /api/metric/performanceData?DeviceName[0]=router.example.com;z1&Measurement[0]=metrictype_Latency&Instance[0]=Device&DeviceName[1]=differentdevice.example.com;z1&Measurement[1]=metrictype_Latency&Instance[1]=Device

Request

Query Parameters
  • Match All
    • Device ID (or multiple, comma-separated Device IDs)
      Example: 40
  • Match All
    • The serialized device name (or multiple, comma-separated serialized device names). The device name may be serialized (include the zone id) or just the name if the zone is included separately.
      Example: router.example.com OR router.example.com;z1
  • The ID of the device zone to get performance data for. Deprecated. Use serialized device name instead.
    Example:
    1
  • Device zone name. Deprecated. Use serialized device name instead.
  • Match All
    • Custom title to be used on the graph
  • Match All
    • Metric Instance Name (or multiple, comma-separated Metric Instance Names)
      Example: Device
  • Match All
    • Metric ID (or multiple, comma-separated Metric IDs)
      Example: 154
  • Match All
    • Metric Type Name (or multiple, comma-separated Metric Type Names)
      Example: Latency
  • Whether to include the NavigatorPoints navigation series (1) or not (0).
  • Match All
    • Show all Metrics in Metric Type Group based on single MetricID
      Example: 1
  • Deprecated way of specifying start time. Use the TimeRange parameter instead.
    Match All
    • StartTime in epoch time seconds
      Example: now
  • Deprecated way of specifying stop time. Use the TimeRange parameter instead.
    Match All
    • StopTime in epoch time seconds
      Example: now
  • Match All
    • Shorthand string that encompasses the start and end times in RFC3339 format or relative time literal format. It will take precedence over StartTime if both are passed in.
      Example: now-24h..now

There's no request body for this operation.

Back to Top

Response

Supported Media Types

200 Response

Successful operation
Body ()
Root Schema : schema
Type: object
Show Source
Nested Schema : data
Type: array
The performance data.
Show Source
Nested Schema : metricPerformanceDataRead
Type: object
Show Source
Nested Schema : AbnormalConfidence
Type: array
Abnormal confidence band points with each point containing the epoch time in milliseconds, lower value as float, and upper value as float (e.g. `[1234567890000, 0.0, 2000.00]`)
Show Source
Nested Schema : AbnormalPoints
Type: array
Abnormal data points with each point containing the epoch time in milliseconds and value as float (e.g. `[1234567890000, 1000.00]`)
Show Source
Nested Schema : NavigatorParams
Type: object
Information necessary to load the navigation asynchronously.
Show Source
Nested Schema : NavigatorPoints
Type: array
Navigator points (full history at lowest granularity) with each point containing the epoch time in milliseconds and value as float (e.g. `[1234567890000, 1000.00]`)
Show Source
Nested Schema : Points
Type: array
Data points with each point containing the epoch time in milliseconds and value as float (e.g. `[1234567890000, 1000.00]`)
Show Source
Nested Schema : Threshold
Type: array
Array of threshold definitions
Show Source
Nested Schema : TrendPoints
Type: array
Trend data points with each point containing the epoch time in milliseconds and value as float (e.g. `[1234567890000, 1000.00]`)
Show Source
Nested Schema : items
Type: array
Show Source
Nested Schema : items
Type: object
Nested Schema : items
Type: array
Show Source
Nested Schema : items
Type: object
Nested Schema : items
Type: array
Show Source
Nested Schema : items
Type: object
Nested Schema : items
Type: array
Show Source
Nested Schema : items
Type: object
Nested Schema : items
Type: object
Show Source
Nested Schema : items
Type: array
Show Source
Nested Schema : items
Type: object

Default Response

Failed operation
Body ()
Root Schema : schema
Type: object
Show Source
Nested Schema : errors
Type: array
The list of errors reported. Validation errors will be keyed by record field.
Show Source
Nested Schema : items
Type: object
An error.
Back to Top

Examples

The following examples show how to use query parameters in Get Performance Data requests to filter the response. You should always filter or limit your metrics requests using the query parameters; attempting to return too many metrics may have a significant negative impact on performance. For example, do not attempt to get all metrics from all devices.

The examples use query parameters specific to metrics, such as those related to source, time range, and metric type, as well as standard pagination parameters, such as page, start, limit, and sort.

You can submit requests using cURL, an API client, or your browser.

Examples of Getting Performance Data for a Single Device

The examples in this section show how to get performance data for a specific metric type (Latency) for a single device (router.example.com) using different combinations of parameters to specify the device and metric.

To get performance data using a serialized DeviceName for the device and MetricType for the metric:

http://hostFQDN/api/metric/PerformanceData?TimeRange=now-2d..now&DeviceName=router.example.com;z2&MetricType=Latency&Instance=Device

To get performance data using DeviceName and DeviceZoneID for the device:

http://hostFQDN/api/metric/PerformanceData?TimeRange=now-2d..now&DeviceName=router.example.com&DeviceZoneID=2&MetricType=Latency&Instance=Device

To get performance data using DeviceName and DeviceZoneName for the device:

http://hostFQDN/api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&DeviceZoneName=MyZoneName&MetricType=Latency&Instance=Device

To get performance data using DeviceID for the device and MetricID for the metric:

http://hostFQDN/api/metric/PerformanceData?TimeRange=now-1d..now&DeviceID=1234&MetricID=5678

To get performance data using Measurement for the metric:

http://hostFQDN/api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&DeviceZoneID=2&Measurement=metrictype_Latency&Instance=Device

To get performance data using DeviceName only for the device, which you should only do if you do not have devices with the same name in different zones: , MetricType, and Instance (WARNING: ):

http://hostFQDN/api/metric/performanceData?TimeRange=now-2d..now&DeviceName=router.example.com&MetricType=Latency&Instance=Device

Caution:

This request finds the zone based on the device name. If you have devices with the same name in different zones, the results could come from any zone. For this reason, Oracle recommends using a serialized device name or including DeviceZoneID or DeviceZoneName.

Examples of Getting Performance Data for Mulitple Devices

To get performance data for mulitple devices (router.example.com;z1 and router2.example.com;z1), mark each parameter with so that they correspond. In the example, the parameters for router.example.com;z1 are marked with [0] the parameters for router2.example.com;z1 are marked with [1].

http://hostFQDN/api/metric/PerformanceData?DeviceName[0]=router.example.com;z1&Measurement[0]=metrictype_Latency&Instance[0]=Device&DeviceName[1]=router2.example.com;z1&Measurement[1]=metrictype_Latency&Instance[1]=Device

Example of the Response Body

The following example shows the contents of a response body in JSON format:

{
  "success": "true",
  "message": "Loaded 1 entries",
  "total": "1",
  "data": [
    {
      "DeviceName": "router.example.com",
      "DeviceZoneName": "string",
      "DeviceZoneID": 0,
      "StartTime": "1234567890",
      "StopTime": "1234567890",
      "MetricInstanceName": "Device",
      "ParentDeviceName": "parent.example.com",
      "InstanceName": "Device",
      "MetricTypeName": "Latency",
      "Unit": "bits",
      "Abbr": "b",
      "UnitDivision": "1024",
      "Maximum": "0",
      "MetricID": "1",
      "Factor": "8",
      "PollTime": "300",
      "MetricGroupName": "Network Traffic",
      "Stacked": "0",
      "AverageValue": "1000",
      "MinimumValue": "0",
      "MaximumValue": "5000",
      "SumValue": "300000",
      "LastValue": "1500",
      "PeakValue": "5000",
      "AverageUtilization": "50",
      "MinimumUtilization": "0",
      "MaximumUtilization": "100",
      "LastUtilization": "60",
      "PeakUtilization": "100",
      "TrendSlope": "0.1",
      "retention": "string",
      "navigationRetention": "string",
      "GraphTitle": "Graph Title",
      "Points": [
        [
          {}
        ]
      ],
      "AbnormalPoints": [
        [
          {}
        ]
      ],
      "AbnormalConfidence": [
        [
          {}
        ]
      ],
      "NavigatorPoints": [
        [
          {}
        ]
      ],
      "NavigatorParams": {
        "retention": "string",
        "measurement": "string",
        "zone": "string",
        "device": "string",
        "instance": "string",
        "dbConn": 0
      },
      "TrendPoints": [
        [
          {}
        ]
      ],
      "Threshold": [
        {
          "ThresholdName": "string",
          "ThresholdTypeID": 0,
          "ThresholdType": "string",
          "MetricField": "string",
          "WarningOperator": "string",
          "WarningValue": 0,
          "WarningSeverity": 0,
          "CriticalOperator": "string",
          "CriticalValue": 0,
          "CriticalSeverity": 0
        }
      ]
    }
  ]
}
Back to Top