Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package 
golang-github-lusitaniae-apache_exporter for openSUSE:Factory checked in at 
2024-07-26 16:18:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/golang-github-lusitaniae-apache_exporter 
(Old)
 and      
/work/SRC/openSUSE:Factory/.golang-github-lusitaniae-apache_exporter.new.1882 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "golang-github-lusitaniae-apache_exporter"

Fri Jul 26 16:18:30 2024 rev:14 rq:1189799 version:1.0.8

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/golang-github-lusitaniae-apache_exporter/golang-github-lusitaniae-apache_exporter.changes
        2023-11-27 22:44:20.811985355 +0100
+++ 
/work/SRC/openSUSE:Factory/.golang-github-lusitaniae-apache_exporter.new.1882/golang-github-lusitaniae-apache_exporter.changes
      2024-07-26 16:18:31.861024315 +0200
@@ -1,0 +2,31 @@
+Mon Jul  8 07:30:16 UTC 2024 - Witek Bedyk <witold.be...@suse.com>
+
+- Migrate from `disabled` to `manual` source service type
+- Drop BuildRequires: golang-packaging
+- Upgrade to version 1.0.8 (bsc#1227341)
+  * Update prometheus/client_golang to version 1.19.1
+  * Update x/net to version 0.23.0
+- Upgrade to version 1.0.7
+  * Update protobuf to version 1.33.0
+  * Update prometheus/client_golang to version 1.19.0
+  * Update prometheus/common to version 0.46.0
+  * Standardize landing page
+- Upgrade to version 1.0.6
+  * Update prometheus/exporter-toolkit to version 0.11.0
+  * Update prometheus/client_golang to version 1.18.0
+  * Add User-Agent header
+- Upgrade to version 1.0.4
+  * Update x/crypto to version 0.17.0
+  * Update alecthomas/kingpin/v2 to version 2.4.0
+  * Update prometheus/common to version 0.45.0
+- Upgrade to version 1.0.3
+  * Update prometheus/client_golang to version 1.17.0
+  * Update x/net 0.17.0
+- Upgrade to version 1.0.2
+  * Fix security bug in x/net dependency (CVE-2023-3978)
+- Upgrade to version 1.0.1
+  * Update prometheus/exporter-toolkit to version 0.10.0
+  * Update prometheus/common to version 0.44.0
+  * Update prometheus/client_golang to version 1.16.0
+
+-------------------------------------------------------------------

Old:
----
  apache_exporter-1.0.0.obscpio

New:
----
  apache_exporter-1.0.8.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ golang-github-lusitaniae-apache_exporter.spec ++++++
--- /var/tmp/diff_new_pack.k7kHus/_old  2024-07-26 16:18:33.733099652 +0200
+++ /var/tmp/diff_new_pack.k7kHus/_new  2024-07-26 16:18:33.733099652 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package golang-github-lusitaniae-apache_exporter
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 # Copyright (c) 2019 João Cavalheiro <jcavalhe...@suse.com>
 #
 # All modifications and additions to the file contributed by third parties
@@ -51,7 +51,7 @@
 %define        serviceuser   prometheus
 
 Name:           golang-github-lusitaniae-apache_exporter
-Version:        1.0.0
+Version:        1.0.8
 Release:        0
 Summary:        Apache Exporter for Prometheus
 License:        MIT
@@ -63,7 +63,6 @@
 Source3:        apparmor-usr.bin.%{targetname}
 BuildRequires:  fdupes
 BuildRequires:  golang-github-prometheus-promu
-BuildRequires:  golang-packaging
 %if 0%{?rhel}
 BuildRequires:  golang >= 1.18
 Requires(pre):  shadow-utils
@@ -90,8 +89,7 @@
 %autosetup -a1 -n %{upstreamname}-%{version}
 
 %build
-%goprep %{githubrepo}
-GOPATH=%{_builddir}/go promu build
+GOPATH=%{_builddir}/go promu build -v
 
 %install
 install -D -m 0755 
%{_builddir}/%{upstreamname}-%{version}/%{upstreamname}-%{version} 
%{buildroot}/%{_bindir}/%{targetname}

++++++ _service ++++++
--- /var/tmp/diff_new_pack.k7kHus/_old  2024-07-26 16:18:33.777101422 +0200
+++ /var/tmp/diff_new_pack.k7kHus/_new  2024-07-26 16:18:33.781101583 +0200
@@ -1,10 +1,10 @@
 <services>
-  <service name="obs_scm" mode="disabled">
+  <service name="obs_scm" mode="manual">
     <param name="url">https://github.com/Lusitaniae/apache_exporter</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
     <param name="versionformat">@PARENT_TAG@</param>
-    <param name="revision">v1.0.0</param>
+    <param name="revision">v1.0.8</param>
     <param name="versionrewrite-pattern">v(.*)</param>
   </service>
   <service name="tar" mode="buildtime"/>
@@ -12,11 +12,11 @@
     <param name="file">*.tar</param>
     <param name="compression">gz</param>
   </service>
-  <service name="set_version" mode="disabled">
+  <service name="set_version" mode="manual">
     <param name="basename">apache_exporter</param>
   </service>
-  <service name="go_modules" mode="disabled">
-    <param name="archive">apache_exporter-1.0.0.obscpio</param>
+  <service name="go_modules" mode="manual">
+    <param name="archive">apache_exporter-1.0.8.obscpio</param>
   </service>
 </services>
 

++++++ apache_exporter-1.0.0.obscpio -> apache_exporter-1.0.8.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/.github/dependabot.yml 
new/apache_exporter-1.0.8/.github/dependabot.yml
--- old/apache_exporter-1.0.0/.github/dependabot.yml    2023-06-26 
11:05:04.000000000 +0200
+++ new/apache_exporter-1.0.8/.github/dependabot.yml    2024-06-26 
16:48:04.000000000 +0200
@@ -3,4 +3,8 @@
   - package-ecosystem: "gomod"
     directory: "/"
     schedule:
-      interval: "monthly"
+      interval: "weekly"
+  - package-ecosystem: "github-actions"
+    directory: "/"
+    schedule:
+      interval: "weekly"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/.github/workflows/ci.yml 
new/apache_exporter-1.0.8/.github/workflows/ci.yml
--- old/apache_exporter-1.0.0/.github/workflows/ci.yml  2023-06-26 
11:05:04.000000000 +0200
+++ new/apache_exporter-1.0.8/.github/workflows/ci.yml  2024-06-26 
16:48:04.000000000 +0200
@@ -10,10 +10,10 @@
     # Whenever the Go version is updated here, .promu.yml
     # should also be updated.
     container:
-      image: quay.io/prometheus/golang-builder:1.19-base
+      image: quay.io/prometheus/golang-builder:1.22-base
     steps:
-      - uses: actions/checkout@v3
-      - uses: prometheus/promci@v0.0.2
+      - uses: actions/checkout@v4
+      - uses: prometheus/promci@v0.1.0
       - uses: ./.github/promci/actions/setup_environment
       - run: make
 
@@ -24,8 +24,8 @@
       matrix:
         thread: [ 0, 1, 2 ]
     steps:
-      - uses: actions/checkout@v3
-      - uses: prometheus/promci@v0.0.2
+      - uses: actions/checkout@v4
+      - uses: prometheus/promci@v0.1.0
       - uses: ./.github/promci/actions/build
         with:
           parallelism: 3
@@ -36,15 +36,16 @@
     runs-on: ubuntu-latest
     steps:
       - name: Checkout repository
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Install Go
-        uses: actions/setup-go@v3
+        uses: actions/setup-go@v5
         with:
-          go-version: '<1.19'
+          go-version: '<1.22'
       - name: Lint
-        uses: golangci/golangci-lint-action@v3.2.0
+        uses: golangci/golangci-lint-action@v6.0.1
         with:
-          version: v1.51.1
+          # Keep in sync with Makefile.common
+          version: v1.56.2
 
   # modified from the original as this repo still using master, insteead of 
main
   publish_master:
@@ -53,8 +54,8 @@
     needs: [test, build]
     if: github.event_name == 'push' && github.event.ref == 'refs/heads/master'
     steps:
-      - uses: actions/checkout@v3
-      - uses: prometheus/promci@v0.0.2
+      - uses: actions/checkout@v4
+      - uses: prometheus/promci@v0.1.0
       - uses: ./.github/promci/actions/publish_main
         with:
           docker_hub_organization: lusotycoon
@@ -70,8 +71,8 @@
     needs: [test, build]
     if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
     steps:
-      - uses: actions/checkout@v3
-      - uses: prometheus/promci@v0.0.2
+      - uses: actions/checkout@v4
+      - uses: prometheus/promci@v0.1.0
       - uses: ./.github/promci/actions/publish_release
         with:
           docker_hub_organization: lusotycoon
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/.promu.yml 
new/apache_exporter-1.0.8/.promu.yml
--- old/apache_exporter-1.0.0/.promu.yml        2023-06-26 11:05:04.000000000 
+0200
+++ new/apache_exporter-1.0.8/.promu.yml        2024-06-26 16:48:04.000000000 
+0200
@@ -1,7 +1,7 @@
 go:
     # Whenever the Go version is updated here,
-    # .circle/config.yml should also be updated.
-    version: 1.19
+    # .github/workflows/ci.yml should also be updated.
+    version: 1.22
     # cgo: false
 repository:
     path: github.com/Lusitaniae/apache_exporter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/CHANGELOG.md 
new/apache_exporter-1.0.8/CHANGELOG.md
--- old/apache_exporter-1.0.0/CHANGELOG.md      1970-01-01 01:00:00.000000000 
+0100
+++ new/apache_exporter-1.0.8/CHANGELOG.md      2024-06-26 16:48:04.000000000 
+0200
@@ -0,0 +1,7 @@
+# 1.0.6 / 2024-01-30
+
+* [FEATURE] Add UserAgent header
+
+## 1.0.5 / 2023-12-22
+
+* [BUGFIX] Add required changelog #182
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/Makefile 
new/apache_exporter-1.0.8/Makefile
--- old/apache_exporter-1.0.0/Makefile  2023-06-26 11:05:04.000000000 +0200
+++ new/apache_exporter-1.0.8/Makefile  2024-06-26 16:48:04.000000000 +0200
@@ -19,7 +19,7 @@
 
 include Makefile.common
 
-PROMETHEUS_VERSION=2.39.1
+PROMETHEUS_VERSION=2.50.1
 PROMTOOL ?= /tmp/prometheus-$(PROMETHEUS_VERSION).linux-amd64/promtool
 
 .PHONY: checkmetrics
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/Makefile.common 
new/apache_exporter-1.0.8/Makefile.common
--- old/apache_exporter-1.0.0/Makefile.common   2023-06-26 11:05:04.000000000 
+0200
+++ new/apache_exporter-1.0.8/Makefile.common   2024-06-26 16:48:04.000000000 
+0200
@@ -83,7 +83,8 @@
 
 GOLANGCI_LINT :=
 GOLANGCI_LINT_OPTS ?=
-GOLANGCI_LINT_VERSION ?= v1.51.1
+# Keep in sync .github/workflows/ci.yaml
+GOLANGCI_LINT_VERSION ?= v1.56.2
 # golangci-lint only supports linux, darwin and windows platforms on 
i386/amd64.
 # windows isn't included here because of the path separator being different.
 ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/VERSION 
new/apache_exporter-1.0.8/VERSION
--- old/apache_exporter-1.0.0/VERSION   2023-06-26 11:05:04.000000000 +0200
+++ new/apache_exporter-1.0.8/VERSION   2024-06-26 16:48:04.000000000 +0200
@@ -1 +1 @@
-1.0.0
+1.0.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/apache_exporter.go 
new/apache_exporter-1.0.8/apache_exporter.go
--- old/apache_exporter-1.0.0/apache_exporter.go        2023-06-26 
11:05:04.000000000 +0200
+++ new/apache_exporter-1.0.8/apache_exporter.go        2024-06-26 
16:48:04.000000000 +0200
@@ -76,15 +76,24 @@
        }()
 
        http.Handle(*metricsEndpoint, promhttp.Handler())
-       http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
-               _, _ = w.Write([]byte(`<html>
-                        <head><title>Apache Exporter</title></head>
-                        <body>
-                        <h1>Apache Exporter</h1>
-                        <p><a href='` + *metricsEndpoint + `'>Metrics</a></p>
-                        </body>
-                        </html>`))
-       })
+
+       landingConfig := web.LandingConfig{
+               Name:        "Apache Exporter",
+               Description: "Prometheus exporter for Apache HTTP server 
metrics",
+               Version:     version.Info(),
+               Links: []web.LandingLinks{
+                       {
+                               Address: *metricsEndpoint,
+                               Text:    "Metrics",
+                       },
+               },
+       }
+       landingPage, err := web.NewLandingPage(landingConfig)
+       if err != nil {
+               level.Error(logger).Log("err", err)
+               os.Exit(1)
+       }
+       http.Handle("/", landingPage)
 
        server := &http.Server{}
        if err := web.ListenAndServe(server, toolkitFlags, logger); err != nil {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/collector/collector.go 
new/apache_exporter-1.0.8/collector/collector.go
--- old/apache_exporter-1.0.0/collector/collector.go    2023-06-26 
11:05:04.000000000 +0200
+++ new/apache_exporter-1.0.8/collector/collector.go    2024-06-26 
16:48:04.000000000 +0200
@@ -8,10 +8,13 @@
 package collector
 
 import (
+       "bufio"
+       "bytes"
        "crypto/tls"
        "fmt"
        "io"
        "net/http"
+       "regexp"
        "strconv"
        "strings"
        "sync"
@@ -19,18 +22,26 @@
        "github.com/go-kit/log"
        "github.com/go-kit/log/level"
        "github.com/prometheus/client_golang/prometheus"
+       "github.com/prometheus/common/version"
 )
 
 const (
        namespace = "apache"
 )
 
+var (
+       // Regular expressions for matching proxy balancer status lines.
+       reProxyBalName   = regexp.MustCompile(`ProxyBalancer\[\d+\]Name`)
+       reProxyBalWorker = 
regexp.MustCompile(`ProxyBalancer\[\d+\]Worker\[\d+\](\S+)`)
+)
+
 type Exporter struct {
        URI           string
        hostOverride  string
        customHeaders map[string]string
        mutex         sync.Mutex
        client        *http.Client
+       userAgent     string
 
        up                    *prometheus.Desc
        scrapeFailures        prometheus.Counter
@@ -197,6 +208,7 @@
                                TLSClientConfig: 
&tls.Config{InsecureSkipVerify: config.Insecure},
                        },
                },
+               userAgent: fmt.Sprintf("Prometheus-Apache-Exporter/%s", 
version.Version),
        }
 }
 
@@ -227,7 +239,6 @@
 
 // Split colon separated string into two fields
 func splitkv(s string) (string, string) {
-
        if len(s) == 0 {
                return s, s
        }
@@ -272,36 +283,37 @@
 }
 
 func (e *Exporter) collect(ch chan<- prometheus.Metric) error {
-       req, err := http.NewRequest("GET", e.URI, nil)
+       req, err := http.NewRequest(http.MethodGet, e.URI, nil)
+       if err != nil {
+               return fmt.Errorf("error building scraping request: %w", err)
+       }
+
        if e.hostOverride != "" {
                req.Host = e.hostOverride
        }
-       if err != nil {
-               return fmt.Errorf("error building scraping request: %v", err)
-       }
+
        for k, v := range e.customHeaders {
                req.Header.Add(k, v)
        }
+
+       req.Header.Set("User-Agent", e.userAgent)
        resp, err := e.client.Do(req)
        if err != nil {
                ch <- prometheus.MustNewConstMetric(e.up, 
prometheus.GaugeValue, 0)
-               return fmt.Errorf("error scraping apache: %v", err)
+               return fmt.Errorf("error scraping Apache: %w", err)
        }
        ch <- prometheus.MustNewConstMetric(e.up, prometheus.GaugeValue, 1)
 
        data, err := io.ReadAll(resp.Body)
        resp.Body.Close()
-       if resp.StatusCode != 200 {
+       if resp.StatusCode != http.StatusOK {
                if err != nil {
                        data = []byte(err.Error())
                }
                return fmt.Errorf("status %s (%d): %s", resp.Status, 
resp.StatusCode, data)
        }
 
-       lines := strings.Split(string(data), "\n")
-
        connectionInfo := false
-       //connectionInfo := false
        version := "UNKNOWN"
        mpm := "UNKNOWN"
        balancerName := "UNKNOWN"
@@ -312,28 +324,26 @@
        e.proxyBalancerStatus.Reset()
        e.proxyBalancerBusy.Reset()
 
-       for _, l := range lines {
-               key, v := splitkv(l)
+       scanner := bufio.NewScanner(bytes.NewReader(data))
+
+       for scanner.Scan() {
+               key, v := splitkv(scanner.Text())
                if err != nil {
                        continue
                }
 
                switch {
                case key == "ServerVersion":
-                       var tmpstr string
-                       var vparts []string
-
                        version = v
-                       tmpstr = strings.Split(v, "/")[1]
+                       tmpstr := strings.Split(v, "/")[1]
                        tmpstr = strings.Split(tmpstr, " ")[0]
-                       vparts = strings.Split(tmpstr, ".")
-                       tmpstr = vparts[0] + "." + fmt.Sprintf("%02s", 
vparts[1]) + fmt.Sprintf("%03s", vparts[2])
+                       vparts := strings.Split(tmpstr, ".")
+                       tmpstr = fmt.Sprintf("%s.%02s%03s", vparts[0], 
vparts[1], vparts[2])
 
                        val, err := strconv.ParseFloat(tmpstr, 64)
                        if err != nil {
                                return err
                        }
-
                        ch <- prometheus.MustNewConstMetric(e.apacheVersion, 
prometheus.GaugeValue, val)
                case key == "ServerMPM":
                        mpm = v
@@ -342,56 +352,48 @@
                        if err != nil {
                                return err
                        }
-
                        e.generation.WithLabelValues("config").Set(val)
                case key == "ParentServerMPMGeneration":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.generation.WithLabelValues("mpm").Set(val)
                case key == "Load1":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.load.WithLabelValues("1min").Set(val)
                case key == "Load5":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.load.WithLabelValues("5min").Set(val)
                case key == "Load15":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.load.WithLabelValues("15min").Set(val)
                case key == "Total Accesses":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        ch <- prometheus.MustNewConstMetric(e.accessesTotal, 
prometheus.CounterValue, val)
                case key == "Total kBytes":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        ch <- prometheus.MustNewConstMetric(e.kBytesTotal, 
prometheus.CounterValue, val)
                case key == "Total Duration":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        ch <- prometheus.MustNewConstMetric(e.durationTotal, 
prometheus.CounterValue, val)
                case key == "CPUUser":
                        val, err := strconv.ParseFloat(v, 64)
@@ -430,49 +432,42 @@
                        if err != nil {
                                return err
                        }
-
                        e.cpuload.Set(val)
                case key == "Uptime":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        ch <- prometheus.MustNewConstMetric(e.uptime, 
prometheus.CounterValue, val)
                case key == "BusyWorkers":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.workers.WithLabelValues("busy").Set(val)
                case key == "IdleWorkers":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.workers.WithLabelValues("idle").Set(val)
                case key == "Processes":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.processes.WithLabelValues("all").Set(val)
                case key == "Stopping":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.processes.WithLabelValues("stopping").Set(val)
                case key == "ConnsTotal":
                        val, err := strconv.ParseFloat(v, 64)
                        if err != nil {
                                return err
                        }
-
                        e.connections.WithLabelValues("total").Set(val)
                        connectionInfo = true
                case key == "ConnsAsyncWriting":
@@ -480,7 +475,6 @@
                        if err != nil {
                                return err
                        }
-
                        e.connections.WithLabelValues("writing").Set(val)
                        connectionInfo = true
                case key == "ConnsAsyncKeepAlive":
@@ -500,40 +494,40 @@
                case key == "Scoreboard":
                        e.updateScoreboard(v)
                        e.scoreboard.Collect(ch)
+
                //ProxyBalancer[0]Name: balancer://sid2021
                //ProxyBalancer[0]Worker[0]Name: https://z-app-01:9143
                //ProxyBalancer[0]Worker[0]Status: Init Ok
                //ProxyBalancer[0]Worker[0]Elected: 5808
                //...
-               case strings.HasPrefix(key, "ProxyBalancer["):
-                       switch {
-                       case strings.HasSuffix(key, "]Name"):
-                               if strings.Contains(key, "]Worker[") {
-                                       workerName = v
-                               } else {
-                                       balancerName = v
-                               }
-                       case strings.HasSuffix(key, "]Status"):
+               case reProxyBalName.MatchString(key):
+                       balancerName = v
+               case reProxyBalWorker.MatchString(key):
+                       key := reProxyBalWorker.FindStringSubmatch(key)[1]
+                       switch key {
+                       case "Name":
+                               workerName = v
+                       case "Status":
                                
e.proxyBalancerStatus.WithLabelValues(balancerName, workerName, v).Set(1)
-                       case strings.HasSuffix(key, "]Elected"):
+                       case "Elected":
                                val, err := strconv.ParseFloat(v, 64)
                                if err != nil {
                                        return err
                                }
                                ch <- 
prometheus.MustNewConstMetric(e.proxyBalancerElected, prometheus.CounterValue, 
val, balancerName, workerName)
-                       case strings.HasSuffix(key, "]Busy"):
+                       case "Busy":
                                val, err := strconv.ParseFloat(v, 64)
                                if err != nil {
                                        return err
                                }
                                
e.proxyBalancerBusy.WithLabelValues(balancerName, workerName).Set(val)
-                       case strings.HasSuffix(key, "]Sent"):
+                       case "Sent":
                                val, err := 
strconv.ParseFloat(strings.TrimRight(v, "kK"), 64)
                                if err != nil {
                                        return err
                                }
                                ch <- 
prometheus.MustNewConstMetric(e.proxyBalancerReqSize, prometheus.CounterValue, 
val, balancerName, workerName)
-                       case strings.HasSuffix(key, "]Rcvd"):
+                       case "Rcvd":
                                val, err := 
strconv.ParseFloat(strings.TrimRight(v, "kK"), 64)
                                if err != nil {
                                        return err
@@ -571,9 +565,8 @@
        e.mutex.Lock() // To protect metrics from concurrent collects.
        defer e.mutex.Unlock()
        if err := e.collect(ch); err != nil {
-               level.Error(e.logger).Log("msg", "Error scraping apache:", 
"err", err)
+               level.Error(e.logger).Log("msg", "Error scraping Apache:", 
"err", err)
                e.scrapeFailures.Inc()
                e.scrapeFailures.Collect(ch)
        }
-       return
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/go.mod 
new/apache_exporter-1.0.8/go.mod
--- old/apache_exporter-1.0.0/go.mod    2023-06-26 11:05:04.000000000 +0200
+++ new/apache_exporter-1.0.8/go.mod    2024-06-26 16:48:04.000000000 +0200
@@ -3,11 +3,11 @@
 go 1.19
 
 require (
-       github.com/alecthomas/kingpin/v2 v2.3.2
+       github.com/alecthomas/kingpin/v2 v2.4.0
        github.com/go-kit/log v0.2.1
-       github.com/prometheus/client_golang v1.15.0
-       github.com/prometheus/common v0.42.0
-       github.com/prometheus/exporter-toolkit v0.9.1
+       github.com/prometheus/client_golang v1.19.1
+       github.com/prometheus/common v0.48.0
+       github.com/prometheus/exporter-toolkit v0.11.0
 )
 
 require (
@@ -18,20 +18,17 @@
        github.com/go-logfmt/logfmt v0.6.0 // indirect
        github.com/golang/protobuf v1.5.3 // indirect
        github.com/jpillora/backoff v1.0.0 // indirect
-       github.com/kr/text v0.2.0 // indirect
-       github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
        github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // 
indirect
-       github.com/prometheus/client_model v0.3.0 // indirect
-       github.com/prometheus/procfs v0.9.0 // indirect
-       github.com/rogpeppe/go-internal v1.9.0 // indirect
+       github.com/prometheus/client_model v0.5.0 // indirect
+       github.com/prometheus/procfs v0.12.0 // indirect
        github.com/xhit/go-str2duration/v2 v2.1.0 // indirect
-       golang.org/x/crypto v0.7.0 // indirect
-       golang.org/x/net v0.8.0 // indirect
-       golang.org/x/oauth2 v0.6.0 // indirect
-       golang.org/x/sync v0.1.0 // indirect
-       golang.org/x/sys v0.6.0 // indirect
-       golang.org/x/text v0.8.0 // indirect
+       golang.org/x/crypto v0.21.0 // indirect
+       golang.org/x/net v0.23.0 // indirect
+       golang.org/x/oauth2 v0.16.0 // indirect
+       golang.org/x/sync v0.5.0 // indirect
+       golang.org/x/sys v0.18.0 // indirect
+       golang.org/x/text v0.14.0 // indirect
        google.golang.org/appengine v1.6.7 // indirect
-       google.golang.org/protobuf v1.30.0 // indirect
+       google.golang.org/protobuf v1.33.0 // indirect
        gopkg.in/yaml.v2 v2.4.0 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apache_exporter-1.0.0/go.sum 
new/apache_exporter-1.0.8/go.sum
--- old/apache_exporter-1.0.0/go.sum    2023-06-26 11:05:04.000000000 +0200
+++ new/apache_exporter-1.0.8/go.sum    2024-06-26 16:48:04.000000000 +0200
@@ -1,5 +1,5 @@
-github.com/alecthomas/kingpin/v2 v2.3.2 
h1:H0aULhgmSzN8xQ3nX1uxtdlTHYoPLu5AhHxWrKI6ocU=
-github.com/alecthomas/kingpin/v2 v2.3.2/go.mod 
h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
+github.com/alecthomas/kingpin/v2 v2.4.0 
h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY=
+github.com/alecthomas/kingpin/v2 v2.4.0/go.mod 
h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
 github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 
h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
 github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod 
h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -8,7 +8,6 @@
 github.com/cespare/xxhash/v2 v2.2.0/go.mod 
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/coreos/go-systemd/v22 v22.5.0 
h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
 github.com/coreos/go-systemd/v22 v22.5.0/go.mod 
h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
-github.com/creack/pty v1.1.9/go.mod 
h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/davecgh/go-spew v1.1.0/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU=
@@ -16,68 +15,61 @@
 github.com/go-logfmt/logfmt v0.6.0 
h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4=
 github.com/go-logfmt/logfmt v0.6.0/go.mod 
h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
 github.com/godbus/dbus/v5 v5.0.4/go.mod 
h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-github.com/golang/protobuf v1.2.0/go.mod 
h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.1/go.mod 
h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.5/go.mod 
h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
 github.com/golang/protobuf v1.5.0/go.mod 
h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
 github.com/golang/protobuf v1.5.3 
h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
 github.com/golang/protobuf v1.5.3/go.mod 
h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
 github.com/google/go-cmp v0.5.5/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 github.com/jpillora/backoff v1.0.0 
h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
 github.com/jpillora/backoff v1.0.0/go.mod 
h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kr/text v0.2.0/go.mod 
h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/matttproud/golang_protobuf_extensions v1.0.4 
h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
-github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod 
h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f 
h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
 github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod 
h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v1.15.0 
h1:5fCgGYogn0hFdhyhLbw7hEsWxufKtY9klyvdNfFlFhM=
-github.com/prometheus/client_golang v1.15.0/go.mod 
h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk=
-github.com/prometheus/client_model v0.3.0 
h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=
-github.com/prometheus/client_model v0.3.0/go.mod 
h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
-github.com/prometheus/common v0.42.0 
h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM=
-github.com/prometheus/common v0.42.0/go.mod 
h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc=
-github.com/prometheus/exporter-toolkit v0.9.1 
h1:cNkC01riqiOS+kh3zdnNwRsbe/Blh0WwK3ij5rPJ9Sw=
-github.com/prometheus/exporter-toolkit v0.9.1/go.mod 
h1:iFlTmFISCix0vyuyBmm0UqOUCTao9+RsAsKJP3YM9ec=
-github.com/prometheus/procfs v0.9.0 
h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=
-github.com/prometheus/procfs v0.9.0/go.mod 
h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
-github.com/rogpeppe/go-internal v1.9.0 
h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
-github.com/rogpeppe/go-internal v1.9.0/go.mod 
h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
+github.com/prometheus/client_golang v1.19.1 
h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
+github.com/prometheus/client_golang v1.19.1/go.mod 
h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
+github.com/prometheus/client_model v0.5.0 
h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
+github.com/prometheus/client_model v0.5.0/go.mod 
h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
+github.com/prometheus/common v0.48.0 
h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE=
+github.com/prometheus/common v0.48.0/go.mod 
h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
+github.com/prometheus/exporter-toolkit v0.11.0 
h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g=
+github.com/prometheus/exporter-toolkit v0.11.0/go.mod 
h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q=
+github.com/prometheus/procfs v0.12.0 
h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
+github.com/prometheus/procfs v0.12.0/go.mod 
h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
+github.com/rogpeppe/go-internal v1.10.0 
h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
 github.com/stretchr/objx v0.1.0/go.mod 
h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/testify v1.4.0/go.mod 
h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.8.2 
h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
 github.com/xhit/go-str2duration/v2 v2.1.0 
h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=
 github.com/xhit/go-str2duration/v2 v2.1.0/go.mod 
h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod 
h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
-golang.org/x/crypto v0.7.0/go.mod 
h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
+golang.org/x/crypto v0.21.0/go.mod 
h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
 golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod 
h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
-golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
-golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw=
-golang.org/x/oauth2 v0.6.0/go.mod 
h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
-golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
+golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ=
+golang.org/x/oauth2 v0.16.0/go.mod 
h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o=
+golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
+golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
+golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
-golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.14.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/appengine v1.6.7 
h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
 google.golang.org/appengine v1.6.7/go.mod 
h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
 google.golang.org/protobuf v1.26.0-rc.1/go.mod 
h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0/go.mod 
h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.30.0 
h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
-google.golang.org/protobuf v1.30.0/go.mod 
h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.33.0 
h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
+google.golang.org/protobuf v1.33.0/go.mod 
h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

++++++ apache_exporter.obsinfo ++++++
--- /var/tmp/diff_new_pack.k7kHus/_old  2024-07-26 16:18:33.885105768 +0200
+++ /var/tmp/diff_new_pack.k7kHus/_new  2024-07-26 16:18:33.889105930 +0200
@@ -1,5 +1,5 @@
 name: apache_exporter
-version: 1.0.0
-mtime: 1687770304
-commit: 1e6c01ae15e65e7fc3114311098e9ce724629dce
+version: 1.0.8
+mtime: 1719413284
+commit: 887a69584e567f5f94de6b2f8bfde023ba7e697a
 

++++++ vendor.tar.gz ++++++
++++ 55603 lines of diff (skipped)

Reply via email to