prometheus-net 4.0.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.

Requires NuGet 2.8 or higher.

dotnet add package prometheus-net --version 4.0.0                
NuGet\Install-Package prometheus-net -Version 4.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="prometheus-net" Version="4.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add prometheus-net --version 4.0.0                
#r "nuget: prometheus-net, 4.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install prometheus-net as a Cake Addin
#addin nuget:?package=prometheus-net&version=4.0.0

// Install prometheus-net as a Cake Tool
#tool nuget:?package=prometheus-net&version=4.0.0                

.NET client library for the Prometheus monitoring and alerting system

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 is compatible.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 2.1

    • No dependencies.
  • .NETFramework 4.6.1

  • .NETStandard 2.0

    • No dependencies.

NuGet packages (142)

Showing the top 5 NuGet packages that depend on prometheus-net:

Package Downloads
prometheus-net.AspNetCore

ASP.NET Core middleware and stand-alone Kestrel server for exporting metrics to Prometheus

prometheus-net.DotNetRuntime

Exposes .NET core runtime metrics (GC, JIT, lock contention, thread pool, exceptions) using the prometheus-net package.

MassTransit.Prometheus

MassTransit Prometheus support; MassTransit provides a developer-focused, modern platform for creating distributed applications without complexity.

AspNetCore.HealthChecks.Prometheus.Metrics

HealthChecks.Publisher.Prometheus is a health check prometheus metrics exporter.

prometheus-net.Contrib

Exposes .NET core diagnostic listeners and counters

GitHub repositories (27)

Showing the top 5 popular GitHub repositories that depend on prometheus-net:

Repository Stars
jellyfin/jellyfin
The Free Software Media System
microsoft/reverse-proxy
A toolkit for developing high-performance HTTP reverse proxy applications.
Xabaril/AspNetCore.Diagnostics.HealthChecks
Enterprise HealthChecks for ASP.NET Core Diagnostics Package
asynkron/protoactor-dotnet
Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Azure/iotedge
The IoT Edge OSS project
Version Downloads Last updated
8.2.1 13,801,658 1/3/2024
8.2.1-pre-240103185829-60e9106 1,059 1/3/2024
8.2.0 1,454,336 12/5/2023
8.2.0-pre-231205215128-a2c1c8f 1,293 12/5/2023
8.2.0-pre-231205134623-36b4750 1,259 12/5/2023
8.2.0-pre-231204222617-7837255 1,246 12/4/2023
8.2.0-pre-231204170437-99f640f 1,321 12/4/2023
8.2.0-pre-231204094406-885f52c 1,232 12/4/2023
8.2.0-pre-231204084751-4d19b42 1,281 12/4/2023
8.2.0-pre-231128134008-9a7dad2 1,793 11/28/2023
8.1.1 572,786 11/28/2023
8.1.1-pre-231128114341-17bb2a0 1,259 11/28/2023
8.1.0 2,150,521 10/29/2023
8.1.0-pre-231028004937-71a8668 2,699 10/28/2023
8.0.1 10,961,703 7/18/2023
8.0.1-pre-230718073955-ea794f6 1,807 7/18/2023
8.0.1-pre-230718042806-718dffc 1,763 7/18/2023
8.0.0 9,969,736 2/17/2023
8.0.0-pre-230212122408-a055f5b 5,761 2/12/2023
8.0.0-pre-230210074852-a7c1277 1,783 2/10/2023
8.0.0-pre-230209100041-c35ac64 3,643 2/9/2023
8.0.0-pre-230209074620-4f8f59c 1,780 2/9/2023
8.0.0-pre-230203154858-4bf76fb 2,582 2/3/2023
8.0.0-pre-230203125716-1813839 1,753 2/3/2023
8.0.0-pre-230203073826-06c2e2f 2,904 2/3/2023
8.0.0-pre-230201062733-ece2743 1,915 2/1/2023
8.0.0-pre-230127154206-9ec9e9b 3,874 1/27/2023
8.0.0-pre-230127124604-8b7c7e1 1,706 1/27/2023
8.0.0-pre-230127111923-d72115a 1,779 1/27/2023
8.0.0-pre-230127084218-90f4311 1,718 1/27/2023
8.0.0-pre-230127075825-bfc1041 1,834 1/27/2023
8.0.0-pre-230126143551-210a1ab 1,779 1/26/2023
8.0.0-pre-230119065217-312c2e9 5,110 1/19/2023
8.0.0-pre-230116052305-1ed397b 2,686 1/16/2023
8.0.0-pre-230102092516-2351266 6,094 1/2/2023
8.0.0-pre-230101195105-9f23889 1,764 1/1/2023
8.0.0-pre-230101084444-630935f 1,679 1/1/2023
8.0.0-pre-221231102537-13e7ac6 1,755 12/31/2022
8.0.0-pre-221231100152-fb39dcb 1,759 12/31/2022
8.0.0-pre-000351-fb39dcb 1,261 12/31/2022
8.0.0-pre-000347-e83cc87 1,256 12/30/2022
8.0.0-pre-000346-e83cc87 1,277 12/30/2022
8.0.0-pre-000342-4d6812e 1,947 12/29/2022
7.1.0-pre-000318-0479f53 37,197 11/15/2022
7.1.0-pre-000310-9c9e1e9 5,885 11/7/2022
7.1.0-pre-000307-f980713 3,281 10/27/2022
7.0.0 13,035,942 10/26/2022
7.0.0-pre-000305-75cc817 6,326 10/17/2022
7.0.0-pre-000304-cbb305a 1,725 10/17/2022
7.0.0-pre-000303-5a44ada 2,034 10/16/2022
7.0.0-pre-000301-06c5932 2,049 10/13/2022
7.0.0-pre-000298-4b8d3e7 1,816 10/13/2022
7.0.0-pre-000297-7068d28 1,698 10/13/2022
7.0.0-pre-000296-5b1a1c4 29,354 10/5/2022
7.0.0-pre-000294-486fcd8 1,791 10/5/2022
7.0.0-pre-000293-d13fe06 2,148 10/4/2022
7.0.0-pre-000292-88fbe2a 1,818 10/4/2022
7.0.0-pre-000288-4688bd3 2,269 10/2/2022
7.0.0-pre-000282-d90ebf3 2,991 9/28/2022
7.0.0-pre-000280-ce6d494 1,748 9/28/2022
7.0.0-pre-000277-6bc5023 1,817 9/27/2022
7.0.0-pre-000276-9e65611 1,946 9/23/2022
7.0.0-pre-000270-ee6c23e 1,830 9/23/2022
7.0.0-pre-000269-08d9f2c 1,752 9/22/2022
7.0.0-pre-000259-7317089 2,520 9/21/2022
7.0.0-pre-000244-66d82e6 1,868 9/19/2022
6.0.0 23,796,056 3/3/2022
6.0.0-pre-000234-4598e28 2,058 3/3/2022
6.0.0-pre-000233-0dd30d3 2,893 3/2/2022
6.0.0-pre-000231-38d45fa 50,476 2/20/2022
6.0.0-pre-000223-ab9edeb 2,160 2/18/2022
5.1.0-pre-000215-c81d12d 17,370 1/22/2022
5.0.2 9,095,643 11/19/2021
5.0.2-pre-000210-fbf24c8 8,917 11/19/2021
5.0.1 13,155,776 8/19/2021
5.0.1-pre-000202-59e0610 2,477 8/19/2021
5.0.0 236,690 8/18/2021
5.0.0-pre-000201-8d79f11 5,066 7/30/2021
5.0.0-pre-000200-0afede9 2,628 7/30/2021
4.3.0-pre-000199-35f4961 2,643 7/29/2021
4.3.0-pre-000198-79466f7 2,493 7/29/2021
4.2.0 4,561,647 7/6/2021
4.2.0-pre-000195-ec10b08 2,523 7/6/2021
4.2.0-pre-000194-7aacfb0 2,491 7/6/2021
4.1.1 27,151,359 12/12/2020
4.1.1-pre-000180-1cfbebb 2,738 12/12/2020
4.1.0 19,558 12/12/2020
4.1.0-pre-000179-9582014 2,679 12/12/2020
4.1.0-pre-000171-15be8f3 6,692 12/6/2020
4.0.0 3,359,960 10/18/2020
4.0.0-pre-000158-d425fff 2,721 10/18/2020
4.0.0-pre-000134-2fea549 83,729 7/6/2020
3.6.0 6,724,439 6/19/2020
3.6.0-pre-000131-673cfe2 2,703 6/19/2020
3.6.0-pre-000129-bd91778 6,946 6/16/2020
3.5.0 5,609,264 3/9/2020
3.5.0-pre-000099-ee2bdbd 14,122 3/9/2020
3.5.0-pre-000098-f9cb93e 9,265 2/9/2020
3.4.0 2,216,460 12/26/2019
3.4.0-pre-000084-e9d0f37 2,686 12/26/2019
3.4.0-pre-000082-546478d 5,097 12/23/2019
3.4.0-pre-000081-1712a44 2,694 12/23/2019
3.4.0-pre-000079-eff2a83 2,706 12/22/2019
3.4.0-pre-000078-34a900d 2,658 12/22/2019
3.4.0-pre-000077-0ace5bd 2,713 12/20/2019
3.4.0-pre-000067-701dfdc 2,622 12/19/2019
3.3.1-pre-000052-0842664 4,076 12/13/2019
3.3.0 5,890,354 10/18/2019
3.3.0-pre-000042-252e89c 2,637 10/18/2019
3.2.1 507,280 10/2/2019
3.2.1-pre-000036-696f4ab 2,621 10/2/2019
3.2.0 5,405 10/1/2019
3.2.0-pre-000035-8d4cf7d 2,607 10/1/2019
3.2.0-pre-000032-9939133 2,583 9/25/2019
3.2.0-pre-000028-abe3225 2,604 9/25/2019
3.2.0-pre-000027-29e0fce 2,648 9/25/2019
3.1.5-pre-000023-d29ca37 3,093 9/24/2019
3.1.5-pre-000021-8c7b328 2,664 9/24/2019
3.1.5-pre-000020-5a2fc50 2,682 9/24/2019
3.1.4 2,073,738 6/20/2019
3.1.4-pre-000016-95d0170 2,635 6/20/2019
3.1.3 372,958 5/30/2019
3.1.3-pre-000009-505a08e 2,728 5/29/2019
3.1.3-cb-000009-505a08e 2,672 5/29/2019
3.1.2 8,636,308 4/27/2019
3.1.2-pre-006681-4f8ce09 6,164 4/23/2019
3.1.1 199,142 4/10/2019
3.1.1-pre-006463-cd3cd18 2,654 4/10/2019
3.1.0 159,175 3/29/2019
3.1.0-pre-006304-959164e 2,657 3/27/2019
3.1.0-pre-006267-9aac888 5,634 3/22/2019
3.1.0-pre-006177-d35e0b8 2,851 3/15/2019
3.0.3 467,875 2/11/2019
3.0.2 9,759 2/7/2019
3.0.1 6,041 2/6/2019
3.0.0 96,398 2/5/2019
3.0.0-pre-005830-d9493da 2,811 2/4/2019
3.0.0-pre-005828-27b7100 2,765 2/4/2019
3.0.0-pre-005823-68ad8e2 2,699 2/4/2019
3.0.0-pre-005803-4289c4a 2,734 2/1/2019
3.0.0-pre-005801-6f306bc 2,850 1/31/2019
3.0.0-pre-005800-ec1da05 2,817 1/31/2019
3.0.0-pre-005795-6aca95b 2,797 1/30/2019
3.0.0-pre-005647-e277cbe 4,318 1/9/2019
2.1.3 1,812,991 9/25/2018
2.1.3-pre-005238-380e4ab 2,895 9/25/2018
2.1.2 42,919 9/6/2018
2.1.2-pre-005131-012bc01 3,047 9/6/2018
2.1.1-pre-004445-bc00b93 7,263 5/25/2018
2.1.0 855,017 4/13/2018
2.1.0-pre-003985-910fb52 3,087 4/11/2018
2.1.0-pre-003982-37c9f93 2,952 4/11/2018
2.0.0 312,578 2/26/2018
2.0.0-pre-003523-49de0a3 4,324 2/22/2018
2.0.0-pre-003112-3de1c34 4,861 2/7/2018
2.0.0-pre-003077-0447c86 4,054 2/5/2018
2.0.0-pre-003054-ffb96c7 3,168 2/1/2018
2.0.0-pre-003051-6f12a46 3,260 2/1/2018
2.0.0-pre-003009-4e26344 10,867 1/27/2018
2.0.0-pre-002968-9fcb8aa 3,143 1/25/2018
1.3.6-rc 32,687 5/5/2017
1.3.5 200,235 3/18/2017
1.3.4 10,302 3/10/2017
1.3.4-beta 2,237 1/16/2017
1.2.4 10,205 11/9/2016
1.2.3 2,653 10/31/2016
1.2.2.1 18,478 8/20/2016
1.1.4 3,503 7/14/2016
1.1.3 3,214 6/1/2016
1.1.2 2,441 5/21/2016
1.1.1 2,636 4/25/2016
1.1.0 2,712 3/8/2016
0.0.11 5,233 1/11/2016
0.0.10 2,270 12/19/2015
0.0.9 2,394 12/4/2015
0.0.8 2,434 12/2/2015
0.0.7 2,538 11/26/2015
0.0.6 2,425 11/18/2015
0.0.5 2,841 11/6/2015
0.0.3 2,587 4/15/2015

* 4.0.0
- Allow arbitrary ASP.NET Core route parameters to be exposed as HTTP metric labels. #225
- Breaking change: some HTTP metrics implementation classes were changed from public to internal. They were never supposed to be public and hopefully nobody ever used them directly. Public documented API did not change.
- Add HttpClient metrics with IHttpClientFactory integration.
* 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
- Add MetricOptions and subclasses for more extensible API (old API surface remains available)
- Add SuppressInitialValue to metric configuration (ref https://www.robustperception.io/existential-issues-with-metrics/)
- Add .WithLabels() as alternative to .Labels() for fewer annoying Intellisense conflicts.
* 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