Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package golang-github-prometheus-node_exporter for openSUSE:Factory checked in at 2025-04-07 17:43:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/golang-github-prometheus-node_exporter (Old) and /work/SRC/openSUSE:Factory/.golang-github-prometheus-node_exporter.new.1907 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "golang-github-prometheus-node_exporter" Mon Apr 7 17:43:36 2025 rev:32 rq:1267294 version:1.9.1 Changes: -------- --- /work/SRC/openSUSE:Factory/golang-github-prometheus-node_exporter/golang-github-prometheus-node_exporter.changes 2025-03-31 11:40:22.021166615 +0200 +++ /work/SRC/openSUSE:Factory/.golang-github-prometheus-node_exporter.new.1907/golang-github-prometheus-node_exporter.changes 2025-04-07 17:43:36.566359880 +0200 @@ -1,0 +2,7 @@ +Tue Apr 1 17:33:15 UTC 2025 - Johannes Kastl <opensuse_buildserv...@ojkastl.de> + +- update to 1.9.1 + * [BUGFIX] pressure: Fix missing IRQ on older kernels #3263 + * [BUGFIX] Fix Darwin memory leak #3277 + +------------------------------------------------------------------- Old: ---- golang-github-prometheus-node_exporter-1.9.0.obscpio New: ---- golang-github-prometheus-node_exporter-1.9.1.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ golang-github-prometheus-node_exporter.spec ++++++ --- /var/tmp/diff_new_pack.mLoooV/_old 2025-04-07 17:43:37.082381423 +0200 +++ /var/tmp/diff_new_pack.mLoooV/_new 2025-04-07 17:43:37.086381590 +0200 @@ -18,7 +18,7 @@ Name: golang-github-prometheus-node_exporter -Version: 1.9.0 +Version: 1.9.1 Release: 0 Summary: Prometheus exporter for machine metrics License: Apache-2.0 @@ -31,7 +31,7 @@ Source4: prometheus-node_exporter.sysconfig BuildRequires: fdupes BuildRequires: golang-github-prometheus-promu >= 0.12.0 -BuildRequires: golang(API) >= 1.22 +BuildRequires: golang(API) >= 1.23 %{?systemd_ordering} Requires(post): %fillup_prereq Requires(pre): user(prometheus) ++++++ _service ++++++ --- /var/tmp/diff_new_pack.mLoooV/_old 2025-04-07 17:43:37.114382759 +0200 +++ /var/tmp/diff_new_pack.mLoooV/_new 2025-04-07 17:43:37.118382926 +0200 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="exclude">.git</param> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">v1.9.0</param> + <param name="revision">v1.9.1</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="filename">golang-github-prometheus-node_exporter</param> </service> ++++++ golang-github-prometheus-node_exporter-1.9.0.obscpio -> golang-github-prometheus-node_exporter-1.9.1.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/.github/ISSUE_TEMPLATE.md new/golang-github-prometheus-node_exporter-1.9.1/.github/ISSUE_TEMPLATE.md --- old/golang-github-prometheus-node_exporter-1.9.0/.github/ISSUE_TEMPLATE.md 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/.github/ISSUE_TEMPLATE.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -<!-- - Please note: GitHub issues should only be used for feature requests and - bug reports. For general discussions, please refer to one of the community channels - described in https://prometheus.io/community/. - - Before filing a bug report, note that running node_exporter in Docker is - not recommended, for the reasons detailed in the README: - - https://github.com/prometheus/node_exporter#docker - - Finally, also note that node_exporter is focused on *NIX kernels, and the - WMI exporter should be used instead on Windows. - - For bug reports, please fill out the below fields and provide as much detail - as possible about your issue. For feature requests, you may omit the - following template. ---> -### Host operating system: output of `uname -a` - -### node_exporter version: output of `node_exporter --version` -<!-- If building from source, run `make` first. --> - -### node_exporter command line flags -<!-- Please list all of the command line flags --> - -### node_exporter log output - -### Are you running node_exporter in Docker? -<!-- Please note the warning above. --> - -### What did you do that produced an error? - -### What did you expect to see? - -### What did you see instead? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/.github/dependabot.yml new/golang-github-prometheus-node_exporter-1.9.1/.github/dependabot.yml --- old/golang-github-prometheus-node_exporter-1.9.0/.github/dependabot.yml 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "gomod" - directory: "/" - schedule: - interval: "monthly" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/.github/workflows/bsd.yml new/golang-github-prometheus-node_exporter-1.9.1/.github/workflows/bsd.yml --- old/golang-github-prometheus-node_exporter-1.9.0/.github/workflows/bsd.yml 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/.github/workflows/bsd.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,313 +0,0 @@ -name: bsd - -on: - push: - branches: - - master - pull_request: - branches: - - master - -permissions: - contents: read - -env: - GNU_TAR_VERSION: "1.35" - GO_VERSION_DRAGONFLY: "1.23.3" - GO_VERSION_FREEBSD: "123" - GO_VERSION_NETBSD: "1.23.3" - GO_VERSION_OPENBSD: "1.23.1" - GO_VERSION_SOLARIS: "1.23.3" - -# To spin up one of the VMs below, see the "Debug Shell" section here: https://github.com/vmactions -jobs: - test_freebsd: - name: Run end-to-end tests on FreeBSD - runs-on: ubuntu-latest - steps: - - name: Checkout the repository - uses: actions/checkout@v4 - - name: test-e2e - uses: vmactions/freebsd-vm@v1 - with: - copyback: false - envs: 'GO_VERSION_FREEBSD GNU_TAR_VERSION' - usesh: true - prepare: | - pkg update -f - pkg install -y \ - bash \ - git \ - gmake \ - gnugrep \ - go${GO_VERSION_FREEBSD} \ - gsed \ - gtar \ - python \ - wget - run: | - echo "::group::Setup prerequisites" - set -eu - mkdir bin - ln -s $(which go${GO_VERSION_FREEBSD}) $(pwd)/bin/go - ln -s $(which ggrep) $(pwd)/bin/grep - ln -s $(which gmake) $(pwd)/bin/make - ln -s $(which gsed) $(pwd)/bin/sed - ln -s $(which gtar) $(pwd)/bin/tar - export PATH=$(pwd)/bin:$PATH - echo "::endgroup::" - - echo "::group::Print environment information" - uname -a - echo "GOOS: $(go env GOOS)" - echo "GOARCH: $(go env GOARCH)" - echo "::endgroup::" - - echo "::group::Run End-to-End Tests" - git config --global --add safe.directory $(pwd) - gmake test-e2e - echo "::endgroup::" - - test_openbsd: - name: Run end-to-end tests on OpenBSD - runs-on: ubuntu-latest - steps: - - name: Checkout the repository - uses: actions/checkout@v4 - - name: test-e2e - uses: vmactions/openbsd-vm@v1 - with: - copyback: false - envs: 'GO_VERSION_OPENBSD GNU_TAR_VERSION' - usesh: true - prepare: | - pkg_add -u - pkg_add \ - bash \ - ggrep \ - git \ - gmake \ - go-${GO_VERSION_OPENBSD} \ - gsed \ - gtar-${GNU_TAR_VERSION}p0-static \ - python \ - wget - run: | - echo "::group::Setup prerequisites" - set -eu - mkdir bin - ln -s $(which ggrep) $(pwd)/bin/grep - ln -s $(which gmake) $(pwd)/bin/make - ln -s $(which gsed) $(pwd)/bin/sed - ln -s $(which gtar) $(pwd)/bin/tar - export PATH=$(pwd)/bin:$PATH - echo "::endgroup::" - - echo "::group::Print environment information" - uname -a - echo "GOOS: $(go env GOOS)" - echo "GOARCH: $(go env GOARCH)" - echo "::endgroup::" - - echo "::group::Run End-to-End Tests" - git config --global --add safe.directory $(pwd) - make test-e2e - echo "::endgroup::" - - test_netbsd: - name: Run end-to-end tests on NetBSD - runs-on: ubuntu-latest - steps: - - name: Checkout the repository - uses: actions/checkout@v4 - - name: test-e2e - uses: vmactions/netbsd-vm@v1 - with: - copyback: false - envs: 'GO_VERSION_NETBSD GNU_TAR_VERSION' - usesh: true - prepare: | - /usr/sbin/pkg_add -u - /usr/sbin/pkg_add \ - git \ - gmake \ - grep \ - gsed \ - gtar-base-${GNU_TAR_VERSION}\ - python312 \ - wget - run: | - echo "::group::Setup prerequisites" - set -eu - mkdir bin - GOGZ="go${GO_VERSION_NETBSD}.netbsd-amd64.tar.gz" - wget https://go.dev/dl/${GOGZ} - gtar xzf ${GOGZ} - ln -s $(pwd)/go/bin/go $(pwd)/bin/go - ln -s $(which ggrep) $(pwd)/bin/grep - ln -s $(which gmake) $(pwd)/bin/make - ln -s $(which gsed) $(pwd)/bin/sed - ln -s $(which gtar) $(pwd)/bin/tar - export PATH=$(pwd)/bin:$PATH - echo "::endgroup::" - - echo "::group::Print environment information" - uname -a - echo "GOOS: $(go env GOOS)" - echo "GOARCH: $(go env GOARCH)" - echo "::endgroup::" - - echo "::group::Run End-to-End Tests" - git config --global --add safe.directory $(pwd) - make test-e2e - echo "::endgroup::" - - test_dragonfly: - name: Run end-to-end tests on DragonFly - runs-on: ubuntu-latest - steps: - - name: Checkout the repository - uses: actions/checkout@v4 - - name: test-e2e - uses: vmactions/dragonflybsd-vm@v1 - with: - copyback: false - envs: 'GO_VERSION_DRAGONFLY' - usesh: true - prepare: | - pkg update && pkg upgrade -y - pkg install -y \ - bash \ - git \ - gmake \ - gnugrep \ - gsed \ - gtar \ - python3 \ - wget - run: | - echo "::group::Setup prerequisites" - set -eu - mkdir bin - GOGZ="go${GO_VERSION_DRAGONFLY}.dragonfly-amd64.tar.gz" - wget https://go.dev/dl/${GOGZ} - gtar xzf ${GOGZ} - ln -s $(pwd)/go/bin/go $(pwd)/bin/go - ln -s $(which ggrep) $(pwd)/bin/grep - ln -s $(which gmake) $(pwd)/bin/make - ln -s $(which gsed) $(pwd)/bin/sed - ln -s $(which gtar) $(pwd)/bin/tar - ln -s $(which python3) $(pwd)/bin/python - export PATH=$(pwd)/bin:$PATH - echo "::endgroup::" - - echo "::group::Print environment information" - uname -a - echo "GOOS: $(go env GOOS)" - echo "GOARCH: $(go env GOARCH)" - echo "::endgroup::" - - echo "::group::Run End-to-End Tests" - git config --global --add safe.directory $(pwd) - gmake test-e2e - echo "::endgroup::" - - test_solaris: - name: Run end-to-end tests on Solaris - runs-on: ubuntu-latest - steps: - - name: Checkout the repository - uses: actions/checkout@v4 - - name: test-e2e - uses: vmactions/solaris-vm@v1 - with: - copyback: false - envs: 'GO_VERSION_SOLARIS' - usesh: true - prepare: | - pkg update - pkg install \ - bash \ - curl \ - gcc \ - git \ - gnu-grep \ - gnu-make \ - gnu-sed \ - gnu-tar - run: | - echo "::group::Setup prerequisites" - set -eu - mkdir bin - GOGZ="go${GO_VERSION_SOLARIS}.solaris-amd64.tar.gz" - wget https://go.dev/dl/${GOGZ} - gtar xzf ${GOGZ} - ln -s $(pwd)/go/bin/go $(pwd)/bin/go - ln -s $(which ggrep) $(pwd)/bin/grep - ln -s $(which gmake) $(pwd)/bin/make - ln -s $(which gsed) $(pwd)/bin/sed - ln -s $(which gtar) $(pwd)/bin/tar - export PATH=$(pwd)/bin:$PATH - - echo ">> building promu as it is not shipped for Solaris" - git clone https://github.com/prometheus/promu.git - cd promu - go build . - cd - - - mkdir -p $(go env GOPATH)/bin - ln -s $(pwd)/promu/promu $(go env GOPATH)/bin/promu - export PATH=$(go env GOPATH)/bin:$PATH - echo "::endgroup::" - - echo "::group::Print environment information" - uname -a - echo "GOOS: $(go env GOOS)" - echo "GOARCH: $(go env GOARCH)" - echo "::endgroup::" - - echo "::group::Run End-to-End Tests" - git config --global --add safe.directory $(pwd) - make test-e2e - echo "::endgroup::" - - test_macos: - name: Run end-to-end tests on macOS - runs-on: macos-latest - steps: - - name: Checkout the repository - uses: actions/checkout@v4 - - name: Install dependencies - run: | - brew install \ - bash \ - curl \ - git \ - grep \ - make \ - gnu-sed \ - gnu-tar \ - go \ - python3 - - name: test-e2e - run: | - echo "::group::Setup prerequisites" - set -eu - mkdir bin - ln -s $(which ggrep) $(pwd)/bin/grep - ln -s $(which gmake) $(pwd)/bin/make - ln -s $(which gsed) $(pwd)/bin/sed - ln -s $(which gtar) $(pwd)/bin/tar - export PATH=$(pwd)/bin:$PATH - echo "::endgroup::" - - echo "::group::Print environment information" - uname -a - echo "GOOS: $(go env GOOS)" - echo "GOARCH: $(go env GOARCH)" - echo "::endgroup::" - - echo "::group::Run End-to-End Tests" - git config --global --add safe.directory $(pwd) - make test-e2e - echo "::endgroup::" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/.github/workflows/container_description.yml new/golang-github-prometheus-node_exporter-1.9.1/.github/workflows/container_description.yml --- old/golang-github-prometheus-node_exporter-1.9.0/.github/workflows/container_description.yml 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/.github/workflows/container_description.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,57 +0,0 @@ ---- -name: Push README to Docker Hub -on: - push: - paths: - - "README.md" - - "README-containers.md" - - ".github/workflows/container_description.yml" - branches: [ main, master ] - -permissions: - contents: read - -jobs: - PushDockerHubReadme: - runs-on: ubuntu-latest - name: Push README to Docker Hub - if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. - steps: - - name: git checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: Set docker hub repo name - run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV - - name: Push README to Dockerhub - uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1 - env: - DOCKER_USER: ${{ secrets.DOCKER_HUB_LOGIN }} - DOCKER_PASS: ${{ secrets.DOCKER_HUB_PASSWORD }} - with: - destination_container_repo: ${{ env.DOCKER_REPO_NAME }} - provider: dockerhub - short_description: ${{ env.DOCKER_REPO_NAME }} - # Empty string results in README-containers.md being pushed if it - # exists. Otherwise, README.md is pushed. - readme_file: '' - - PushQuayIoReadme: - runs-on: ubuntu-latest - name: Push README to quay.io - if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. - steps: - - name: git checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: Set quay.io org name - run: echo "DOCKER_REPO=$(echo quay.io/${GITHUB_REPOSITORY_OWNER} | tr -d '-')" >> $GITHUB_ENV - - name: Set quay.io repo name - run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV - - name: Push README to quay.io - uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1 - env: - DOCKER_APIKEY: ${{ secrets.QUAY_IO_API_TOKEN }} - with: - destination_container_repo: ${{ env.DOCKER_REPO_NAME }} - provider: quay - # Empty string results in README-containers.md being pushed if it - # exists. Otherwise, README.md is pushed. - readme_file: '' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/.github/workflows/golangci-lint.yml new/golang-github-prometheus-node_exporter-1.9.1/.github/workflows/golangci-lint.yml --- old/golang-github-prometheus-node_exporter-1.9.0/.github/workflows/golangci-lint.yml 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/.github/workflows/golangci-lint.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,39 +0,0 @@ ---- -# This action is synced from https://github.com/prometheus/prometheus -name: golangci-lint -on: - push: - paths: - - "go.sum" - - "go.mod" - - "**.go" - - "scripts/errcheck_excludes.txt" - - ".github/workflows/golangci-lint.yml" - - ".golangci.yml" - pull_request: - -permissions: # added using https://github.com/step-security/secure-repo - contents: read - -jobs: - golangci: - permissions: - contents: read # for actions/checkout to fetch code - pull-requests: read # for golangci/golangci-lint-action to fetch pull requests - name: lint - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: Install Go - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 - with: - go-version: 1.23.x - - name: Install snmp_exporter/generator dependencies - run: sudo apt-get update && sudo apt-get -y install libsnmp-dev - if: github.repository == 'prometheus/snmp_exporter' - - name: Lint - uses: golangci/golangci-lint-action@ec5d18412c0aeab7936cb16880d708ba2a64e1ae # v6.2.0 - with: - args: --verbose - version: v1.63.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/.gitignore new/golang-github-prometheus-node_exporter-1.9.1/.gitignore --- old/golang-github-prometheus-node_exporter-1.9.0/.gitignore 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -dependencies-stamp -/node_exporter -/.build -/.deps -/.release -/.tarballs - -tools/tools - -# Intellij - -/.idea -*.iml - -# Test files extracted from ttar -collector/fixtures/sys/ -collector/fixtures/udev/ - -/vendor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/CHANGELOG.md new/golang-github-prometheus-node_exporter-1.9.1/CHANGELOG.md --- old/golang-github-prometheus-node_exporter-1.9.0/CHANGELOG.md 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/CHANGELOG.md 2025-04-01 17:14:14.000000000 +0200 @@ -5,6 +5,11 @@ * [ENHANCEMENT] * [BUGFIX] +## 1.9.1 / 2025-04-01 + +* [BUGFIX] pressure: Fix missing IRQ on older kernels #3263 +* [BUGFIX] Fix Darwin memory leak #3277 + ## 1.9.0 / 2025-02-17 * [CHANGE] meminfo: Convert linux implementation to use procfs lib #3049 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/VERSION new/golang-github-prometheus-node_exporter-1.9.1/VERSION --- old/golang-github-prometheus-node_exporter-1.9.0/VERSION 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/VERSION 2025-04-01 17:14:14.000000000 +0200 @@ -1 +1 @@ -1.9.0 +1.9.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/collector/filesystem_common.go new/golang-github-prometheus-node_exporter-1.9.1/collector/filesystem_common.go --- old/golang-github-prometheus-node_exporter-1.9.0/collector/filesystem_common.go 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/collector/filesystem_common.go 2025-04-01 17:14:14.000000000 +0200 @@ -89,7 +89,7 @@ labels filesystemLabels size, free, avail float64 files, filesFree float64 - purgeable *float64 + purgeable float64 ro, deviceError float64 } @@ -232,11 +232,10 @@ c.mountInfoDesc, prometheus.GaugeValue, 1.0, s.labels.device, s.labels.major, s.labels.minor, s.labels.mountPoint, ) - if s.purgeable != nil { + if s.purgeable >= 0 { ch <- prometheus.MustNewConstMetric( c.purgeableDesc, prometheus.GaugeValue, - *s.purgeable, s.labels.device, s.labels.mountPoint, - s.labels.fsType, s.labels.deviceError, + s.purgeable, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/collector/filesystem_macos.go new/golang-github-prometheus-node_exporter-1.9.1/collector/filesystem_macos.go --- old/golang-github-prometheus-node_exporter-1.9.0/collector/filesystem_macos.go 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/collector/filesystem_macos.go 2025-04-01 17:14:14.000000000 +0200 @@ -20,23 +20,22 @@ #cgo CFLAGS: -x objective-c #cgo LDFLAGS: -framework Foundation #import <Foundation/Foundation.h> -Float64 *purgeable(char *path) { +Float64 purgeable(char *path) { CFNumberRef tmp; - Float64 *value; NSError *error = nil; NSString *str = [NSString stringWithUTF8String:path]; NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:str]; NSDictionary *results = [fileURL resourceValuesForKeys:@[NSURLVolumeAvailableCapacityForImportantUsageKey] error:&error]; if (results) { - if ((tmp = CFDictionaryGetValue((CFDictionaryRef)results, NSURLVolumeAvailableCapacityForImportantUsageKey)) == NULL) - return NULL; - value = (Float64 *)malloc(sizeof(Float64)); - if (CFNumberGetValue(tmp, kCFNumberFloat64Type, value)) { + if ((tmp = CFDictionaryGetValue((CFDictionaryRef)results, NSURLVolumeAvailableCapacityForImportantUsageKey)) == NULL) { + return -1.0f; + } + Float64 value; + if (CFNumberGetValue(tmp, kCFNumberFloat64Type, &value)) { return value; } } - free(value); - return NULL; + return -1.0f; } */ import "C" @@ -100,7 +99,7 @@ avail: float64(mnt[i].f_bavail) * float64(mnt[i].f_bsize), files: float64(mnt[i].f_files), filesFree: float64(mnt[i].f_ffree), - purgeable: (*float64)(C.purgeable(C.CString(mountpoint))), + purgeable: float64(C.purgeable(C.CString(mountpoint))), ro: ro, }) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/collector/pressure_linux.go new/golang-github-prometheus-node_exporter-1.9.1/collector/pressure_linux.go --- old/golang-github-prometheus-node_exporter-1.9.0/collector/pressure_linux.go 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/collector/pressure_linux.go 2025-04-01 17:14:14.000000000 +0200 @@ -27,8 +27,15 @@ "github.com/prometheus/procfs" ) +const ( + psiResourceCPU = "cpu" + psiResourceIO = "io" + psiResourceMemory = "memory" + psiResourceIRQ = "irq" +) + var ( - psiResources = []string{"cpu", "io", "memory", "irq"} + psiResources = []string{psiResourceCPU, psiResourceIO, psiResourceMemory, psiResourceIRQ} ) type pressureStatsCollector struct { @@ -93,13 +100,18 @@ // Update calls procfs.NewPSIStatsForResource for the different resources and updates the values func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { + foundResources := 0 for _, res := range psiResources { c.logger.Debug("collecting statistics for resource", "resource", res) vals, err := c.fs.PSIStatsForResource(res) if err != nil { - if errors.Is(err, os.ErrNotExist) { - c.logger.Debug("pressure information is unavailable, you need a Linux kernel >= 4.20 and/or CONFIG_PSI enabled for your kernel") - return ErrNoData + if errors.Is(err, os.ErrNotExist) && res != psiResourceIRQ { + c.logger.Debug("pressure information is unavailable, you need a Linux kernel >= 4.20 and/or CONFIG_PSI enabled for your kernel", "resource", res) + continue + } + if errors.Is(err, os.ErrNotExist) && res == psiResourceIRQ { + c.logger.Debug("IRQ pressure information is unavailable, you need a Linux kernel >= 6.1 and/or CONFIG_PSI enabled for your kernel", "resource", res) + continue } if errors.Is(err, syscall.ENOTSUP) { c.logger.Debug("pressure information is disabled, add psi=1 kernel command line to enable it") @@ -109,28 +121,35 @@ } // IRQ pressure does not have 'some' data. // See https://github.com/torvalds/linux/blob/v6.9/include/linux/psi_types.h#L65 - if vals.Some == nil && res != "irq" { + if vals.Some == nil && res != psiResourceIRQ { c.logger.Debug("pressure information returned no 'some' data") return ErrNoData } - if vals.Full == nil && res != "cpu" { + if vals.Full == nil && res != psiResourceCPU { c.logger.Debug("pressure information returned no 'full' data") return ErrNoData } switch res { - case "cpu": + case psiResourceCPU: ch <- prometheus.MustNewConstMetric(c.cpu, prometheus.CounterValue, float64(vals.Some.Total)/1000.0/1000.0) - case "io": + case psiResourceIO: ch <- prometheus.MustNewConstMetric(c.io, prometheus.CounterValue, float64(vals.Some.Total)/1000.0/1000.0) ch <- prometheus.MustNewConstMetric(c.ioFull, prometheus.CounterValue, float64(vals.Full.Total)/1000.0/1000.0) - case "memory": + case psiResourceMemory: ch <- prometheus.MustNewConstMetric(c.mem, prometheus.CounterValue, float64(vals.Some.Total)/1000.0/1000.0) ch <- prometheus.MustNewConstMetric(c.memFull, prometheus.CounterValue, float64(vals.Full.Total)/1000.0/1000.0) - case "irq": + case psiResourceIRQ: ch <- prometheus.MustNewConstMetric(c.irqFull, prometheus.CounterValue, float64(vals.Full.Total)/1000.0/1000.0) default: c.logger.Debug("did not account for resource", "resource", res) + continue } + foundResources++ + } + + if foundResources == 0 { + c.logger.Debug("pressure information is unavailable, you need a Linux kernel >= 4.20 and/or CONFIG_PSI enabled for your kernel") + return ErrNoData } return nil diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/go.mod new/golang-github-prometheus-node_exporter-1.9.1/go.mod --- old/golang-github-prometheus-node_exporter-1.9.0/go.mod 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/go.mod 2025-04-01 17:14:14.000000000 +0200 @@ -1,6 +1,6 @@ module github.com/prometheus/node_exporter -go 1.22.0 +go 1.23.0 require ( github.com/alecthomas/kingpin/v2 v2.4.0 @@ -29,7 +29,7 @@ github.com/prometheus/procfs v0.15.2-0.20240603130017-1754b780536b // == v0.15.1 + https://github.com/prometheus/procfs/commit/1754b780536bb81082baa913e04cc4fff4d2baea github.com/safchain/ethtool v0.5.10 golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 - golang.org/x/sys v0.30.0 + golang.org/x/sys v0.31.0 howett.net/plist v1.0.1 ) @@ -51,11 +51,11 @@ github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.32.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/sync v0.10.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/crypto v0.36.0 // indirect + golang.org/x/net v0.37.0 // indirect + golang.org/x/oauth2 v0.28.0 // indirect + golang.org/x/sync v0.12.0 // indirect + golang.org/x/text v0.23.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/golang-github-prometheus-node_exporter-1.9.0/go.sum new/golang-github-prometheus-node_exporter-1.9.1/go.sum --- old/golang-github-prometheus-node_exporter-1.9.0/go.sum 2025-02-17 08:08:51.000000000 +0100 +++ new/golang-github-prometheus-node_exporter-1.9.1/go.sum 2025-04-01 17:14:14.000000000 +0200 @@ -102,23 +102,23 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= -golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk= golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= -golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= +golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc= +golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= ++++++ golang-github-prometheus-node_exporter.obsinfo ++++++ --- /var/tmp/diff_new_pack.mLoooV/_old 2025-04-07 17:43:37.366393280 +0200 +++ /var/tmp/diff_new_pack.mLoooV/_new 2025-04-07 17:43:37.370393448 +0200 @@ -1,5 +1,5 @@ name: golang-github-prometheus-node_exporter -version: 1.9.0 -mtime: 1739776131 -commit: 02afa5c53c36123611533f2defea6ccd4546a9bb +version: 1.9.1 +mtime: 1743520454 +commit: f2ec547b49af53815038a50265aa2adcd1275959 ++++++ vendor.tar.gz ++++++ ++++ 1792 lines of diff (skipped)