public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-metrics/burrow_exporter/, app-metrics/burrow_exporter/files/
@ 2018-07-26 17:59 Manuel Rüger
  0 siblings, 0 replies; 2+ messages in thread
From: Manuel Rüger @ 2018-07-26 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     9a307cfc1507931b1131665435c004b7e346aaad
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 26 17:56:57 2018 +0000
Commit:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
CommitDate: Thu Jul 26 17:56:57 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a307cfc

app-metrics/burrow_exporter: Initial version

Package-Manager: Portage-2.3.43, Repoman-2.3.10

 app-metrics/burrow_exporter/Manifest               | 10 ++++
 .../burrow_exporter/burrow_exporter-0.0.6.ebuild   | 57 ++++++++++++++++++++++
 .../burrow_exporter/files/burrow_exporter.confd    |  2 +
 .../burrow_exporter/files/burrow_exporter.initd    | 19 ++++++++
 app-metrics/burrow_exporter/metadata.xml           | 11 +++++
 5 files changed, 99 insertions(+)

diff --git a/app-metrics/burrow_exporter/Manifest b/app-metrics/burrow_exporter/Manifest
new file mode 100644
index 00000000000..8bfe6d9e9c1
--- /dev/null
+++ b/app-metrics/burrow_exporter/Manifest
@@ -0,0 +1,10 @@
+DIST burrow_exporter-0.0.6.tar.gz 9966 BLAKE2B 26db3f53fd276073d709a416dd11f29008ee467c8e6deed2e90500044089e4fac34e035fec06323abaf50bec2da6291599799c91ffe140459a701b83ccdbb3c9 SHA512 faccb828a3044474bbd3eff1fc0a6ec163b5bc332a61ee0327832b65ae83ac202ce1f70f6519e2d3014275e995d8f6682245a52cb768491f0159df2f7198892b
+DIST github.com-Sirupsen-logrus-ba1b36c82c5e05c4f912a88eab0dcd91a171688f.tar.gz 26698 BLAKE2B 10f98819cf6e8e64e22ead564d8460414818cdfda5159a3e751a6457e531d8b8c34eee8fad5c35db187d52400a93ec7240bbea8821ac39360708b61940c33fcf SHA512 7152a9e355e21de7980a28e915b712103ae1eaaa4142a5c37db00d8d30415cb2ecacf53bbe178cce49a1b9c4ad57336e8438a40f0bb92dd20a2bcabb1980013b
+DIST github.com-beorn7-perks-4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9.tar.gz 10593 BLAKE2B 057738aefe26d3d42ba1bc0906675403512a7bab1161bc1015f6d833296778f2236cb2b99bbebd5c7db2384634fef62d2afbfc8dd59bfb1320bc6184105aa437 SHA512 ecac8d361b4695b1fc32a9aaf9e0785201d1bebbf270226540e2c3fe193ad21f4fe8aed4e01937bd1e7273ca394455ca6fd7cf29418710f279cbb8eb92939e32
+DIST github.com-golang-protobuf-2bba0603135d7d7f5cb73b2125beeda19c09f4ef.tar.gz 245411 BLAKE2B 3b4a96035e106ce7e79b6c4b5517d051e5664e0eb163bc63cd52f00ae090dcb7f059d90017c28795a8a4ff639aec8a06b3b704eddd4512e0f9d5d2c3a42bb65c SHA512 0bdd02036cc29cfd2a0dc7bb3d724addf1d8692e3905d719178fa52370d0ff9a4e8798cf5c18924cc265fbf522eeab305faff003efd37295c7bbff2428182ed0
+DIST github.com-matttproud-golang_protobuf_extensions-c12348ce28de40eed0136aa2b644d0ee0650e56c.tar.gz 37215 BLAKE2B b3b007f925a4a1c1862c8cbe34c5cd225dfa610ad8c56b5328e6920a44b507680daeea97209370bd6b259654d0ca5791f4bcc54b8bd8970b9aaf994eada16d4f SHA512 2f78290d1448cfc041d10210092d6da6f3df2b9b6c16ff730750e976e450dafe2645ba945319a0a3064c88f9c18652c69c0e0cf69d8931c08d23ffe65a8cc07d
+DIST github.com-prometheus-client_golang-42552c195dd3f3089fbf9cf26e139da150af35aa.tar.gz 89835 BLAKE2B c66bacb6e1e33a070e56319f0af87e41b6588af1c200106cc00664e1b4f35d751e8c43fba81252e658f1ce121bc4826c67a253b016017f9ed1bd383b3ce3fdd2 SHA512 fc4dc996f87ed8dbd456f30ca83c1576911379ffc5aceb479f6b9e4b664fbace8359e3aa90249d122221a75357891778415d6dd006d35ceb9544fe1818f8d894
+DIST github.com-prometheus-client_model-6f3806018612930941127f2a7c6c453ba2c527d2.tar.gz 54707 BLAKE2B dec697d268b2bc8a2c6f9bb939e702fdc49e887fbe16a5f648f637e0ff425731ef4363707ea7732be27c2dff899d494f61aedd87232f90cdd97383033f4d833e SHA512 5991a5cdb1f1a5f6d67d325e4db37cb8b6994909bbebefdd454a4e42b08271a40b163b56191b45b8c27e5c3e6cfe430354ee13bb38643041e4a17792d59d96bf
+DIST github.com-prometheus-common-13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207.tar.gz 58775 BLAKE2B 05173a41bfaa944e2096b4360e0974f921934b6e6ec8b34cb7322158cabaa73e60ab091d4a5bcc9696b29995e7f71bdf55cb832af140a153452cf66c85c9a3cd SHA512 9d4a937d12a738a7802102415cb061e0009ed43f901420560637e13f7952c26dab52e67011d8b1f8ffe474e223198a23becb65a6eb07cee1be9f6b1add566fd4
+DIST github.com-prometheus-procfs-65c1f6f8f0fc1e2185eb9863a3bc751496404259.tar.gz 34890 BLAKE2B f0284354e3782e07371825b3fd6136a5fc516dae97218c90ac333ce749f87b435a55c6545691a7b71f90b98563fdba5f96c238007ee8187d98297edce1124cd5 SHA512 47cafa8b7a4f9496e1cfd6e2d24ae882ed3ac21a2417eb2ece2cfaa2e391d32b60d2ec8c3860988d8fe3af8bfa6d1430e938e5da1331a7e1df2828753dac82bd
+DIST github.com-urfave-cli-ab403a54a148f2d857920810291539e1f817ee7b.tar.gz 56233 BLAKE2B e65241a10240c98eae5909a29ea63036583a073c290f613cac1d081534760bb4f0e15c2e02bd5693bae036901f9b029099ebea7679655da14b415332b0a3a93b SHA512 c4af60825c3209850b6a5ce38a86ac0b8cd9bfdbe6ef83dc4a52cb2842465fb12f96a81631646135c0571f404d891867bd401a2182ab3f3586e8b86090648bcc

diff --git a/app-metrics/burrow_exporter/burrow_exporter-0.0.6.ebuild b/app-metrics/burrow_exporter/burrow_exporter-0.0.6.ebuild
new file mode 100644
index 00000000000..25e00711b56
--- /dev/null
+++ b/app-metrics/burrow_exporter/burrow_exporter-0.0.6.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_VENDOR=(
+	"github.com/beorn7/perks 4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9"
+	"github.com/golang/protobuf 2bba0603135d7d7f5cb73b2125beeda19c09f4ef"
+	"github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c"
+	"github.com/prometheus/client_golang 42552c195dd3f3089fbf9cf26e139da150af35aa"
+	"github.com/prometheus/client_model 6f3806018612930941127f2a7c6c453ba2c527d2"
+	"github.com/prometheus/common 13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207"
+	"github.com/prometheus/procfs 65c1f6f8f0fc1e2185eb9863a3bc751496404259"
+	"github.com/Sirupsen/logrus ba1b36c82c5e05c4f912a88eab0dcd91a171688f"
+	"github.com/urfave/cli ab403a54a148f2d857920810291539e1f817ee7b"
+)
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/jirwin/burrow_exporter"
+EXPORTER_COMMIT="01f0ef9"
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for Burrow"
+HOMEPAGE="https://github.com/jirwin/burrow_exporter"
+SRC_URI="${ARCHIVE_URI}
+	${EGO_VENDOR_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+pkg_setup() {
+	enewgroup ${PN}
+	enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+	default
+	sed -i -e "s/0.0.4/${PV}/" src/${EGO_PN}/burrow-exporter.go || die
+}
+
+src_compile() {
+	pushd src/${EGO_PN} || die
+	GOPATH="${S}" go build -v -o bin/burrow_exporter || die
+	popd || die
+}
+
+src_install() {
+	pushd src/${EGO_PN} || die
+	dobin bin/burrow_exporter
+	dodoc {README,CHANGELOG}.md
+	popd || die
+	keepdir /var/log/mongodb_exporter
+	fowners ${PN}:${PN} /var/log/mongodb_exporter
+	newinitd "${FILESDIR}"/${PN}.initd ${PN}
+	newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}

diff --git a/app-metrics/burrow_exporter/files/burrow_exporter.confd b/app-metrics/burrow_exporter/files/burrow_exporter.confd
new file mode 100644
index 00000000000..db22136b554
--- /dev/null
+++ b/app-metrics/burrow_exporter/files/burrow_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus burrow exporter
+command_args=""

diff --git a/app-metrics/burrow_exporter/files/burrow_exporter.initd b/app-metrics/burrow_exporter/files/burrow_exporter.initd
new file mode 100644
index 00000000000..370fd4c5c9f
--- /dev/null
+++ b/app-metrics/burrow_exporter/files/burrow_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus burrow exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/burrow_exporter"
+command_args="${command_args:---burrow-addr http://127.0.0.1:8000 --metrics-addr 0.0.0.0:8080 --interval 30 --api-version 2}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+	--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+	--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+	after net
+}

diff --git a/app-metrics/burrow_exporter/metadata.xml b/app-metrics/burrow_exporter/metadata.xml
new file mode 100644
index 00000000000..9d38e68ffc1
--- /dev/null
+++ b/app-metrics/burrow_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>mrueg@gentoo.org</email>
+		<name>Manuel Rüger</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="github">jirwin/burrow_exporter</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-metrics/burrow_exporter/, app-metrics/burrow_exporter/files/
@ 2019-01-18 16:02 Manuel Rüger
  0 siblings, 0 replies; 2+ messages in thread
From: Manuel Rüger @ 2019-01-18 16:02 UTC (permalink / raw
  To: gentoo-commits

commit:     055ccb3adb8de2b369320233269445b126840928
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 18 16:01:10 2019 +0000
Commit:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
CommitDate: Fri Jan 18 16:01:56 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=055ccb3a

app-metrics/burrow_exporter: Apply patch to provide correct metrics

Package-Manager: Portage-2.3.56, Repoman-2.3.12
Signed-off-by: Manuel Rüger <mrueg <AT> gentoo.org>

 .../burrow_exporter-0.0.6-r1.ebuild                |  62 +++++
 .../files/burrow_exporter-0.0.6-fix-metrics.patch  |  49 ++++
 .../burrow_exporter-0.0.6-skippable-metrics.patch  | 273 +++++++++++++++++++++
 .../files/burrow_exporter.logrotated               |   7 +
 4 files changed, 391 insertions(+)

diff --git a/app-metrics/burrow_exporter/burrow_exporter-0.0.6-r1.ebuild b/app-metrics/burrow_exporter/burrow_exporter-0.0.6-r1.ebuild
new file mode 100644
index 00000000000..b6a97d6ef8f
--- /dev/null
+++ b/app-metrics/burrow_exporter/burrow_exporter-0.0.6-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_VENDOR=(
+	"github.com/beorn7/perks 4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9"
+	"github.com/golang/protobuf 2bba0603135d7d7f5cb73b2125beeda19c09f4ef"
+	"github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c"
+	"github.com/prometheus/client_golang 42552c195dd3f3089fbf9cf26e139da150af35aa"
+	"github.com/prometheus/client_model 6f3806018612930941127f2a7c6c453ba2c527d2"
+	"github.com/prometheus/common 13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207"
+	"github.com/prometheus/procfs 65c1f6f8f0fc1e2185eb9863a3bc751496404259"
+	"github.com/Sirupsen/logrus ba1b36c82c5e05c4f912a88eab0dcd91a171688f"
+	"github.com/urfave/cli ab403a54a148f2d857920810291539e1f817ee7b"
+)
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/jirwin/burrow_exporter"
+EXPORTER_COMMIT="01f0ef9"
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for Burrow"
+HOMEPAGE="https://github.com/jirwin/burrow_exporter"
+SRC_URI="${ARCHIVE_URI}
+	${EGO_VENDOR_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+pkg_setup() {
+	enewgroup ${PN}
+	enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+	pushd src/${EGO_PN} || die
+	eapply "${FILESDIR}"/${P}-skippable-metrics.patch "${FILESDIR}"/${P}-fix-metrics.patch
+	sed -i -e "s/0.0.5/${PV}/" burrow-exporter.go || die
+	popd || die
+	default
+}
+
+src_compile() {
+	pushd src/${EGO_PN} || die
+	GOPATH="${S}" go build -v -o bin/burrow_exporter || die
+	popd || die
+}
+
+src_install() {
+	pushd src/${EGO_PN} || die
+	dobin bin/burrow_exporter
+	dodoc README.md
+	popd || die
+	keepdir /var/log/burrow_exporter
+	fowners ${PN}:${PN} /var/log/burrow_exporter
+	newinitd "${FILESDIR}"/${PN}.initd ${PN}
+	newconfd "${FILESDIR}"/${PN}.confd ${PN}
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/${PN}.logrotated" ${PN}
+}

diff --git a/app-metrics/burrow_exporter/files/burrow_exporter-0.0.6-fix-metrics.patch b/app-metrics/burrow_exporter/files/burrow_exporter-0.0.6-fix-metrics.patch
new file mode 100644
index 00000000000..0d5a6f40dc7
--- /dev/null
+++ b/app-metrics/burrow_exporter/files/burrow_exporter-0.0.6-fix-metrics.patch
@@ -0,0 +1,49 @@
+From a40362c95ca5534040d8c29a23b40168a9d70015 Mon Sep 17 00:00:00 2001
+From: Guillaume Herail <guillaume@herail.net>
+Date: Wed, 16 Jan 2019 18:03:51 +0100
+Subject: [PATCH] fix(KafkaConsumerPartitionLag): Use proper current lag
+
+Before this fix, the latest committed lag was used for the metric, it
+now uses the current lag on the partition.
+
+Fixes #26
+---
+ burrow_exporter/client.go   | 11 ++++++-----
+ burrow_exporter/exporter.go |  2 +-
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/burrow_exporter/client.go b/burrow_exporter/client.go
+index daaf84f..f4dc656 100644
+--- a/burrow_exporter/client.go
++++ b/burrow_exporter/client.go
+@@ -70,11 +70,12 @@ type ConsumerGroupStatus struct {
+ }
+ 
+ type Partition struct {
+-	Topic     string `json:"topic"`
+-	Partition int32  `json:"partition"`
+-	Status    string `json:"status"`
+-	Start     Offset `json:"start"`
+-	End       Offset `json:"end"`
++	Topic      string `json:"topic"`
++	Partition  int32  `json:"partition"`
++	Status     string `json:"status"`
++	Start      Offset `json:"start"`
++	End        Offset `json:"end"`
++	CurrentLag int64  `json:"current_lag"`
+ }
+ 
+ type ConsumerGroupStatusResp struct {
+diff --git a/burrow_exporter/exporter.go b/burrow_exporter/exporter.go
+index 8b48b35..153ccbb 100644
+--- a/burrow_exporter/exporter.go
++++ b/burrow_exporter/exporter.go
+@@ -45,7 +45,7 @@ func (be *BurrowExporter) processGroup(cluster, group string) {
+ 				"group":     status.Status.Group,
+ 				"topic":     partition.Topic,
+ 				"partition": strconv.Itoa(int(partition.Partition)),
+-			}).Set(float64(partition.End.Lag))
++			}).Set(float64(partition.CurrentLag))
+ 		}
+ 
+ 		if !be.skipPartitionCurrentOffset {

diff --git a/app-metrics/burrow_exporter/files/burrow_exporter-0.0.6-skippable-metrics.patch b/app-metrics/burrow_exporter/files/burrow_exporter-0.0.6-skippable-metrics.patch
new file mode 100644
index 00000000000..1b9c84599eb
--- /dev/null
+++ b/app-metrics/burrow_exporter/files/burrow_exporter-0.0.6-skippable-metrics.patch
@@ -0,0 +1,273 @@
+From 50db40e49750378e22e2b638754ff07ff29f5362 Mon Sep 17 00:00:00 2001
+From: NovaPS6 <NovaPS6@ostmw0195464.bskyb.com>
+Date: Wed, 8 Aug 2018 14:43:33 +0100
+Subject: [PATCH] make all metrics skippable
+
+Change import back to jirwin
+---
+ .gitignore                  |   1 +
+ burrow-exporter.go          |  67 +++++++++++++++++------
+ burrow_exporter/exporter.go | 102 +++++++++++++++++++++---------------
+ 3 files changed, 113 insertions(+), 57 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index 502219c..a8e0d62 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -18,3 +18,4 @@
+ burrow-exporter
+ dist/
+ vendor/
++.idea/
+diff --git a/burrow-exporter.go b/burrow-exporter.go
+index 1e60d67..b4e871b 100644
+--- a/burrow-exporter.go
++++ b/burrow-exporter.go
+@@ -14,7 +14,7 @@ import (
+ 	"github.com/jirwin/burrow_exporter/burrow_exporter"
+ )
+ 
+-var Version = "0.0.4"
++var Version = "0.0.5"
+ 
+ func main() {
+ 	app := cli.NewApp()
+@@ -22,36 +22,61 @@ func main() {
+ 	app.Name = "burrow-exporter"
+ 	app.Flags = []cli.Flag{
+ 		cli.StringFlag{
+-			Name:  "burrow-addr",
+-			Usage: "Address that burrow is listening on",
++			Name:   "burrow-addr",
++			Usage:  "Address that burrow is listening on",
+ 			EnvVar: "BURROW_ADDR",
+ 		},
+ 		cli.StringFlag{
+-			Name:  "metrics-addr",
+-			Usage: "Address to run prometheus on",
++			Name:   "metrics-addr",
++			Usage:  "Address to run prometheus on",
+ 			EnvVar: "METRICS_ADDR",
+ 		},
+ 		cli.IntFlag{
+-			Name:  "interval",
+-			Usage: "The interval(seconds) specifies how often to scrape burrow.",
++			Name:   "interval",
++			Usage:  "The interval(seconds) specifies how often to scrape burrow.",
+ 			EnvVar: "INTERVAL",
+ 		},
+ 		cli.IntFlag{
+-			Name:  "api-version",
+-			Usage: "Burrow API version to leverage",
+-			Value: 2,
++			Name:   "api-version",
++			Usage:  "Burrow API version to leverage",
++			Value:  2,
+ 			EnvVar: "API_VERSION",
+ 		},
+ 		cli.BoolFlag{
+-			Name: "skip-partition-status",
+-			Usage: "Skip exporting the per-partition status",
++			Name:   "skip-partition-status",
++			Usage:  "Skip exporting the per-partition status",
+ 			EnvVar: "SKIP_PARTITION_STATUS",
+ 		},
+ 		cli.BoolFlag{
+-			Name: "skip-group-status",
+-			Usage: "Skip exporting the per-group status",
++			Name:   "skip-group-status",
++			Usage:  "Skip exporting the per-group status",
+ 			EnvVar: "SKIP_GROUP_STATUS",
+ 		},
++		cli.BoolFlag{
++			Name:   "skip-partition-lag",
++			Usage:  "Skip exporting the partition lag",
++			EnvVar: "SKIP_PARTITION_LAG",
++		},
++		cli.BoolFlag{
++			Name:   "skip-partition-current-offset",
++			Usage:  "Skip exporting the current offset per partition",
++			EnvVar: "SKIP_PARTITION_CURRENT_OFFSET",
++		},
++		cli.BoolFlag{
++			Name:   "skip-partition-max-offset",
++			Usage:  "Skip exporting the partition max offset",
++			EnvVar: "SKIP_PARTITION_MAX_OFFSET",
++		},
++		cli.BoolFlag{
++			Name:   "skip-total-lag",
++			Usage:  "Skip exporting the total lag",
++			EnvVar: "SKIP_TOTAL_LAG",
++		},
++		cli.BoolFlag{
++			Name:   "skip-topic-partition-offset",
++			Usage:  "Skip exporting topic partition offset",
++			EnvVar: "SKIP_TOPIC_PARTITION_OFFSET",
++		},
+ 	}
+ 
+ 	app.Action = func(c *cli.Context) error {
+@@ -76,8 +101,18 @@ func main() {
+ 
+ 		ctx, cancel := context.WithCancel(context.Background())
+ 
+-		exporter := burrow_exporter.MakeBurrowExporter(c.String("burrow-addr"), c.Int("api-version"),
+-			c.String("metrics-addr"), c.Int("interval"), c.Bool("skip-partition-status"), c.Bool("skip-group-status"))
++		exporter := burrow_exporter.MakeBurrowExporter(
++			c.String("burrow-addr"),
++			c.Int("api-version"),
++			c.String("metrics-addr"),
++			c.Int("interval"),
++			c.Bool("skip-partition-status"),
++			c.Bool("skip-group-status"),
++			c.Bool("skip-partition-lag"),
++			c.Bool("skip-partition-current-offset"),
++			c.Bool("skip-partition-max-offset"),
++			c.Bool("skip-total-lag"),
++			c.Bool("skip-topic-partition-offset"))
+ 		go exporter.Start(ctx)
+ 
+ 		<-done
+diff --git a/burrow_exporter/exporter.go b/burrow_exporter/exporter.go
+index 7adc398..8b48b35 100644
+--- a/burrow_exporter/exporter.go
++++ b/burrow_exporter/exporter.go
+@@ -16,12 +16,17 @@ import (
+ )
+ 
+ type BurrowExporter struct {
+-	client              *BurrowClient
+-	metricsListenAddr   string
+-	interval            int
+-	wg                  sync.WaitGroup
+-	skipPartitionStatus bool
+-	skipConsumerStatus  bool
++	client                     *BurrowClient
++	metricsListenAddr          string
++	interval                   int
++	wg                         sync.WaitGroup
++	skipPartitionStatus        bool
++	skipConsumerStatus         bool
++	skipPartitionLag           bool
++	skipPartitionCurrentOffset bool
++	skipPartitionMaxOffset     bool
++	skipTotalLag               bool
++	skipTopicPartitionOffset   bool
+ }
+ 
+ func (be *BurrowExporter) processGroup(cluster, group string) {
+@@ -34,19 +39,23 @@ func (be *BurrowExporter) processGroup(cluster, group string) {
+ 	}
+ 
+ 	for _, partition := range status.Status.Partitions {
+-		KafkaConsumerPartitionLag.With(prometheus.Labels{
+-			"cluster":   status.Status.Cluster,
+-			"group":     status.Status.Group,
+-			"topic":     partition.Topic,
+-			"partition": strconv.Itoa(int(partition.Partition)),
+-		}).Set(float64(partition.End.Lag))
+-
+-		KafkaConsumerPartitionCurrentOffset.With(prometheus.Labels{
+-			"cluster":   status.Status.Cluster,
+-			"group":     status.Status.Group,
+-			"topic":     partition.Topic,
+-			"partition": strconv.Itoa(int(partition.Partition)),
+-		}).Set(float64(partition.End.Offset))
++		if !be.skipPartitionLag {
++			KafkaConsumerPartitionLag.With(prometheus.Labels{
++				"cluster":   status.Status.Cluster,
++				"group":     status.Status.Group,
++				"topic":     partition.Topic,
++				"partition": strconv.Itoa(int(partition.Partition)),
++			}).Set(float64(partition.End.Lag))
++		}
++
++		if !be.skipPartitionCurrentOffset {
++			KafkaConsumerPartitionCurrentOffset.With(prometheus.Labels{
++				"cluster":   status.Status.Cluster,
++				"group":     status.Status.Group,
++				"topic":     partition.Topic,
++				"partition": strconv.Itoa(int(partition.Partition)),
++			}).Set(float64(partition.End.Offset))
++		}
+ 
+ 		if !be.skipPartitionStatus {
+ 			KafkaConsumerPartitionCurrentStatus.With(prometheus.Labels{
+@@ -57,18 +66,22 @@ func (be *BurrowExporter) processGroup(cluster, group string) {
+ 			}).Set(float64(Status[partition.Status]))
+ 		}
+ 
+-		KafkaConsumerPartitionMaxOffset.With(prometheus.Labels{
+-			"cluster":   status.Status.Cluster,
+-			"group":     status.Status.Group,
+-			"topic":     partition.Topic,
+-			"partition": strconv.Itoa(int(partition.Partition)),
+-		}).Set(float64(partition.End.MaxOffset))
++		if !be.skipPartitionMaxOffset {
++			KafkaConsumerPartitionMaxOffset.With(prometheus.Labels{
++				"cluster":   status.Status.Cluster,
++				"group":     status.Status.Group,
++				"topic":     partition.Topic,
++				"partition": strconv.Itoa(int(partition.Partition)),
++			}).Set(float64(partition.End.MaxOffset))
++		}
+ 	}
+ 
+-	KafkaConsumerTotalLag.With(prometheus.Labels{
+-		"cluster": status.Status.Cluster,
+-		"group":   status.Status.Group,
+-	}).Set(float64(status.Status.TotalLag))
++	if !be.skipTotalLag {
++		KafkaConsumerTotalLag.With(prometheus.Labels{
++			"cluster": status.Status.Cluster,
++			"group":   status.Status.Group,
++		}).Set(float64(status.Status.TotalLag))
++	}
+ 
+ 	if !be.skipConsumerStatus {
+ 		KafkaConsumerStatus.With(prometheus.Labels{
+@@ -88,12 +101,14 @@ func (be *BurrowExporter) processTopic(cluster, topic string) {
+ 		return
+ 	}
+ 
+-	for i, offset := range details.Offsets {
+-		KafkaTopicPartitionOffset.With(prometheus.Labels{
+-			"cluster":   cluster,
+-			"topic":     topic,
+-			"partition": strconv.Itoa(i),
+-		}).Set(float64(offset))
++	if !be.skipTopicPartitionOffset {
++		for i, offset := range details.Offsets {
++			KafkaTopicPartitionOffset.With(prometheus.Labels{
++				"cluster":   cluster,
++				"topic":     topic,
++				"partition": strconv.Itoa(i),
++			}).Set(float64(offset))
++		}
+ 	}
+ }
+ 
+@@ -208,12 +223,17 @@ func (be *BurrowExporter) mainLoop(ctx context.Context) {
+ }
+ 
+ func MakeBurrowExporter(burrowUrl string, apiVersion int, metricsAddr string, interval int, skipPartitionStatus bool,
+-	skipConsumerStatus bool) *BurrowExporter {
++	skipConsumerStatus bool, skipPartitionLag bool, skipPartitionCurrentOffset bool, skipPartitionMaxOffset bool, skipTotalLag bool, skipTopicPartitionOffset bool) *BurrowExporter {
+ 	return &BurrowExporter{
+-		client:              MakeBurrowClient(burrowUrl, apiVersion),
+-		metricsListenAddr:   metricsAddr,
+-		interval:            interval,
+-		skipPartitionStatus: skipPartitionStatus,
+-		skipConsumerStatus:  skipConsumerStatus,
++		client:                     MakeBurrowClient(burrowUrl, apiVersion),
++		metricsListenAddr:          metricsAddr,
++		interval:                   interval,
++		skipPartitionStatus:        skipPartitionStatus,
++		skipConsumerStatus:         skipConsumerStatus,
++		skipPartitionLag:           skipPartitionLag,
++		skipPartitionCurrentOffset: skipPartitionCurrentOffset,
++		skipPartitionMaxOffset:     skipPartitionMaxOffset,
++		skipTotalLag:               skipTotalLag,
++		skipTopicPartitionOffset:   skipTopicPartitionOffset,
+ 	}
+ }

diff --git a/app-metrics/burrow_exporter/files/burrow_exporter.logrotated b/app-metrics/burrow_exporter/files/burrow_exporter.logrotated
new file mode 100644
index 00000000000..de78d102c0f
--- /dev/null
+++ b/app-metrics/burrow_exporter/files/burrow_exporter.logrotated
@@ -0,0 +1,7 @@
+/var/log/burrow_exporter/burrow_exporter.log {
+	missingok
+	size 5M
+	rotate 3
+	compress
+	copytruncate
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-01-18 16:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-26 17:59 [gentoo-commits] repo/gentoo:master commit in: app-metrics/burrow_exporter/, app-metrics/burrow_exporter/files/ Manuel Rüger
  -- strict thread matches above, loose matches on Subject: below --
2019-01-18 16:02 Manuel Rüger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox