Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
I can get OPS data for controller event at cluster mode from CLI:
dataontap-vsim-cluster::> statistics node show
dataontap-vsim-cluster : 10/31/2016 13:55:26
CPU *Total Latency
Node (%) Ops (ms)
------------------ --- ------ -------
dataontap-vsim-cm1 25 32 -
dataontap-vsim-cm2 6 4 -
But I do not know in how to get IOPS and latency of a controller using NMSDK API? I would assume I should try this:
perf-object-get-instances>
<counters>
<counter></counter>
</counters>
<filter-data></filter-data>
<instance-uuids>
<instance-uuid></instance-uuid>
</instance-uuids>
<instances>
<instance></instance>
</instances>
<objectname></objectname>
<privilege-level></privilege-level>
</perf-object-get-instances>
But I do not find objectname related to controller perfromance.
Any help on this will be greatly appreciated.
thanks!
Hello @lb98,
Use the "system:node" set of counters to get, among other things, node operations.
Hope that helps.
Andrew
Thanks!
For 7-mode, I was able to use system to get controller IOPS and latency value:
<?xml version="1.0" encoding="UTF-8"?>
<netapp xmlns="http://www.netapp.com/filer/admin" version="1.21">
<perf-object-get-instances>
<instances>
<instance>system</instance>
</instances>
<objectname>system</objectname>
</perf-object-get-instances>
</netapp>
For C-mode, I was able to use what you suggested to get controller IOPS and latency:
<?xml version="1.0" encoding="UTF-8"?>
<netapp xmlns="http://www.netapp.com/filer/admin" version="1.21">
<perf-object-get-instances>
<instances>
<instance>dataontap-vsim-cm1</instance>
</instances>
<objectname>system:node</objectname>
</perf-object-get-instances>
</netapp>
Do you know any documentation doucumented what aggregated object name I can use like system: node , volume: node etc?
I only have this copy:
NetApp® Unified Storage Performance Management Using Open Interfaces
Network Appliance, Inc.
March 2010
Though it is very helpful, but I do not see any place in it document all the aggregated( or combined) object names can be used.
Thanks again!
I don't know that the counters are in the documentation anywhere, but you can pull the information using the "perf-object-counter-list-info" API (or the "Get-NcPerfCounter" PowerShell cmdlet). There's some examples here.
Andrew
actually I tried to use the object name you mentioned on our NetApp simulator. I found controller (node) latency data in C-mode was never populated:
<?xml version="1.0" encoding="UTF-8"?>
<netapp xmlns="http://www.netapp.com/filer/admin" version="1.21">
<perf-object-get-instances>
<counters>
<counter>sys_avg_latency</counter>
<counter>system_ops</counter>
</counters>
<instances>
<instance>dataontap-vsim-cm1</instance>
</instances>
<objectname>system:node</objectname>
</perf-object-get-instances>
</netapp>
output:
<?xml version='1.0' encoding='UTF-8' ?>
<netapp version='1.30' xmlns='http://www.netapp.com/filer/admin'>
<!-- Output of perf-object-get-instances [Execution Time: 250 ms] -->
<results status='passed'>
<instances>
<instance-data>
<aggregation>
<aggregation-data>
<constituent-count>1</constituent-count>
<result>complete_aggregation</result>
</aggregation-data>
</aggregation>
<counters>
<counter-data>
<name>sys_avg_latency</name>
<value>0</value>
</counter-data>
<counter-data>
<name>system_ops</name>
<value>130489443</value>
</counter-data>
</counters>
<name>dataontap-vsim-cm1</name>
<uuid>be89058c-e786-11e4-82ba-dfc30ffeb3ee</uuid>
</instance-data>
</instances>
<timestamp>1478186585</timestamp>
</results>
</netapp>
Even from CLI, I can not see controller latency data:
dataontap-vsim-cluster::> statistics node show
dataontap-vsim-cluster : 11/2/2016 19:58:38
CPU *Total Latency
Node (%) Ops (ms)
------------------ --- ------ -------
dataontap-vsim-cm1 28 89 -
dataontap-vsim-cm2 25 8 -
Is this the issue of a simulator or NetApp does not report latency data on C-mode controller( node)?
Thanks again!