I did some Advanced Vendor certification XML for Disk IO stats quite some time back. As part of the certification I included a filter expression. I have attached the REST based vendor cert xml however here is just the expression group:
<Expressions>
<ExpressionGroup name="InformantAdvanved.MibDS" destCert="{http://im.ca.com/normalizer}GenericDiskAdvancedInfo">
<Filter>((!(lDiskInstance.toString() contains "_Total"))&&(!(lDiskInstance.toString() contains "Harddisk"))) </Filter>
<Expression destAttr="DiskReadsPerSec">lDiskDiskReadsPerSec</Expression>
<Expression destAttr="AverageDiskTimeRead">lDiskAvgDiskSecPerRead/1000</Expression>
<Expression destAttr="DiskWritesPerSec">lDiskDiskWritesPerSec</Expression>
<Expression destAttr="AverageDiskQueueLength">lDiskAvgDiskQueueLength</Expression>
<Expression destAttr="Descriptions">"InfDiskIO " + INDEX + "- " + lDiskInstance</Expression>
<Expression destAttr="Names">lDiskInstance</Expression>
<Expression destAttr="Indexes">INDEX</Expression>
<Expression destAttr="DiskIdleUtilization">lDiskPercentIdleTime</Expression>
<Expression destAttr="AverageTransferTime">lDiskAvgDiskSecPerTransfer/1000</Expression>
<Expression destAttr="DiskIOQueueLength">lDiskCurrentDiskQueueLength</Expression>
<Expression destAttr="DiskBytesReadsPerSec">lDiskDiskReadBytesPerSec</Expression>
<Expression destAttr="DiskReadsAndWritesPerSec">lDiskDiskReadsPerSec+lDiskDiskWritesPerSec</Expression>
<Expression destAttr="AverageTransferSize">lDiskAvgDiskBytesPerTransfer</Expression>
<Expression destAttr="DiskBytesWritesPerSec">lDiskDiskWriteBytesPerSec</Expression>
<Expression destAttr="AverageDiskTimeWrite">lDiskAvgDiskSecPerWrite/1000</Expression>
<Expression destAttr="DiskBytesReadsAndWritesPerSec">lDiskDiskReadBytesPerSec+lDiskDiskWriteBytesPerSec</Expression>
<Expression destAttr="DiskIOBusyUtilization">lDiskPercentDiskTime</Expression>
</ExpressionGroup>
</Expressions>
I recently did some dashboards for someone which included disk io and noticed that the normal C:, D:, etc disk it also had "_Total" and "HarddiskVolume1"
When I first developed this certification I was under the belief the filtering had worked yet now it seems to be ignoring the filter on discovery and update of the metric family.
Note our Dev system is 2.3.2 and Production is 2.2.2, neither seem to work