MeikelLP / quantum-core-x

Metin2 open source server implementation
https://meikellp.github.io/quantum-core-x/
Mozilla Public License 2.0
35 stars 9 forks source link

Bump prometheus-net from 4.1.1 to 8.1.0 #64

Closed dependabot[bot] closed 10 months ago

dependabot[bot] commented 10 months ago

Bumps prometheus-net from 4.1.1 to 8.1.0.

Release notes

Sourced from prometheus-net's releases.

v8.1.0 - Add support for capturing HttpClient metrics from all registered HttpClients

Add support for capturing HttpClient metrics from all registered HttpClients (services.UseHttpClientMetrics()).

v8.0.1 - Allow ObservableCounter to be reset

Allow ObservableCounter to be reset. Previously, the MeterAdapter output got stuck on its previous maximum if the underlying Meter reset its value to a lower value. Now we transform the value 1:1.

v8.0.0 - OpenMetrics, exemplars, performance optimizations and bugfixes

  • Added OpenMetrics exposition format support (#388).
  • Added exemplar support for Counter and Histogram (#388).
  • The ':' character is no longer allowed in metric or label names. For metric names, Prometheus standard practice is to use colon only in recording rules.
  • Publish symbol packages and add Source Link support for easier debugging experience.
  • Fix defect where metrics with different labels could overwrite each other in specific circumstances with multiple metric factories in use (#389).
  • Ensure even harder that MetricPusher flushes the final state before stopping (#383 and #384)
  • Simplify DotNetStats built-in collector code for ease of readability and more best practices (#365, #364)
  • Slightly improve Counter performance under concurrent load.
  • Reduce memory allocations performed during ASP.NET Core HTTP request tracking.
  • By default, EventCounterAdapter will only listen to a small predefined set of general-purpose useful event sources, to minimize resource consumption in the default configuration. A custom event source filter must now be provided to enable listening for additional event sources.
  • EventCounterAdapter will only refresh data every 10 seconds by default, to reduce amount of garbage generated in memory (.NET event counters are very noisy and create many temporary objects).
  • Added IManagedLifetimeMetricFactory.WithLabels() to enable simpler label enrichment in scenarios where lifetime-managed metric instances are used.
  • 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).
  • Added (Observable)UpDownCounter support to MeterAdapter (.NET 7 specific feature).

v7.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.
  • (Breaking change) 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.

v6.0.0 - additional HTTP server metric labels + Meters API + EventCounters API + more

  • 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.

Fix HttpClientMetrics leading to response stream instability under load

Bugfix: HttpClientMetrics under concurrent load with long-running requests were leading to broken response streams. #336

Bugfix for PowersOfTenDividedBuckets with >= 10 divisions

... (truncated)

Changelog

Sourced from prometheus-net's changelog.

  • 8.1.0
  • Add support for capturing HttpClient metrics from all registered HttpClients (services.UseHttpClientMetrics()).
  • 8.0.1
  • Allow ObservableCounter to be reset. Previously, the MeterAdapter output got stuck on its previous maximum if the underlying Meter reset its value to a lower value. Now we transform the value 1:1.
  • 8.0.0
  • Added OpenMetrics exposition format support (#388).
  • Added exemplar support for Counter and Histogram (#388).
  • The ':' character is no longer allowed in metric or label names. For metric names, Prometheus standard practice is to use colon only in recording rules.
  • Publish symbol packages and add Source Link support for easier debugging experience.
  • Fix defect where metrics with different labels could overwrite each other in specific circumstances with multiple metric factories in use (#389).
  • Ensure even harder that MetricPusher flushes the final state before stopping (#383 and #384)
  • Simplify DotNetStats built-in collector code for ease of readability and more best practices (#365, #364)
  • Slightly improve Counter performance under concurrent load.
  • Reduce memory allocations performed during ASP.NET Core HTTP request tracking.
  • By default, EventCounterAdapter will only listen to a small predefined set of general-purpose useful event sources, to minimize resource consumption in the default configuration. A custom event source filter must now be provided to enable listening for additional event sources.
  • EventCounterAdapter will only refresh data every 10 seconds by default, to reduce amount of garbage generated in memory (.NET event counters are very noisy and create many temporary objects).
  • Added IManagedLifetimeMetricFactory.WithLabels() to enable simpler label enrichment in scenarios where lifetime-managed metric instances are used.
  • 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).
  • Added (Observable)UpDownCounter support to MeterAdapter (.NET 7 specific feature).
  • 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).

... (truncated)

Commits
  • 27d727c Clarify client HTTP request in progress tracking end
  • 123a55d Clarify "in progress" comments
  • 71a8668 Add support for capturing HttpClient metrics from all registered HttpClients ...
  • ea794f6 8.0.1
  • 718dffc Allow ObservableCounter<T> to be reset. Previously, the MeterAdapter output g...
  • a055f5b Disambiguate osme overloads
  • 17e7c0f Add back missing overload of CollectAndExportAsTextAsync
  • a7c1277 MeterAdapter and EventCounterAdapter will only start the default listener onc...
  • c35ac64 Fix timestamp math to use floating point division
  • 4f8f59c We cannot record an exemplar every time we record an exemplar!
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
sonarcloud[bot] commented 10 months ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

dependabot[bot] commented 10 months ago

Superseded by #69.