Пример #1
0
        /// <summary>Gets column provider for the metric values.</summary>
        /// <param name="metric">The metric to get columns for.</param>
        /// <param name="columns">The columns to include.</param>
        /// <returns>Column provider for the metric values</returns>
        public IColumnProvider GetColumnProvider(MetricInfo metric, MetricValueColumns columns)
        {
            Code.NotNull(metric, nameof(metric));
            EnumCode.FlagsDefined(columns, nameof(columns));
            Code.AssertArgument(
                metric.ValuesProvider == this, nameof(metric),
                "Passed ValuesProvider does not match to this one.");

            return(GetColumnProviderOverride(metric, columns));
        }
Пример #2
0
        /// <summary>Creates the column provider for the metric columns.</summary>
        /// <param name="metric">The metric to get columns for.</param>
        /// <param name="columns">The columns to include.</param>
        /// <returns>Column provider for the metric columns</returns>
        protected static IColumnProvider CreateColumnProvider([NotNull] MetricInfo metric, MetricValueColumns columns)
        {
            var resultColumns = _columnKinds
                                .Where(p => columns.IsFlagSet(p.Key))
                                .Select(p => (IColumn) new MetricValueColumn(metric, p.Value))
                                .ToArray();

            return(new SimpleColumnProvider(resultColumns));
        }
Пример #3
0
        /// <summary>Gets column provider for the metric values.</summary>
        /// <param name="metric">The metric to get columns for.</param>
        /// <param name="columns">The columns to include.</param>
        /// <returns>Column provider for the metric values</returns>
        protected virtual IColumnProvider GetColumnProviderOverride(MetricInfo metric, MetricValueColumns columns)
        {
            if (columns == MetricValueColumns.Auto)
            {
                columns = metric.MetricColumns;
            }

            if (columns == MetricValueColumns.Auto)
            {
                columns = MetricValueColumns.Mean;
            }

            return(CreateColumnProvider(metric, columns));
        }
Пример #4
0
 public IColumnProvider GetColumnProvider(MetricValueColumns columns) => ValuesProvider.GetColumnProvider(this, columns);