All Versions
Latest Version
Avg Release Cycle
62 days
Latest Release
1371 days ago

Changelog History
Page 1

  • v4.2.0 Changes

    October 23, 2020
    • โž• Added methods to reset metric sample #119
    • โž• Added method ti remove metric sample from a family #120
    • ๐Ÿ›  Fixed issue #122 that prevented to create metrics with 7-, 14-, etc labels.
  • 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

    ๐Ÿ›  Fixed issues:

    • #75 Broken double value representation under .Net Core
    • #65 NaN metric is not reported
  • 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.