Get Performance Data
/api/metric/PerformanceData
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
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
- Serialized DeviceName (device name with the zone ID attached, like device;zX), MetricType, and Instance
- 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
- DeviceName, DeviceZoneID, MetricType, and Instance
- 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
-
DeviceID:
Match All
-
string
Device ID (or multiple, comma-separated Device IDs)Example:
40
-
string
-
DeviceName:
Match All
-
string
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
-
string
-
DeviceZoneID: integer
The ID of the device zone to get performance data for. Deprecated. Use serialized device name instead.Example:
1
-
DeviceZoneName: string
Device zone name. Deprecated. Use serialized device name instead.
-
GraphTitle:
Match All
-
string
Custom title to be used on the graph
-
string
-
Instance:
Match All
-
string
Metric Instance Name (or multiple, comma-separated Metric Instance Names)Example:
Device
-
string
-
MetricID:
Match All
-
string
Metric ID (or multiple, comma-separated Metric IDs)Example:
154
-
string
-
MetricType:
Match All
-
string
Metric Type Name (or multiple, comma-separated Metric Type Names)Example:
Latency
-
string
-
Navigator: boolean
Whether to include the NavigatorPoints navigation series (1) or not (0).
-
ShowMetricGroup:
Match All
-
boolean
Show all Metrics in Metric Type Group based on single MetricIDExample:
1
-
boolean
-
StartTime:
Deprecated way of specifying start time. Use the TimeRange parameter instead.Match All
-
integer
StartTime in epoch time secondsExample:
now
-
integer
-
StopTime:
Deprecated way of specifying stop time. Use the TimeRange parameter instead.Match All
-
integer
StopTime in epoch time secondsExample:
now
-
integer
-
TimeRange:
Match All
-
string
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
-
string
There's no request body for this operation.
Back to TopResponse
- application/json
200 Response
object
-
data: array
data
The performance data.
-
message: string
The text of the response message.Example:
Loaded 1 entries
-
success: boolean
Success or failure responseExample:
true
-
total: integer
The total number of results regardless of paging.Example:
1
object
-
Abbr: string
Unit abbreviationExample:
b
-
AbnormalConfidence: array
AbnormalConfidence
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]`)
-
AbnormalPoints: array
AbnormalPoints
Abnormal data points with each point containing the epoch time in milliseconds and value as float (e.g. `[1234567890000, 1000.00]`)
-
AverageUtilization: number
Average (mean) utilizationExample:
50
-
AverageValue: number
Average (mean) valueExample:
1000
-
DeviceName: string
Device Name Defined in order or precedence from: `CustomName > DNSName > SysName > IPv6Address > IPAddress`Example:
router.example.com
-
DeviceZoneID: integer
Device zone ID.
-
DeviceZoneName: string
Device zone name
-
Factor: integer
Factor to change units into rawExample:
8
-
GraphTitle: string
Graph title to display based on type of dataExample:
Graph Title
-
InstanceName: string
Metric Instance NameExample:
Device
-
LastUtilization: number
Last utilization reportedExample:
60
-
LastValue: number
Last value reportedExample:
1500
-
Maximum: integer
Metric Maximum (0 for no max)Example:
0
-
MaximumUtilization: number
Maximum utilizationExample:
100
-
MaximumValue: number
Maximum valueExample:
5000
-
MetricGroupName: string
Metric Group Name for displaying metrics togetherExample:
Network Traffic
-
MetricID: integer
Metric IDExample:
1
-
MetricInstanceName: string
Metric Display (custom) Instance NameExample:
Device
-
MetricTypeName: string
Metric Type NameExample:
Latency
-
MinimumUtilization: number
Minimum utilizationExample:
0
-
MinimumValue: number
Minimum valueExample:
0
- navigationRetention: string
- NavigatorParams: object NavigatorParams
- NavigatorPoints: array NavigatorPoints
-
ParentDeviceName: string
Parent Device Name (if virtual)Example:
parent.example.com
-
PeakUtilization: number
Peak utilization is the minimum or maximum depending on metric type direction.Example:
100
-
PeakValue: number
Peak value is the minimum or maximum depending on metric type direction.Example:
5000
-
Points: array
Points
Data points with each point containing the epoch time in milliseconds and value as float (e.g. `[1234567890000, 1000.00]`)
-
PollTime: integer
Poll TimeExample:
300
-
retention: string
Retention period the data was pulled from.
-
Stacked: integer
Whether metric stacking is enabled (1) or not (0).Example:
0
-
StartTime: integer
Starting epochtime in secondsExample:
1234567890
-
StopTime: integer
Stopping epochtime in secondsExample:
1234567890
-
SumValue: number
Sum of values over the time range. Not valid for all metrics.Example:
300000
-
Threshold: array
Threshold
Array of threshold definitions
-
TrendPoints: array
TrendPoints
Trend data points with each point containing the epoch time in milliseconds and value as float (e.g. `[1234567890000, 1000.00]`)
-
TrendSlope: number
Slope of points over time rangeExample:
0.1
-
Unit: string
Value unitExample:
bits
-
UnitDivision: integer
Unit division factorExample:
1024
array
array
array
array
object
object
object
object
-
CriticalOperator: string
Operator used for the critical state. Allowed values:- "==", "!=", ">=", "<=", ">", "<"< div> "<>=",>
-
CriticalSeverity: integer
Critical Severity. Allowed values:- 0=Normal, 1=Unknown, 2=Info, 3=Minor, 4=Major, 5=Critical
-
CriticalValue: number
Critical value
-
MetricField: string
Type of metric value used by the threshold. Allowed values:- "value", "utilization"
-
ThresholdName: string
Threshold name
-
ThresholdType: string
Threshold type name
-
ThresholdTypeID: integer
Threshold ID
-
WarningOperator: string
Operator used for the warning state. Allowed values:- "==", "!=", ">=", "<=", ">", "<"< div> "<>=",>
-
WarningSeverity: integer
Warning Severity. Allowed values:- 0=Normal, 1=Unknown, 2=Info, 3=Minor, 4=Major, 5=Critical
-
WarningValue: number
Warning value
object
Default Response
object
-
errors: array
errors
The list of errors reported. Validation errors will be keyed by record field.
-
message: string
The response message.Example:
Exception thrown
-
success: boolean
Whether the operation was a success (true) or a failure (false).Example:
false
array
-
Array of:
object items
An error.
object
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 } ] } ] }