public void IntegerValueText(bool valueNull, int value) { var text = TextOutputUtilities.GetValueText(valueNull ? (int?)null : value); string expectedText = valueNull ? TextOutputUtilities.NotNumber : value.ToString("0"); Assert.IsNotNull(text, "Text not expected to be null"); Assert.IsTrue(string.Equals(text, expectedText), "Text not expected"); }
public void LabelText(bool labelsNull, bool useLabels, params string[] labels) { string[] testLabels = labelsNull ? null : labels; var text = TextOutputUtilities.GetLabelText(useLabels, testLabels); string expectedText = useLabels ? (testLabels?.Length ?? 0) == 0 ? TextOutputUtilities.EmptyLabelText : string.Join(TextOutputUtilities.LabelSeperator, testLabels) : ""; Assert.IsNotNull(text, "Text not expected to be null"); Assert.IsTrue(string.Equals(text, expectedText), "Text not expected"); }
/// <summary> /// Writes a summary /// </summary> /// <param name="name">The name of the metric</param> /// <param name="userState">A user state object that was provided to the provider</param> /// <param name="labels">The labels associated with the metric</param> /// <param name="count">The number of values</param> /// <param name="maximum">The maximum value</param> /// <param name="mean">The average value using a mean aggregation</param> /// <param name="minimum">The minimum value</param> /// <param name="p50">The 50th percentile</param> /// <param name="p90">The 90th percentile</param> /// <param name="p95">The 95th percentile</param> /// <param name="p98">The 98th percentile</param> /// <param name="p99">The 99th percentile</param> /// <param name="standardDeviation">The standard deviation</param> /// <param name="cancellationToken">A token to monitor for abort requests</param> public override Task MetricWriterSummaryAsync(object userState, string name, string[] labels, int?count, double?minimum, double?maximum, double?mean, double?standardDeviation, double?p50, double?p90, double?p95, double?p98, double?p99, CancellationToken cancellationToken) { return(Task.Run(() => Debug.Print($"{ _metricLabels[name] }{ name } = ( count = { TextOutputUtilities.GetValueText(count) }, min = { TextOutputUtilities.GetValueText(minimum) }, max = { TextOutputUtilities.GetValueText(maximum) }, mean = { TextOutputUtilities.GetValueText(mean) }, std = { TextOutputUtilities.GetValueText(standardDeviation) }, p50 = { TextOutputUtilities.GetValueText(p50) }, p90 = { TextOutputUtilities.GetValueText(p90) }, p95 = { TextOutputUtilities.GetValueText(p95) }, p98 = { TextOutputUtilities.GetValueText(p98) }, p99 = { TextOutputUtilities.GetValueText(p99) } )"))); }
/// <summary> /// Writes a metric /// </summary> /// <param name="name">The name of the metric</param> /// <param name="userState">A user state object that was provided to the provider</param> /// <param name="labels">The labels associated with the metric</param> /// <param name="value">The value that the metric is currently at</param> /// <param name="cancellationToken">A token to monitor for abort requests</param> public override Task MetricWriterSingleValueAsync(object userState, string name, string[] labels, double?value, CancellationToken cancellationToken) { return(Task.Run(() => Debug.Print($"{ _metricLabels[name] }{ name } = { TextOutputUtilities.GetValueText(value) }"))); }
/// <inheritdoc /> protected override void MetricPrecreate(string name, string help, bool delayPublish, string[] labels) { _metricLabels.Add(name, TextOutputUtilities.GetLabelText(_includeLabels, labels)); }
/// <summary> /// Writes a summary /// </summary> /// <param name="name">The name of the metric</param> /// <param name="userState">A user state object that was provided to the provider</param> /// <param name="labels">The labels associated with the metric</param> /// <param name="count">The number of values</param> /// <param name="maximum">The maximum value</param> /// <param name="mean">The average value using a mean aggregation</param> /// <param name="minimum">The minimum value</param> /// <param name="p50">The 50th percentile</param> /// <param name="p90">The 90th percentile</param> /// <param name="p95">The 95th percentile</param> /// <param name="p98">The 98th percentile</param> /// <param name="p99">The 99th percentile</param> /// <param name="standardDeviation">The standard deviation</param> /// <param name="cancellationToken">A token to monitor for abort requests</param> public override async Task MetricWriterSummaryAsync(object userState, string name, string[] labels, int?count, double?minimum, double?maximum, double?mean, double?standardDeviation, double?p50, double?p90, double?p95, double?p98, double?p99, CancellationToken cancellationToken) { await Console.Out.WriteLineAsync($"{ _metricLabels[name] }{ name } = ( count = { TextOutputUtilities.GetValueText(count) }, min = { TextOutputUtilities.GetValueText(minimum) }, max = { TextOutputUtilities.GetValueText(maximum) }, mean = { TextOutputUtilities.GetValueText(mean) }, std = { TextOutputUtilities.GetValueText(standardDeviation) }, p50 = { TextOutputUtilities.GetValueText(p50) }, p90 = { TextOutputUtilities.GetValueText(p90) }, p95 = { TextOutputUtilities.GetValueText(p95) }, p98 = { TextOutputUtilities.GetValueText(p98) }, p99 = { TextOutputUtilities.GetValueText(p99) } )").ConfigureAwait(false); }
/// <summary> /// Writes a metric /// </summary> /// <param name="name">The name of the metric</param> /// <param name="userState">A user state object that was provided to the provider</param> /// <param name="labels">The labels associated with the metric</param> /// <param name="value">The value that the metric is currently at</param> /// <param name="cancellationToken">A token to monitor for abort requests</param> public override async Task MetricWriterSingleValueAsync(object userState, string name, string[] labels, double?value, CancellationToken cancellationToken) { await Console.Out.WriteLineAsync($"{ _metricLabels[name] }{ name } = { TextOutputUtilities.GetValueText(value) }").ConfigureAwait(false); }