We are executing the perf-object-instance-list-info-iter for cifs object to get the instance list and then the perf-object-get-instances to get the actual counter values for each instance.
The data returned shows same vserver with multiple nodes. How is this possible ?
Here is what we get from the API. Here the name is repeated(same vserver) with different UUID and the UUID has a different node name. If we execute the perf-object-get-instances using these UUIDs then we get two sets of data for each vserver. Is this correct ? Also how do we interpret this. Since the vserver, aggregate and node information that we have indicate that each vserver is coming from one node.
CIFS is a service running on a SVM on a node, so the base 'cifs' CM object includes exactly that, stats per SVM per node. If you had all your lifs on a single node I expect the instances on other nodes will just show zero values. If you're not interested in them just discard from your client application.
In cDOT there are also aggregation counters like 'cifs:node' and 'cifs:vserver' which basically do a summarization for you from a per-node or per-SVM perspective. Check the instance list for 'cifs:vserver' and you'll see there is one entry for each CIFS SVM which is a summarization of the node counters. My guess is using this aggregated counter might be easier for you.
Lastly, also check the SMB2 object for a richer set of counters related to CIFS SMB2/3. You can get per optype latency for example.
Hope this helps and good luck!
Regards, Chris Madden Storage Architect, NetApp EMEA