prometheus-net.AspNetCore 7.1.0-pre-000307-f980713

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

Showing the top 20 packages that depend on prometheus-net.AspNetCore.

Packages Downloads
prometheus-net.AspNetCore.HealthChecks
ASP.NET Core Health Checks integration with Prometheus
307
Quantum.Framework.Core.NetCore
Package Description
65
Quantum.Framework.Core.NetCore
Package Description
66
Quantum.Framework.Core.NetCore
Package Description
67
Quantum.Framework.Core.NetCore
Package Description
69
Quantum.Framework.Core.NetCore
Package Description
70
Quantum.Framework.Core.NetCore
Package Description
71
Quantum.Framework.Core.NetCore
Package Description
72
Quantum.Framework.Core.NetCore
Package Description
77
Quantum.Framework.Core.NetCore
Package Description
78
Quantum.Framework.Core.NetCore
Package Description
79
Quantum.Framework.Core.NetCore
Package Description
80
Quantum.Framework.Core.NetCore
Package Description
93
Quantum.Framework.Core.NetCore
Package Description
98
Quantum.Framework.Core.NetCore
Package Description
117
Quantum.Framework.Core.NetCore
Package Description
118
Quantum.Framework.Core.NetCore
Package Description
129

* 7.1.0 - Added back .NET Standard 2.0 support as some customers had a hard dependency on .NET Standard 2.0 (despite not being a documented feature even earlier). * 7.0.0 - .NET Core specific functionality now targeting .NET 6.0 or greater (all previous versions will be end of life by December 2022). - Relaxed the API restriction that forbade you to create multiple metrics with the same name but different label names. While this is a Prometheus anti-pattern, it is a standard pattern in other metrics technologies and we will allow it in the name of interoperability. - Added IMetricFactory.WithLabels() to define static labels per-factory and reduce the effort needed by users when defining static labels in specific scopes. - Added automatic metric expiration feature, to remove timeseries when they are no longer used after a while. This improves interoperability with other metrics technologies such as .NET Meters. - (Breaking change) Rewrite of the MeterAdapter functionality to bridge .NET 6 metrics to Prometheus. API remains equivalent, though options class changed. Output format (what metrics are published) is completely different. Now it translates metric names (instead of putting them in labels) and preserves tags (labels) provided via the .NET Meters API. Added sample project to demonstrate functionality. Ref #359 - (Breaking change) Dropped support for .NET Standard 2.0 - now will target specifically .NET 6.0 and .NET Framework 4.6.2. This was already documented before but there was "unofficial" support also for .NET Standard remaining. This is now removed. - (Breaking change) EventCounterAdapter output format changed to translate counters to Prometheus metrics and to improve usability by publishing both counters and gauges from ambiguous event counters. - EventCounterAdapter and MeterAdapter are now enabled on startup by default. - Added some debug metrics to indicate the number of metric families, instances and timeseries being exported by prometheus-net. - Added typical benchmark results to readme for easy reference, and to show relative speed of the simple versus complex instruments. - Removed MetricConfiguration.StaticLabels because it had negative performance impact on many code paths that did not use it. The same functionality can be manually implemented in user code. Static labels remain available on registry and factory level. - When a before-collection metrics update callback throws an exception, it is now logged and ignored instead of breaking all metrics collection. - EventCounterAdapter now defaults to Informational events only, for reduced performance overhead. Can be configured via callback. * 6.0.0 - Dropped library support for unsupported .NET runtime versions (.NET 2.1). - If Razor Pages is enabled, the "page" label is now automatically added to the default HTTP server metrics, unless there is a user-defined label already present with this name. - The "endpoint" label is now automatically added to the default HTTP server metrics, containing this endpoint routing route pattern of the request, unless there is a user-defined label already present with this name. - Added integration with .NET EventCounters, which can now be easily exposed as Promtheus metrics (see EventCounterAdapter class). - Added integration with .NET Meters, which can now be easily exposed as Promtheus metrics (see MeterAdapter class). - Added ReplaceOnPush option to MetricPusher #305 #322. - Minimum .NET Framework version is now 4.6.2. * 5.1.0 - Add support for adding custom label value providers to HTTP server metrics. #347 * 5.0.2 - Bugfix: HttpClientMetrics under concurrent load with long-running requests were leading to broken response streams. #336 * 5.0.1 - Bugfix: PowersOfTenDividedBuckets did not work with >= 10 buckets due to overlap. Now skips overlapping region of generated series. * 5.0.0 - Added HTTP client metric that measures the response duration (time until response content reading is finished). - Added "client" label containing the name of HTTP client to HTTP client metrics. - Added "code" label with HTTP response code to HTTP client metrics. #299 - HTTP client metrics now count responses when they are completed, not when started, to match with HTTP server metrics. Also renamed metric to httpclient_requests_sent_total since it said "received" previously (due to copy-paste error from HTTP server metrics). - HTTP client metrics are now published via the netstandard package, without requiring ASP.NET Core. #314 - Added Counter.IncTo[Current]TimeUtc(). * 4.2.0 - Added Histogram.PowersOfTenDividedBuckets() - Improved accuracy of histogram bucket calculations to reduce the likelyhood of seeing 0.00000000000000000001 offsets from expected value due to floating point math. - Added ConfigureAwait(false) to MetricHandler to help avoid deadlocks in some rare scenarios. #308 - Fix defect where MetricPusher terminated when HttpClient signaled timeout. #302, #293 - No longer need to manually reference ASP.NET Core SDK in csproj file when installing prometheus-net.AspNetCore library. It gets automatically referenced now. #267 * 4.1.1 - Bugfix: HTTP request metrics in 4.1.0 got broken due to typo in middleware helper. * 4.1.0 - Fixed HttpClient metrics duration that was incorrectly measured. #265 - prometheus-net.NetFramework.AspNet is now strong named, just like all the other assemblies. #273 - NetFx target is now conditional for Windows builds only, to allow easier development work on nonwindows platforms. #264 - MetricPusher now supports a callback for logging push errors. #186 - Added support for defining static labels on registry or metric level. #256 - Added ICollectorRegistry and IMetricFactory for mocking in test code. #268 - Ignore /metrics URL by default in HTTP request metrics. - Fix overflow in Summary after observing more than uint.MaxValue events. #277 - Reduce allocations in hot paths. #276, #275 - Added request filtering (authorization) support to standalone MetricServer. #261 * 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

.NET 6.0

Version Downloads Last updated
8.2.1 287 03/14/2025
8.2.1-pre-240103185829-60e9106 50 03/17/2025
8.2.0 56 03/17/2025
8.2.0-pre-231205215128-a2c1c8f 57 03/17/2025
8.2.0-pre-231205134623-36b4750 52 03/17/2025
8.2.0-pre-231204222617-7837255 66 03/17/2025
8.2.0-pre-231204170437-99f640f 50 03/17/2025
8.2.0-pre-231204094406-885f52c 51 03/17/2025
8.2.0-pre-231204084751-4d19b42 62 03/17/2025
8.2.0-pre-231128134008-9a7dad2 51 03/17/2025
8.1.1 48 03/17/2025
8.1.1-pre-231128114341-17bb2a0 56 03/17/2025
8.1.0 63 03/17/2025
8.1.0-pre-231028004937-71a8668 53 03/17/2025
8.0.1 55 03/17/2025
8.0.1-pre-230718073955-ea794f6 63 03/17/2025
8.0.1-pre-230718042806-718dffc 49 03/17/2025
8.0.0 53 03/17/2025
8.0.0-pre-230212122408-a055f5b 50 03/17/2025
8.0.0-pre-230210074852-a7c1277 55 03/17/2025
8.0.0-pre-230209100041-c35ac64 50 03/17/2025
8.0.0-pre-230209074620-4f8f59c 51 03/17/2025
8.0.0-pre-230203154858-4bf76fb 56 03/17/2025
8.0.0-pre-230203125716-1813839 56 03/17/2025
8.0.0-pre-230203073826-06c2e2f 45 03/17/2025
8.0.0-pre-230201062733-ece2743 52 03/17/2025
8.0.0-pre-230127154206-9ec9e9b 54 03/17/2025
8.0.0-pre-230127124604-8b7c7e1 50 03/17/2025
8.0.0-pre-230127111923-d72115a 51 03/17/2025
8.0.0-pre-230127084218-90f4311 57 03/17/2025
8.0.0-pre-230127075825-bfc1041 44 03/17/2025
8.0.0-pre-230126143551-210a1ab 55 03/17/2025
8.0.0-pre-230119065217-312c2e9 56 03/17/2025
8.0.0-pre-230116052305-1ed397b 54 03/17/2025
8.0.0-pre-230102092516-2351266 51 03/17/2025
8.0.0-pre-230101195105-9f23889 61 03/17/2025
8.0.0-pre-230101084444-630935f 54 03/17/2025
8.0.0-pre-221231102537-13e7ac6 51 03/17/2025
8.0.0-pre-221231100152-fb39dcb 60 03/17/2025
8.0.0-pre-000342-4d6812e 47 03/17/2025
7.1.0-pre-000318-0479f53 49 03/17/2025
7.1.0-pre-000310-9c9e1e9 57 03/17/2025
7.1.0-pre-000307-f980713 55 03/17/2025
7.0.0 61 03/17/2025
7.0.0-pre-000305-75cc817 47 03/17/2025
7.0.0-pre-000304-cbb305a 56 03/17/2025
7.0.0-pre-000303-5a44ada 53 03/17/2025
7.0.0-pre-000301-06c5932 57 03/17/2025
7.0.0-pre-000298-4b8d3e7 65 03/17/2025
7.0.0-pre-000297-7068d28 55 03/17/2025
7.0.0-pre-000296-5b1a1c4 51 03/17/2025
7.0.0-pre-000294-486fcd8 50 03/17/2025
7.0.0-pre-000293-d13fe06 55 03/17/2025
7.0.0-pre-000292-88fbe2a 49 03/17/2025
7.0.0-pre-000288-4688bd3 50 03/17/2025
7.0.0-pre-000282-d90ebf3 54 03/17/2025
7.0.0-pre-000280-ce6d494 52 03/17/2025
7.0.0-pre-000277-6bc5023 60 03/17/2025
7.0.0-pre-000276-9e65611 57 03/17/2025
7.0.0-pre-000270-ee6c23e 54 03/17/2025
7.0.0-pre-000269-08d9f2c 45 03/17/2025
7.0.0-pre-000259-7317089 63 03/17/2025
7.0.0-pre-000244-66d82e6 51 03/17/2025
6.0.0 199 03/14/2025
6.0.0-pre-000234-4598e28 49 03/17/2025
6.0.0-pre-000233-0dd30d3 45 03/17/2025
6.0.0-pre-000231-38d45fa 55 03/17/2025
6.0.0-pre-000223-ab9edeb 59 03/17/2025
5.1.0-pre-000215-c81d12d 53 03/17/2025
5.0.2 51 03/17/2025
5.0.2-pre-000210-fbf24c8 55 03/17/2025
5.0.1 57 03/17/2025
5.0.1-pre-000202-59e0610 56 03/17/2025
5.0.0 53 03/17/2025
5.0.0-pre-000201-8d79f11 54 03/17/2025
5.0.0-pre-000200-0afede9 59 03/27/2025
4.3.0-pre-000199-35f4961 54 03/17/2025
4.3.0-pre-000198-79466f7 53 03/17/2025
4.2.0 52 03/17/2025
4.2.0-pre-000195-ec10b08 45 03/17/2025
4.2.0-pre-000194-7aacfb0 49 03/17/2025
4.1.1 55 03/17/2025
4.1.1-pre-000180-1cfbebb 46 03/17/2025
4.1.0 55 03/17/2025
4.1.0-pre-000179-9582014 53 03/17/2025
4.1.0-pre-000171-15be8f3 49 03/17/2025
4.0.0 57 03/17/2025
4.0.0-pre-000158-d425fff 51 03/17/2025
4.0.0-pre-000134-2fea549 54 03/17/2025
3.6.0 50 03/17/2025
3.6.0-pre-000131-673cfe2 49 03/17/2025
3.6.0-pre-000129-bd91778 51 03/17/2025
3.5.0 57 03/17/2025
3.5.0-pre-000099-ee2bdbd 50 03/17/2025
3.5.0-pre-000098-f9cb93e 51 03/17/2025
3.4.0 60 03/17/2025
3.4.0-pre-000084-e9d0f37 48 03/17/2025
3.4.0-pre-000082-546478d 58 03/17/2025
3.4.0-pre-000081-1712a44 55 03/17/2025
3.4.0-pre-000079-eff2a83 54 03/17/2025
3.4.0-pre-000078-34a900d 48 03/17/2025
3.4.0-pre-000077-0ace5bd 51 03/17/2025
3.4.0-pre-000067-701dfdc 51 03/17/2025
3.3.1-pre-000052-0842664 53 03/17/2025
3.3.0 51 03/17/2025
3.3.0-pre-000042-252e89c 54 03/17/2025
3.2.1 61 03/17/2025
3.2.1-pre-000036-696f4ab 52 03/17/2025
3.2.0 64 03/17/2025
3.2.0-pre-000035-8d4cf7d 46 03/17/2025
3.2.0-pre-000032-9939133 61 03/17/2025
3.2.0-pre-000028-abe3225 51 03/17/2025
3.2.0-pre-000027-29e0fce 53 03/17/2025
3.1.5-pre-000023-d29ca37 62 03/17/2025
3.1.5-pre-000021-8c7b328 53 03/17/2025
3.1.5-pre-000020-5a2fc50 52 03/17/2025
3.1.4 52 03/17/2025
3.1.4-pre-000016-95d0170 49 03/17/2025
3.1.3 55 03/17/2025
3.1.3-pre-000009-505a08e 52 03/17/2025
3.1.3-cb-000009-505a08e 58 03/17/2025
3.1.2 55 03/17/2025
3.1.2-pre-006681-4f8ce09 56 03/17/2025
3.1.1 52 03/17/2025
3.1.1-pre-006463-cd3cd18 52 03/17/2025
3.1.0 50 03/17/2025
3.1.0-pre-006304-959164e 52 03/17/2025
3.1.0-pre-006267-9aac888 58 03/17/2025
3.1.0-pre-006177-d35e0b8 52 03/17/2025
3.0.3 50 03/17/2025
3.0.2 53 03/17/2025
3.0.1 55 03/17/2025
3.0.0 52 03/17/2025
3.0.0-pre-005830-d9493da 51 03/17/2025
3.0.0-pre-005828-27b7100 51 03/17/2025
3.0.0-pre-005823-68ad8e2 53 03/17/2025
3.0.0-pre-005803-4289c4a 47 03/17/2025
3.0.0-pre-005801-6f306bc 51 03/17/2025
3.0.0-pre-005800-ec1da05 53 03/17/2025
3.0.0-pre-005795-6aca95b 49 03/17/2025
3.0.0-pre-005647-e277cbe 47 03/17/2025
2.1.3 50 03/17/2025
2.1.3-pre-005238-380e4ab 58 03/17/2025
2.1.2 54 03/17/2025
2.1.2-pre-005131-012bc01 52 03/17/2025
2.1.1-pre-004445-bc00b93 60 03/17/2025
2.1.0 50 03/17/2025
2.1.0-pre-003985-910fb52 49 03/17/2025
2.1.0-pre-003982-37c9f93 50 03/17/2025
2.0.0 54 03/17/2025
2.0.0-pre-003523-49de0a3 72 03/17/2025
2.0.0-pre-003112-3de1c34 45 03/17/2025
2.0.0-pre-003077-0447c86 52 03/17/2025
2.0.0-pre-003054-ffb96c7 52 03/17/2025
2.0.0-pre-003051-6f12a46 55 03/17/2025
2.0.0-pre-003009-4e26344 53 03/17/2025
2.0.0-pre-002968-9fcb8aa 48 03/17/2025