I too have seen shortcomings of get-naefficiency as well as get-ncefficiency.
I get these two errors intermittently with the 7 mode commandlet. The volumes are not offline though they are snapmirror destinations.
writeErrorStream : True
PSMessageDetails :
OriginInfo : server1
Exception : System.Management.Automation.RemoteException: The specified volume stlsqlcls02p_ccms2p_sysdb is offline.
TargetObject : filer1
CategoryInfo : InvalidOperation: (filer1:NaController) [Get-NaEfficiency], EVOLUMEOFFLINE
FullyQualifiedErrorId : ApiException,DataONTAP.PowerShell.SDK.Cmdlets.Toolkit.Efficiency.GetNaEfficiency
ErrorDetails :
InvocationInfo :
ScriptStackTrace :
PipelineIterationInfo : {}
writeErrorStream : True
PSMessageDetails :
OriginInfo : server1
Exception : System.Management.Automation.RemoteException: The specified volume stlsqlcls02p_ccms2p_userlog is in the
process of mounting.
TargetObject : filer1
CategoryInfo : InvalidOperation: (filer1:NaController) [Get-NaEfficiency], EVOLUMEMOUNTING
FullyQualifiedErrorId : ApiException,DataONTAP.PowerShell.SDK.Cmdlets.Toolkit.Efficiency.GetNaEfficiency
ErrorDetails :
InvocationInfo :
ScriptStackTrace :
PipelineIterationInfo : {}
And with an unitialized snapmirror destination on the cluster mode commandlet get this every time. It exits the commandlet before getting info from the remaining volumes:
Attempted to divide by zero.
+ CategoryInfo : InvalidOperation: (NetApp.Ontapi.Filer.C.NcController[]:NcController[]) [Get-NcEfficiency], DivideBy
ZeroException
+ FullyQualifiedErrorId : ApiException,DataONTAP.C.PowerShell.SDK.Cmdlets.Toolkit.Efficiency.GetNcEfficiency
+ PSComputerName : server1