Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump prometheus-net.AspNetCore from 4.1.1 to 7.0.0 #313

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 27, 2022

Bumps prometheus-net.AspNetCore from 4.1.1 to 7.0.0.

Release notes

Sourced from prometheus-net.AspNetCore's releases.

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

Bugfix: PowersOfTenDividedBuckets did not work with >= 10 divisions due to overlap. Now skips overlapping region of generated series.

HTTP client metrics improvements

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

Easier install on .NET 5, more accurate histogram buckets, bugfixes

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

Sourced from prometheus-net.AspNetCore's changelog.

  • 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
Commits
  • 75cc817 Default to EventKeywords.None
  • cbb305a - EventCounterAdapter now defaults to Informational events only, for reduced ...
  • 5a44ada Fix bad code
  • db9b141 When a before-collection metrics update callback throws an exception, it is n...
  • 4f9f19c Add new labelNames ctor also to Metrics class
  • 06c5932 Have adapters catch any exceptions from .NET runtime
  • a7db416 fixx bugg
  • 2ef9aa6 CollectorIdentity debug ToString
  • 182b00c Fix StringSequence stack overflow
  • 4b8d3e7 Add debug metric to adapters: number of connected instruments
  • 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 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)

Bumps [prometheus-net.AspNetCore](https://github.com/prometheus-net/prometheus-net) from 4.1.1 to 7.0.0.
- [Release notes](https://github.com/prometheus-net/prometheus-net/releases)
- [Changelog](https://github.com/prometheus-net/prometheus-net/blob/master/History)
- [Commits](prometheus-net/prometheus-net@v4.1.1...v7.0.0)

---
updated-dependencies:
- dependency-name: prometheus-net.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Oct 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file .NET Pull requests that update .net code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants