Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 10, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
prom-client ^12.0.0 -> ^15.0.0 age adoption passing confidence

Release Notes

siimon/prom-client (prom-client)

v15.0.0

Compare Source

Breaking
  • drop support for Node.js versions 10, 12, 14, 17 and 19
Changed
  • Refactor histogram internals and provide a fast path for rendering metrics to
    Prometheus strings when there are many labels shared across different values.
  • Disable custom content encoding for pushgateway delete requests in order to
    avoid failures from the server when using Content-Encoding: gzip header.
  • Refactor escapeString helper in lib/registry.js to improve performance and
    avoid an unnecessarily complex regex.
  • Cleanup code and refactor to be more efficient
  • Correct TS types for working with OpenMetrics
  • Updated Typescript and Readme docs for setToCurrentTime() to reflect units as seconds.
  • Do not ignore error if request to pushgateway fails
  • Make sure to reject the request to pushgateway if it times out
Added
  • Support for OpenMetrics and Exemplars

v14.2.0

Compare Source

Changed
  • Refactor getMetricAsPrometheusString method in the Registry class to use Array.prototype.join
    instead of loop of string concatenations.
  • Also use Array.prototype.map, and object spread instead of an explicit for loop
  • changed: updated the sample output in example/default-metrics.js
  • summary metrics now has a pruneAgedBuckets config parameter
    to remove entries without any new values in the last maxAgeSeconds.
    Default is false (old behavior)
Added
  • Add get method to type definitions of metric classes

v14.1.1

Compare Source

Changed
  • Increase compatibility with external build system such as rollup by making perf_hooks optional in gc.js

v14.1.0

Compare Source

Changed
  • types: converted all the generic Metric types to be optional

  • The done() functions returned by gauge.startTimer() and
    summary.startTimer() now return the timed duration. Histograms already had
    this behavior.

  • types: fixed type for registry.getMetricsAsArray()

  • Improve performance of gague.inc() and gauge.dec() by calling hashObject() once.

Added
  • The processResources metric was added, which keeps a track of all sorts of
    active resources. It consists of the following gauges:

    • nodejs_active_resources - Number of active resources that are currently
      keeping the event loop alive, grouped by async resource type.
    • nodejs_active_resources_total - Total number of active resources.
      It is supposed to provide the combined result of the processHandles and
      processRequests metrics along with information about any other types of
      async resources that these metrics do not keep a track of (like timers).
  • Support gzipped pushgateway requests

v14.0.1

Compare Source

Changed
  • changed: typedef for pushgateway to reflect js implementation.

v14.0.0

Compare Source

Breaking
  • changed: linearBuckets does not propagate rounding errors anymore.

    Fewer bucket bounds will be affected by rounding errors. Histogram bucket
    labels may change. 6f1f3b2

  • changed: The push gateway methods pushAdd(), push() and delete() now
    return Promises instead of accepting a callback:

    // Old:
    gateway.pushAdd({ jobName: 'test' }, (err, resp, body) => {});
    // New:
    gateway
      .pushAdd({ jobName: 'test' })
      .then(({ resp, body }) => {})
      .catch(err => {});
    // or
    const { resp, body } = await gateway.pushAdd({ jobName: 'test' });

    f177b1f

  • changed: The default nodejs_eventloop_lag_* metrics are now reset every time
    they are observed. This prevents these metrics from "stabilizing" over a long
    period of time and becoming insensitive to small changes. For more info, see
    #​370. 0f444cd

Changed
  • Add missing await/thens to examples. 074f339
  • Add missing type declaration for client.contentType. 3b66641
  • Modernize some label processing code. c9bf1d8

v13.2.0

Compare Source

Changed
  • Don't add event listener to process if cluster module is not used.
  • fix: set labels for default memory metrics on linux.
  • fix: fix DEP0152 deprecation warning in Node.js v16+.
  • fix: Set aggregation mode for newer event loop metrics. (Fixes #​418)
  • Improve performance of/reduce memory allocations in Gauge.
Added
  • feat: added zero() to Histogram for setting the metrics for a given label combination to zero
  • fix: allow Gauge.inc/dec(0) without defaulting to 1

v13.1.0

Compare Source

Changed
  • fix: push client attempting to write Promise (fixes #​390)
  • types: improve type checking of labels
  • fix: Summary#observe should throw when adding additional labels to labelset (fixes #​262)
Added
  • feat: added the ability to pass labels as an object to labels() and remove()
  • Added: More examples with commented output

v13.0.0

Compare Source

Breaking
  • changed: The following functions are now async (return a promise):
    registry.metrics()
    registry.getMetricsAsJSON()
    registry.getMetricsAsArray()
    registry.getSingleMetricAsString()

    If your metrics server has a line like res.send(register.metrics()), you
    should change it to res.send(await register.metrics()).

    Additionally, all metric types now accept an optional collect function,
    which is called when the metric's value should be collected and within which
    you should set the metric's value. You should provide a collect function for
    point-in-time metrics (e.g. current memory usage, as opposed to HTTP request
    durations that are continuously logged in a histogram).

  • changed: register.clusterMetrics() no longer accepts a callback; it only
    returns a promise.

  • removed: v12.0.0 added the undocumented functions registry.registerCollector
    and registry.collectors(). These have been removed. If you were using them,
    you should instead provide a collect function as described above.

Changed
  • fix: provide nodejs_version_info metric value after calling registry.resetMetrics() (#​238)
  • fix: provide process_max_fds metric value after calling registry.resetMetrics()
  • fix: provide process_start_time_seconds metric value after calling registry.resetMetrics()
  • chore: improve performance of registry.getMetricAsPrometheusString
  • chore: refactor metrics to reduce code duplication
  • chore: replace utils.getPropertiesFromObj with Object.values
  • chore: remove unused catch bindings
  • chore: upgrade Prettier to 2.x
  • fix: startTimer returns number in typescript instead of void
  • fix: incorrect typings of `registry.getSingleMetric' (#​388)
  • chore: stop testing node v13 on CI
Added
  • feat: exposed registry.registerCollector() and registry.collectors() methods in TypeScript declaration
  • Added: complete working example of a pushgateway push in example/pushgateway.js
  • feat: added support for adding labels to default metrics (#​374)
  • Added CHANGELOG reminder

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate
Copy link
Contributor Author

renovate bot commented Oct 10, 2023

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: express-prometheus-middleware@1.2.0
npm ERR! Found: prom-client@15.0.0
npm ERR! node_modules/prom-client
npm ERR!   prom-client@"^15.0.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer prom-client@">= 10.x <= 13.x" from express-prometheus-middleware@1.2.0
npm ERR! node_modules/express-prometheus-middleware
npm ERR!   express-prometheus-middleware@"^1.2.0" from the root project
npm ERR!   express-prometheus-middleware@"^1.2.0" from @ammar-ahmed/automation-app-bot@1.2.8
npm ERR!   node_modules/@ammar-ahmed/automation-app-bot
npm ERR!     @ammar-ahmed/automation-app-bot@"^1.2.7" from the root project
npm ERR!     1 more (@ammar-ahmed/automation-app-bot)
npm ERR! 
npm ERR! Conflicting peer dependency: prom-client@13.2.0
npm ERR! node_modules/prom-client
npm ERR!   peer prom-client@">= 10.x <= 13.x" from express-prometheus-middleware@1.2.0
npm ERR!   node_modules/express-prometheus-middleware
npm ERR!     express-prometheus-middleware@"^1.2.0" from the root project
npm ERR!     express-prometheus-middleware@"^1.2.0" from @ammar-ahmed/automation-app-bot@1.2.8
npm ERR!     node_modules/@ammar-ahmed/automation-app-bot
npm ERR!       @ammar-ahmed/automation-app-bot@"^1.2.7" from the root project
npm ERR!       1 more (@ammar-ahmed/automation-app-bot)
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! 
npm ERR! For a full report see:
npm ERR! /tmp/worker/2b8db0/b7834b/cache/others/npm/_logs/2023-10-10T04_44_34_997Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in: /tmp/worker/2b8db0/b7834b/cache/others/npm/_logs/2023-10-10T04_44_34_997Z-debug-0.log

@restack-app
Copy link

restack-app bot commented Oct 10, 2023

No applications have been configured for previews targeting branch: master. To do so go to restack console and configure your applications for previews.

@commit-lint
Copy link

commit-lint bot commented Oct 10, 2023

Bug Fixes

  • deps: update dependency prom-client to v15 (48b4289)

Contributors

renovate[bot]

Commit-Lint commands

You can trigger Commit-Lint actions by commenting on this PR:

  • @Commit-Lint merge patch will merge dependabot PR on "patch" versions (X.X.Y - Y change)
  • @Commit-Lint merge minor will merge dependabot PR on "minor" versions (X.Y.Y - Y change)
  • @Commit-Lint merge major will merge dependabot PR on "major" versions (Y.Y.Y - Y change)
  • @Commit-Lint merge disable will desactivate merge dependabot PR
  • @Commit-Lint review will approve dependabot PR
  • @Commit-Lint stop review will stop approve dependabot PR

@pr-code-reviewer
Copy link

👋 Hi there!

The most important things to improve in the code-diff are:

  1. Update the "prom-client" dependency from version 12.0.0 to version 15.0.0.
  2. Ensure compatibility of other dependencies with the updated "prom-client" version.
  3. Review and address any potential compatibility issues introduced by the dependency updates.


Automatically generated with the help of gpt-3.5-turbo.
Feedback? Please don't hesitate to drop me an email at webber@takken.io.

@instapr
Copy link

instapr bot commented Oct 10, 2023

Package.json:

{
  "dependencies": {
    "node-fetch": "^3.0.0",
    "p-iteration": "^1.1.8",
    "probot": "^12.2.8",
-    "prom-client": "^12.0.0",
+    "prom-client": "^15.0.0",
    "redis": "^4.6.7"
  },
  "devDependencies": {

@pr-explainer-bot
Copy link

Pull Request Report

Hey there! 👋 Here's a report for the changes made in this pull request:

Changes

  1. Updated dependency prom-client to version 15.0.0. 🔄

Suggestions to Improve Code

No suggestions provided. 🤔

Bugs

No bugs found. 🐛

Improvements

No improvements suggested. 🚀

Refactoring for Better Readability

No code snippets provided for refactoring. 📝

Rating

Overall rating for the code: 7/10. Here's a brief explanation of the criteria:

  • Readability: The code is fairly readable, but there is room for improvement in some areas. 👓
  • Performance: No specific performance issues were identified. The code seems to be efficient. 💨
  • Security: No security concerns were found. The code appears to be secure. 🔒

That's it for the report! Let me know if you need any further assistance. 😄

@cloudflare-workers-and-pages
Copy link

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: 48b4289
Status: ✅  Deploy successful!
Preview URL: https://5ea8cdbb.automation-app-bot.pages.dev
Branch Preview URL: https://renovate-prom-client-15-x.automation-app-bot.pages.dev

View logs

@sonarqubecloud
Copy link

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
0.0% 0.0% Duplication

@ammar-ahmed-butt ammar-ahmed-butt merged commit f3e19f3 into master Oct 10, 2023
@mergeable
Copy link

mergeable bot commented Oct 10, 2023

⚠️

Please add Jira ticket id i.e. "JIRA-ID"

Check Fail Adhere to the branch naming convention described here

@renovate renovate bot deleted the renovate/prom-client-15.x branch October 10, 2023 04:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants