Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
Do anyone knows what this numbers means?
<instances>
<instance-data>
<name>vol0</name>
<counters>
<counter-data>
<name>parent_aggr</name>
<value>aggr0_Server1</value>
</counter-data>
<counter-data>
<name>avg_latency</name>
<value>44592640</value>
</counter-data>
<counter-data>
<name>total_ops</name>
<value>2561552</value>
</counter-data>
…
How can I read the avg_latency counter? Which measure and unit is used in it?
For a general overview of how the performance counter system works, read through the description found in the SDK here:
<sdk dir>/doc/ontapi/ontapi_1.11/perf/index.html
Of specific interest is the explanation of how to interpret the various counter types:
To understand more about a specific counter you can get details from the perf-object-counter-list-info API call:
Armed with this info, you should be able to interpret and present the latency values you are interested in. Make two calls to perf-object-get-instances, with a delay between them. Include both avg_latency and total_ops ( the base counter ).
From above we know 'average: delta divided by the delta of a base counter is used'. So perform the following calculation:
(avg_latency2-avg_latency1) / (total_ops2-total_ops1) => average latency in microseconds
To sanity test your application, compare your output with the output from ONTAP via the CLI:
Actual numbers: (598624907-596952932) / (149998706-149866390) => 12.636
filer1> stats show volume:vol0:avg_latency
volume:vol0:avg_latency:12.57us
Additionally, I'm not sure what language you are working with, but within the samples directory of the SDK there are a couple of perf related applications.
-ryan
Hi Ryan,
Your post has helped me immensely. A thousand thankyous.
-Mike
Once again - very helpful. Thankyou.