public async Task ExposeText(TextWriter writer, ExposeOptions options) { var labelList = BuildLabels(labelNames, labels); if (labelList.Length == 0) { await writer.WriteLineAsync($"# HELP {name} {help}"); await writer.WriteLineAsync($"# TYPE {name} histogram"); } long bucketsTotal = 0L; foreach (var bucket in buckets) { bucketsTotal += bucket.ItemCount; string labelforBucket = BuildHistogramLabels(labelList, bucket.Max, bucketsTotal); await writer.WriteLineAsync($"{name}_bucket{labelforBucket}"); } await writer.WriteLineAsync($"{name}_sum{labelList} {this.sum.Value.ToString(CultureInfo.InvariantCulture)}"); await writer.WriteLineAsync($"{name}_count{labelList} {bucketsTotal}"); }
public Task ExposeText(TextWriter writer, ExposeOptions options) { #if !NET452 return(Task.CompletedTask); #else return(Task.FromResult <object>(null)); #endif }
public async Task ExposeText(TextWriter writer, ExposeOptions options) { if (!children.IsEmpty) { await writer.WriteLineAsync($"# HELP {name} {help}"); await writer.WriteLineAsync($"# TYPE {name} histogram"); foreach (var child in children) { await child.Value.ExposeText(writer, options); } } }
public async Task Expose(Stream output, ExposeOptions options) { // collect standard exporter metrics if (coreclrExporter != null) { coreclrExporter.Collect(); } using (var writer = new StreamWriter(output, PrometheusConventions.PrometheusEncoding, 4096, true)) { writer.NewLine = "\n"; foreach (var exposable in exposables) { await exposable.Value.ExposeText(writer, options); await writer.WriteLineAsync(); } } }
public async Task ExposeText(TextWriter writer, ExposeOptions options) { string labelList = BuildLabels(labelNames, labels); if (labelList.Length == 0) { await writer.WriteLineAsync($"# HELP {name} {help}"); await writer.WriteLineAsync($"# TYPE {name} gauge"); } string epoch; if (!options.HasFlag(ExposeOptions.NoTimestamp)) { epoch = $" {DateTimeOffset.Now.ToUnixTimeMilliseconds()}"; } else { epoch = ""; } await writer.WriteLineAsync($"{name}{labelList} {gauge.Value.ToString(CultureInfo.InvariantCulture)}{epoch}"); }
public async Task Expose(Stream output, ExposeOptions options) { await registry.Expose(output, options); }