prometheus-net.AspNetCore.HealthChecks 3.6.0-pre-000131-673cfe2

ASP.NET Core Health Checks integration with Prometheus

No packages depend on prometheus-net.AspNetCore.HealthChecks.

  • 3.6.0
  • Added ASP.NET Core health check publisher for publishing metrics on health check status. #203 #209
  • Fixed hang in ASP.NET Web API exporter. #215
  • Fixed ASP.NET Web API exporter exporting metrics from the wrong registry. #217
  • Reduced memory use in MetricPusher implementation. Inspired by #208
  • Added basic gRPC service metrics support. #212
  • Reduce pointless log spam on cancelled scrapes - will silently ignore cancelled scrapes in the ASP.NET Core exporter. #220
  • 3.5.0
  • Exposed metric.Unpublish() method since there was already a matching Publish() there.
  • When the scrape is aborted, stop collecting/serializing metrics. #189
  • Added simple metric export handler for legacy ASP.NET Web API, to avoid having to deal with HttpListener complexity.
  • 3.4.0
  • Separate packaging for ASP.NET Core 3 to reduce package reference management complexity for users. #164
  • Lazy-initialize the default sample metrics to reduce initialization cost for those who do not need them. #170
  • ASP.NET Core middlware no longer disposes of output stream. #171
  • Fix DotNetStats occasional data tearing under parallel collections. #173
  • Improved wording of some error messages. #169
  • Added Counter.IncTo(), Gauge.IncTo(), Gauge.DecTo(). #181
  • Added Gauge.Set(DateTimeOffset) and Gauge.IncTo(DateTimeOffset). #181
  • Improve .NET Framework 4.6.1 packaging to include the ValueTuple reference automatically. #179
  • ASP.NET Core HTTP metrics now capture route data before it is overwritten by an exception handler. #177
  • ASP.NET Core HTTP "in progress" metrics now include controller/action labels (ASP.NET Core 3 only).
  • Fixed concurrently defect in HTTP metrics that may have caused label values from wrong request to apply. #182
  • The HttpListener based MetricServer can now handle more than one concurrent request.
  • Added asynchronous "before collect" callbacks, giving user code more flexibility in metric updates.
  • Added .Remove() to labeled metric instances for more convenient removal API (previously had to call method on parent instance).
  • Added .Unpublish() to labeled metric instances to support temporary unpublishing of a metric, without discarding collected data (e.g. histogram buckets), during periods of data unavailability.
  • 3.3.0
  • Add ability to filter requests by port number when exporting metrics. #160
  • 3.2.1
  • Fix NuGet packaging defect that caused reference failures after installing .2.0 on .NET Core 2.1 or newer. #158
  • 3.2.0
  • Enable custom HTTP client to be used in MetricPusher, allowing for Basic auth and more flexibility. #125
  • Add DiagnosticSourceAdapter (.NET Core only). #153
  • Improved compatibility with older .NET Framework versions. #155
  • 3.1.4
  • Fix timezone mismatch in Summary that led to unintended delays in buffer flushing. #149
  • 3.1.3
  • Fix regression introduced in 3.1.0 where MetricPusher does not always flush metrics before stopping.
  • 3.1.2
  • Fix defect where Histogram batch observations only incremented sum by one value, instead of entire batch. #147
  • 3.1.1
  • Added missing UTF-8 charset to Content-Type header, so non-ASCII characters are interpreted correctly by browsers.
  • 3.1.0
  • Added ICounter.NewTimer() (adds the value to the counter)
  • Eliminated some needless allocations when trying to register a metric that is already registered. #134
  • Added IHistogram.Count and IHistogram.Sum to expose aspects of collected data for inspection.
  • Added Collector.GetAllLabelValues() to expose the list of child metrics by all their known label values.
  • Metric export is now asynchronous internally to be compatible with ASP.NET Core 3.0 default configuration.
  • Added CollectorRegistry.CollectAndExportAsTextAsync() to support metric data export via arbitrary custom endpoints.
  • 3.0.3
  • Now backward compatible with ASP.NET Core 2.1 (was 2.2+)
  • 3.0.2
  • Fix defect where histogram sum failed to increment.
  • 3.0.1
  • Fix ObjectDisposedException in MetricPusher.
  • 3.0.0
  • Added HTTP request metrics for ASP.NET Core.
  • Somewhat more realistic examples in readme.
  • Metrics exporter is now significantly more CPU and memory-efficient.
  • Added Observe(value, count) to histogram metric, enabling multiple observations with the same value to be counted.
  • Added CountExceptions() and MeasureInProgress() helper extensions.
  • Adjusted API to better conform to Prometheus client library guidelines in terms of default values.
  • Breaking change: assemblies are now strong-named.
  • Breaking change: removed "windows" from built-in metric names as they are not Windows-specific.
  • Breaking change: removed support for protobuf export format (it is no longer used by Prometheus).
  • Breaking change: API surface cleaned up, removed some legacy methods, made many internal types actually internal.
  • Breaking change: "on demand collectors" concept replaced with simpler "before collect callbacks". Works the same, just less code needed to use it and fewer possible error conditions.
  • Breaking change: removed support for "custom collectors", as this was a very special use case that did not benefit at all from the main functionality of the library. Just generate a Prometheus exporter output document yourself if you need to export arbitrary data.
  • 2.1.3
  • Fixed wrong case used for metric type in the export data format. Should always be lowercase. #96
  • 2.1.2
  • Fixed potential conflict when using pushgateway and also other exporter libraries (see #89)
  • 2.1.1
  • Various minor fixes (see issues on GitHub for details).
  • 2.1.0
  • 2.0.0
  • Targeting .NET Standard 2.0 as minimum version (.NET Framework 4.6.1, .NET Core 2.0 and Mono 5.4)
  • Added ASP.NET Core middlware
  • Added possibility to signal a failed scrape from on-demand collectors
  • Removed dependency on Reactive Extensions
  • Minor breaking changes to API
  • Performance improvements for hot-path code
  • Removed mostly obsolete PerfCounterCollector class
  • Fixed NuGet package contents to remove assemblies from dependencies
  • Various minor fixes (see issues on GitHub for details)
  • 1.3.4
  • Added support for .NET 4.5 using System.Reactive 3.1.1.
  • .NET 4.0 support continues to target Rx 2.5
  • 1.2.4:
  • Fixed MetricPusher not flushing metrics when stopped
  • 1.2.3:
  • Fixed label values escaping for ASCII formatter
  • 1.2.2:
  • PushGateway support
  • Various internal improvements (replaced locks with Interlocked operations)
  • 1.1.4:
  • Fixed some metrics not updating, added process ID metric
  • Replaced lock statements in Counter and Gauge with CAS
  • 1.1.3:
  • optionally use https in MetricServer
  • 1.1.2:
  • using UTF-8 in text formatter
  • catching exceptions in MetricServer http loop
  • 1.1.1:
  • disposing of MetricServer loop on Stop()
  • 1.1.0:
  • Renamed some metric names to be in-line with prometheus guidelines (breaking change as far as the exported metrics are concerned)
  • 1.0.0:
  • Add CPU, num handles, start time, num threads metrics to dot net stats collector
  • Made DotNetStatsCollector default (previously it was PerfCounterCollector)
  • 0.0.11:
  • Summary metric ported from go
  • 0.0.10:
  • Fix header writing order
  • 0.0.9:
  • Generalise scraping so it can be called externally without using the embedded http handler
  • 0.0.8:
  • Introduced interfaces for all the metrics to make unlabelled collectors and their children polymorph
  • 0.0.7:
  • Added the notion of OnDemandCollectors + a DotNetStatsCollector to avoid having to use .net perf counters
  • 0.0.6:
  • Do not create unlabelled metric if label names are specified
  • 0.0.5:
  • Allow specifying hostname in URL
  • Fix null ref exception if 'Accept' header is not specified
  • 0.0.3 - initial version

.NET Standard 2.0

.NET Core 3.1

Version Downloads Last updated
8.2.1 14 09/15/2024
8.2.1-pre-240103185829-60e9106 6 02/22/2025
8.2.0 8 02/20/2025
8.2.0-pre-231205215128-a2c1c8f 7 03/12/2025
8.2.0-pre-231205134623-36b4750 7 02/22/2025
8.2.0-pre-231204222617-7837255 9 02/22/2025
8.2.0-pre-231204170437-99f640f 8 02/22/2025
8.2.0-pre-231204094406-885f52c 5 03/28/2025
8.2.0-pre-231204084751-4d19b42 7 02/20/2025
8.2.0-pre-231128134008-9a7dad2 8 02/22/2025
8.1.1 8 02/20/2025
8.1.1-pre-231128114341-17bb2a0 4 03/28/2025
8.1.0 7 02/20/2025
8.1.0-pre-231028004937-71a8668 6 03/12/2025
8.0.1 7 02/20/2025
8.0.1-pre-230718073955-ea794f6 8 02/22/2025
8.0.1-pre-230718042806-718dffc 4 02/22/2025
8.0.0 7 02/20/2025
8.0.0-pre-230212122408-a055f5b 6 02/22/2025
8.0.0-pre-230210074852-a7c1277 8 02/22/2025
8.0.0-pre-230209100041-c35ac64 7 02/22/2025
8.0.0-pre-230209074620-4f8f59c 5 03/28/2025
8.0.0-pre-230203154858-4bf76fb 4 02/22/2025
8.0.0-pre-230203125716-1813839 5 03/28/2025
8.0.0-pre-230203073826-06c2e2f 5 03/12/2025
8.0.0-pre-230201062733-ece2743 4 03/28/2025
8.0.0-pre-230127154206-9ec9e9b 5 03/28/2025
8.0.0-pre-230127124604-8b7c7e1 8 02/22/2025
8.0.0-pre-230127111923-d72115a 8 02/22/2025
8.0.0-pre-230127084218-90f4311 6 03/12/2025
8.0.0-pre-230127075825-bfc1041 7 02/22/2025
8.0.0-pre-230126143551-210a1ab 6 02/22/2025
8.0.0-pre-230119065217-312c2e9 6 02/22/2025
8.0.0-pre-230116052305-1ed397b 7 02/22/2025
8.0.0-pre-230102092516-2351266 7 02/22/2025
8.0.0-pre-230101195105-9f23889 6 02/22/2025
8.0.0-pre-230101084444-630935f 6 03/12/2025
8.0.0-pre-221231102537-13e7ac6 4 03/28/2025
8.0.0-pre-221231100152-fb39dcb 5 03/28/2025
8.0.0-pre-000342-4d6812e 7 02/22/2025
7.1.0-pre-000318-0479f53 7 02/20/2025
7.1.0-pre-000310-9c9e1e9 6 02/20/2025
7.1.0-pre-000307-f980713 8 02/22/2025
7.0.0 8 02/20/2025
7.0.0-pre-000305-75cc817 8 02/22/2025
7.0.0-pre-000304-cbb305a 6 02/21/2025
7.0.0-pre-000303-5a44ada 7 02/21/2025
7.0.0-pre-000301-06c5932 8 02/22/2025
7.0.0-pre-000298-4b8d3e7 8 02/22/2025
7.0.0-pre-000297-7068d28 8 02/22/2025
7.0.0-pre-000296-5b1a1c4 8 02/22/2025
7.0.0-pre-000294-486fcd8 8 02/22/2025
7.0.0-pre-000293-d13fe06 9 02/22/2025
7.0.0-pre-000292-88fbe2a 9 02/22/2025
7.0.0-pre-000288-4688bd3 8 02/22/2025
7.0.0-pre-000282-d90ebf3 9 02/22/2025
7.0.0-pre-000280-ce6d494 8 02/22/2025
7.0.0-pre-000277-6bc5023 9 02/22/2025
7.0.0-pre-000276-9e65611 8 02/22/2025
7.0.0-pre-000270-ee6c23e 6 02/20/2025
7.0.0-pre-000269-08d9f2c 8 02/22/2025
7.0.0-pre-000259-7317089 9 02/22/2025
7.0.0-pre-000244-66d82e6 9 02/22/2025
6.0.0 7 02/20/2025
6.0.0-pre-000234-4598e28 7 02/20/2025
6.0.0-pre-000233-0dd30d3 7 02/20/2025
6.0.0-pre-000231-38d45fa 8 02/22/2025
6.0.0-pre-000223-ab9edeb 8 02/22/2025
5.1.0-pre-000215-c81d12d 8 02/22/2025
5.0.2 8 02/20/2025
5.0.2-pre-000210-fbf24c8 9 02/22/2025
5.0.1 7 02/20/2025
5.0.1-pre-000202-59e0610 8 02/22/2025
5.0.0 7 02/20/2025
5.0.0-pre-000201-8d79f11 8 02/22/2025
5.0.0-pre-000200-0afede9 7 02/20/2025
4.3.0-pre-000199-35f4961 7 03/21/2025
4.3.0-pre-000198-79466f7 7 03/28/2025
4.2.0 7 02/20/2025
4.2.0-pre-000195-ec10b08 8 02/22/2025
4.2.0-pre-000194-7aacfb0 8 02/22/2025
4.1.1 7 02/20/2025
4.1.1-pre-000180-1cfbebb 8 02/22/2025
4.1.0 7 02/20/2025
4.1.0-pre-000179-9582014 8 02/22/2025
4.1.0-pre-000171-15be8f3 7 02/22/2025
4.0.0 7 02/20/2025
4.0.0-pre-000158-d425fff 9 02/22/2025
4.0.0-pre-000134-2fea549 9 02/22/2025
3.6.0 8 02/20/2025
3.6.0-pre-000131-673cfe2 8 02/22/2025
3.6.0-pre-000129-bd91778 7 02/22/2025