/// <inheritdoc cref="StandardScanShareableAnalyzer{S}.FromAggregationResult"/> public virtual DoubleMetric FromAggregationResult(Row result, int offset) { if (result.Values.Length <= offset || result[offset] == null) { return(AnalyzersExt.MetricFromEmpty(this, Name, string.Join(',', Columns), AnalyzersExt.EntityFrom(Columns))); } return(ToSuccessMetric(result.GetAs <double>(offset))); }
/// <inheritdoc cref="ScanShareableAnalyzer{S,M}.ComputeMetricFrom"/> public override DoubleMetric ComputeMetricFrom(Option <FrequenciesAndNumRows> state) { if (!state.HasValue) { return(AnalyzersExt.MetricFromEmpty(this, Name, string.Join(',', Columns), AnalyzersExt.EntityFrom(Columns))); } IEnumerable <Column> aggregations = AggregationFunctions(state.Value.NumRows); Row result = state.Value.Frequencies .Agg(aggregations.First(), aggregations.Skip(1).ToArray()) .Collect() .FirstOrDefault(); return(FromAggregationResult(result, 0)); }
/// <summary> /// Converts an <see cref="Exception"/> to a <see cref="DoubleMetric"/>. /// </summary> /// <param name="exception">The exception to convert into <see cref="DoubleMetric"/>.</param> /// <returns>The instance of type <see cref="DoubleMetric"/> that represents the exception.</returns> public override DoubleMetric ToFailureMetric(Exception exception) => AnalyzersExt.MetricFromFailure(exception, Name, string.Join(',', Columns), AnalyzersExt.EntityFrom(Columns));
/// <summary> /// Converts a value to a <see cref="DoubleMetric"/>. /// </summary> /// <param name="value">The value to convert into <see cref="DoubleMetric"/>.</param> /// <returns>The instance of type <see cref="DoubleMetric"/> that represents the value.</returns> protected DoubleMetric ToSuccessMetric(double value) => AnalyzersExt.MetricFromValue(value, Name, string.Join(',', Columns), AnalyzersExt.EntityFrom(Columns));