Get client IO profile statistics for a virtual volume, covering the recent past (up to an hour), of client access to individual filesystem paths. The results are grouped by client address and filesystem path.
This API call does not work on all platforms and can potentially return a large amount of data. Unlike most other API calls, the response data is pre-sorted before it is returned, from most active to least active.
Note: Accepted parameter values may be restricted based on the virtual server access granted by the API key used for authentication.
remoteAddress
String
required
Remote address of the connection
Remote address of the connection
10.2.3.4
virtualVolumeObjectId
String
required
Object ID of the virtual volume
Object ID of the virtual volume
313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56
durationInSeconds
Integer
Duration of the time window that the statistics are retrieved for. The duration is limited to the maximum history buffer which is one hour
int32
Duration of the time window that the statistics are retrieved for. The duration is limited to the maximum history buffer which is one hour
60
10
includeUnknownAccess
Boolean
Include results where the path being accessed is unknown
Include results where the path being accessed is unknown
true
false
limitToTopEntries
Integer
Limit the number of result entries to the specific number of top entries
int32
Limit the number of result entries to the specific number of top entries
20
50
minimumOperations
Integer
Include results where the number of operations is equal to or greater than this value over the specified duration
int32
Include results where the number of operations is equal to or greater than this value over the specified duration
20
50
subsampleFactor
Integer
Cuts down the number of historic samples processed to generate the statistics. If there is a lot of traffic on the system and the statistics take a significant time to return, then increase this value
int32
Cuts down the number of historic samples processed to generate the statistics. If there is a lot of traffic on the system and the statistics take a significant time to return, then increase this value
1
0
curl -X 'GET'
-H "X-Subsystem-User: [[apiKey]]"
\
-H "X-Subsystem-Password: [[apiKey]]"
\
-H "X-Api-Key: [[apiKey]]"
\
-H "Authorization: Basic [[basicHash]]"
\
-H
'Accept: application/json'
'https://172.27.146.40:8444/v9/storage/virtual-volumes/{virtualVolumeObjectId}/statistics/io-profile/{remoteAddress}/file-access?durationInSeconds=60&includeUnknownAccess=true&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1'
import http.client
conn = http.client.HTTPSConnection("172.27.146.40:8444")
headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" }
conn.request("GET", "/v9/storage/virtual-volumes/313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56/statistics/io-profile/10.2.3.4/file-access?durationInSeconds=60&includeUnknownAccess=SOME_BOOLEAN_VALUE&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://172.27.146.40:8444/v9/storage/virtual-volumes/313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56/statistics/io-profile/10.2.3.4/file-access?durationInSeconds=60&includeUnknownAccess=SOME_BOOLEAN_VALUE&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic REPLACE_BASIC_AUTH'
response = http.request(request)
puts response.read_bodyconst data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://172.27.146.40:8444/v9/storage/virtual-volumes/313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56/statistics/io-profile/10.2.3.4/file-access?durationInSeconds=60&includeUnknownAccess=SOME_BOOLEAN_VALUE&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1");
xhr.setRequestHeader("Authorization", "Basic REPLACE_BASIC_AUTH");
xhr.send(data);HttpResponse<String> response = Unirest.get("https://172.27.146.40:8444/v9/storage/virtual-volumes/313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56/statistics/io-profile/10.2.3.4/file-access?durationInSeconds=60&includeUnknownAccess=SOME_BOOLEAN_VALUE&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1")
.header("Authorization", "Basic REPLACE_BASIC_AUTH")
.asString();import Foundation
let headers = ["Authorization": "Basic REPLACE_BASIC_AUTH"]
let request = NSMutableURLRequest(url: NSURL(string: "https://172.27.146.40:8444/v9/storage/virtual-volumes/313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56/statistics/io-profile/10.2.3.4/file-access?durationInSeconds=60&includeUnknownAccess=SOME_BOOLEAN_VALUE&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8444",
CURLOPT_URL => "https://172.27.146.40:8444/v9/storage/virtual-volumes/313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56/statistics/io-profile/10.2.3.4/file-access?durationInSeconds=60&includeUnknownAccess=SOME_BOOLEAN_VALUE&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic REPLACE_BASIC_AUTH"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://172.27.146.40:8444/v9/storage/virtual-volumes/313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56/statistics/io-profile/10.2.3.4/file-access?durationInSeconds=60&includeUnknownAccess=SOME_BOOLEAN_VALUE&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://172.27.146.40:8444/v9/storage/virtual-volumes/313a3a3a30373545414439464546414234454239303030303030303030303030303030303a3a3a323a3a3a303a3a3a4f49445f24232140255f56/statistics/io-profile/10.2.3.4/file-access?durationInSeconds=60&includeUnknownAccess=SOME_BOOLEAN_VALUE&limitToTopEntries=20&minimumOperations=20&subsampleFactor=1");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH");
IRestResponse response = client.Execute(request);