* [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