public IEnumerable<PSPoolUsageMetrics> ListPoolUsageMetrics(ListPoolUsageOptions options)
{
string verboseLogString = null;
ODATADetailLevel detailLevel = null;
if (!string.IsNullOrEmpty(options.Filter))
{
verboseLogString = Resources.GetPoolUsageMetricsByFilter;
detailLevel = new ODATADetailLevel(filterClause: options.Filter);
}
else
{
verboseLogString = Resources.GetPoolUsageMetricsByNoFilter;
}
PoolOperations poolOperations = options.Context.BatchOMClient.PoolOperations;
IPagedEnumerable<PoolUsageMetrics> poolUsageMetrics =
poolOperations.ListPoolUsageMetrics(options.StartTime, options.EndTime, detailLevel, options.AdditionalBehaviors);
return PSPagedEnumerable<PSPoolUsageMetrics, PoolUsageMetrics>.CreateWithMaxCount(
poolUsageMetrics, p => new PSPoolUsageMetrics(p), Int32.MaxValue, () => WriteVerbose(verboseLogString));
}
}