Hello again Christoph,
I agree, it looks like perf-object-get-instances and perf-object-get-instances-iter-start are not behaving correctly in 8.1.2P3. I searched and there's some ongoing discussion around these APIs in our bug tracker. I'll try to alert them to your findings.
I found a workaround that should get your call working. Set the instances value to all of the active disk instances. You can find them with:
<?xml version="1.0" encoding="UTF-8"?>
<netapp xmlns="http://www.netapp.com/filer/admin" version="1.19">
<perf-object-instance-list-info>
<objectname>disk</objectname>
</perf-object-instance-list-info>
</netapp>
That will return your perf disk instances, which will look something like this:
<?xml version="1.0" encoding="UTF-8"?>
<netapp xmlns="http://www.netapp.com/filer/admin" version="1.1">
<results status="passed">
<instances>
<instance-info>
<name>4E455441:50502020:56442D31:3030304D:422D465A:2D353230:33383238:33323030:00000000:00000000</name>
</instance-info>
<instance-info>
<name>4E455441:50502020:56442D31:3030304D:422D465A:2D353230:33383238:33323031:00000000:00000000</name>
</instance-info>
<instance-info>
<name>4E455441:50502020:56442D31:3030304D:422D465A:2D353230:33383238:33323032:00000000:00000000</name>
</instance-info>
</instances>
</results>
</netapp>
Then, run your perf-object-get-instances-iter-start call, specifying all of the instances:
<?xml version="1.0" encoding="UTF-8"?>
<netapp xmlns="http://www.netapp.com/filer/admin" version="1.19">
<perf-object-get-instances-iter-start>
<objectname>disk</objectname>
<counters>
<counter>cp_read_blocks</counter>
</counters>
<instances>
<instance>4E455441:50502020:56442D31:3030304D:422D465A:2D353230:33383238:33323030:00000000:00000000</instance>
<instance>4E455441:50502020:56442D31:3030304D:422D465A:2D353230:33383238:33323031:00000000:00000000</instance>
<instance>4E455441:50502020:56442D31:3030304D:422D465A:2D353230:33383238:33323032:00000000:00000000</instance>
</instances>
</perf-object-get-instances-iter-start>
</netapp>
That strategy should also work with the perf-object-get-instances API if you don't need to break up the data with the iter-* calls.
-Ben