Software Development Kit (SDK) and API Discussions

Any NMSDK API to get performance data like OPS and latency for storage controller?

lb98
3,407 Views

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!

 

4 REPLIES 4

asulliva
3,373 Views

Hello @lb98,

 

Use the "system:node" set of counters to get, among other things, node operations.

 

Hope that helps.

 

Andrew

If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

lb98
3,358 Views

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 20
10

 

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!

 

 

asulliva
3,335 Views

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

If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

lb98
3,297 Views

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!

Public