Starts a performance info report (PIR). This call does not return immediately, and may take up to 30 seconds to start the PIR.
A PIR will run in the background for a set period of time, and gather performance data for off line analysis. The report data is stored in a file that can be downloaded once the PIR has completed.
The filesystemId and nodeId parameters can't both be supplied at the same time.
Note: Accepted parameter values may be restricted based on the virtual server access granted by the API key used for authentication.
curl -X 'POST'
-H "X-Subsystem-User: [[apiKey]]"
\
-H "X-Subsystem-Password: [[apiKey]]"
\
-H "X-Api-Key: [[apiKey]]"
\
-H "Authorization: Basic [[basicHash]]"
\
-H
'Accept: application/json'
-H
'Content-Type: application/json'
'https://172.27.146.40:8444/v9/storage/file-devices/performance-info-reports'
-d
''
import http.client
conn = http.client.HTTPSConnection("172.27.146.40:8444")
payload = "{\"durationInMinutes\":10,\"filesystemId\":\"7B263DFD1D71E65A0000000000000000\",\"includeProfile\":true,\"includeTrouble\":true,\"nodeId\":\"1\"}"
headers = {
'Authorization': "Basic REPLACE_BASIC_AUTH",
'content-type': "application/json"
}
conn.request("POST", "/v9/storage/file-devices/performance-info-reports", payload, 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/file-devices/performance-info-reports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic REPLACE_BASIC_AUTH'
request["content-type"] = 'application/json'
request.body = "{\"durationInMinutes\":10,\"filesystemId\":\"7B263DFD1D71E65A0000000000000000\",\"includeProfile\":true,\"includeTrouble\":true,\"nodeId\":\"1\"}"
response = http.request(request)
puts response.read_bodyconst data = JSON.stringify({
"durationInMinutes": 10,
"filesystemId": "7B263DFD1D71E65A0000000000000000",
"includeProfile": true,
"includeTrouble": true,
"nodeId": "1"
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://172.27.146.40:8444/v9/storage/file-devices/performance-info-reports");
xhr.setRequestHeader("Authorization", "Basic REPLACE_BASIC_AUTH");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);HttpResponse<String> response = Unirest.post("https://172.27.146.40:8444/v9/storage/file-devices/performance-info-reports")
.header("Authorization", "Basic REPLACE_BASIC_AUTH")
.header("content-type", "application/json")
.body("{\"durationInMinutes\":10,\"filesystemId\":\"7B263DFD1D71E65A0000000000000000\",\"includeProfile\":true,\"includeTrouble\":true,\"nodeId\":\"1\"}")
.asString();import Foundation
let headers = [
"Authorization": "Basic REPLACE_BASIC_AUTH",
"content-type": "application/json"
]
let parameters = [
"durationInMinutes": 10,
"filesystemId": "7B263DFD1D71E65A0000000000000000",
"includeProfile": true,
"includeTrouble": true,
"nodeId": "1"
] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://172.27.146.40:8444/v9/storage/file-devices/performance-info-reports")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
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/file-devices/performance-info-reports",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"durationInMinutes\":10,\"filesystemId\":\"7B263DFD1D71E65A0000000000000000\",\"includeProfile\":true,\"includeTrouble\":true,\"nodeId\":\"1\"}",
CURLOPT_HTTPHEADER => [
"Authorization: Basic REPLACE_BASIC_AUTH",
"content-type: application/json"
],
]);
$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, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://172.27.146.40:8444/v9/storage/file-devices/performance-info-reports");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"durationInMinutes\":10,\"filesystemId\":\"7B263DFD1D71E65A0000000000000000\",\"includeProfile\":true,\"includeTrouble\":true,\"nodeId\":\"1\"}");
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://172.27.146.40:8444/v9/storage/file-devices/performance-info-reports");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"durationInMinutes\":10,\"filesystemId\":\"7B263DFD1D71E65A0000000000000000\",\"includeProfile\":true,\"includeTrouble\":true,\"nodeId\":\"1\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);durationInMinutesintegerint32Duration that the PIR will run for
Duration that the PIR will run for
1010filesystemIdstringEither the file system ID or the object ID of the file system
Either the file system ID or the object ID of the file system
"7B263DFD1D71E65A0000000000000000"includeProfilebooleanTrue indicates that profiling commands will be run as part of the PIR
True indicates that profiling commands will be run as part of the PIR
trueincludeTroublebooleanTrue indicates that the trouble command output will be included as part of the PIR
True indicates that the trouble command output will be included as part of the PIR
truenodeIdobjectEither a node object ID or a cluster node ID
Either a node object ID or a cluster node ID
integerEither a node object ID or a cluster node ID
Either a node object ID or a cluster node ID
"1" stringEither a node object ID or a cluster node ID
Either a node object ID or a cluster node ID
"1"{
"durationInMinutes": 10,
"filesystemId": "7B263DFD1D71E65A0000000000000000",
"includeProfile": false,
"includeTrouble": false,
"nodeId": "1"
}