All Versions
11
Latest Version
Avg Release Cycle
62 days
Latest Release
1605 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v4.2.0 Changes
October 23, 2020 -
v4.1.0 Changes
August 19, 2020๐ฅ Breaking change:
- Removed suppressEmptySamples parameter from all metric creation methods, as the use case can be handled internally without explicit parameter.
-
v4.0.0 Changes
August 18, 2020- ๐ Significant performance and memory allocation improvement
- ๐ New labels API which uses ValueTuple to pass labels
- ๐ New abstraction IMetricFamily dedicated to manage labeled samples of the metric.
- Method Labels on metric family marked as Obsolete, use WithLabels instead.
- ๐ Int64-based gauge to achieve the best performance for integer metrics.
- โ Metrics static entry point is considered to be obsolete, we encourage you to use MetricFactory directly to create a metrics. As MetricFactory as IoC friendly and could be substituted via interface for unit tests.
๐ฅ Breaking changes:
- ๐ We have decided to drop netstandard1.3 support
- MetricFactory (and Metrics static API) returns IMetricFamily instead of metrics implementation.
- Even though there is extension methods on IMetricFamily to emulate previous API for unlabelled metric sample, there is no way to create extension property for Value. Use IMetricFamily.Unlabelled.Value instead
-
v3.1.0 Changes
January 10, 2020- โ Add netstandard2.1 target.
- ๐ Performance improvements for metrics scrape.
-
v3.0.3 Changes
October 02, 2019๐ Fixed issues:
- #78 Change untyped metrics to gauge
-
v3.0.2 Changes
September 04, 2019 -
v3.0.1 Changes
May 23, 2019- ๐ Fix for corrupted metrics output on concurrent scrape requests #66
- double.NaN is accepted as a valid value for Untyped metric
-
v3.0.0 Changes
April 27, 2019๐ This major release dedicated mostly to reduce memory allocation especially while scrape collection to achieve this we made number of improvements and breaking changes.
๐ Improvements:
- Introduced IMetricsWriter, which used to produce metric samples without creation of CMetricFamily.
- โ Added target to netcore2.2 which allow us to use non-allocating format methods. This dramatically reduces allocation while scrapping for application run on netcore2.2.
- ICollectorRegistry and ICollector interfaces were reviewed.
- Histogram and Summary now expose current state through Value property (which returns snapshot of the state).
- โ Added CounterInt64 - counter optimized for integer values. It uses atomic operations instead of optimistic lock on value increment.
- โ Added IValueObserver abstraction for Histogram and Summary, together with extension methods for convenient duration observation.
- ๐ All value observation methods now support explicit setting timestamp for the observation.
- 0๏ธโฃ Fluent syntax to register default collectors into the CollectorRegistry.
- Reviewed MetricFactory to avoid unnecessary metric creation before checking CollectorRegistry for existing one.
- ๐ Improved unit tests coverage and added benchmarks.
- Library is Strong Named now.
๐ฅ Breaking changes:
- ๐ Legacy .Net Framework 4.5 is not supported anymore.
- โ Removed PerfCounter collectors as a platform dependent feature.
- โ Removed all Contracts because of moving to IMetricsWriter.
- ๐ TextFormatter was removed in favor of MetricsTextWriter.
- ๐ CollectorRegistry.Instance was moved into Metrics.DefaultCollectorRegistry to isolate all static API into Metrics entry point.
- Base classes Collector and Labelled have lots of changes to correspond new API and reduce allocation.
- ๐ IOnDemandCollector was removed in favor of ICollector.
- ๐ ScrapeHandler.Process methods is async now to follow .NET Core 3.0 synchronous operations restrictions.
-
v2.2.2 Changes
March 01, 2019- [#35] Timestamp is in milliseconds
-
v2.2.1 Changes
February 26, 2019- ๐ Fix compatibility for v2.* . Use Gauge than Untyped in default metrics.