public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/docker-registry/, app-emulation/docker-registry/files/
@ 2016-04-25  9:07 Zac Medico
  0 siblings, 0 replies; 4+ messages in thread
From: Zac Medico @ 2016-04-25  9:07 UTC (permalink / raw
  To: gentoo-commits

commit:     21508b9a287a302d48439353674fb2face00b464
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 25 09:04:15 2016 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Apr 25 09:05:30 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21508b9a

app-emulation/docker-registry: use config.yml example from tarball

Package-Manager: portage-2.2.28

 .../docker-registry/docker-registry-2.4.0.ebuild       |  2 +-
 app-emulation/docker-registry/files/config.yml         | 18 ------------------
 2 files changed, 1 insertion(+), 19 deletions(-)

diff --git a/app-emulation/docker-registry/docker-registry-2.4.0.ebuild b/app-emulation/docker-registry/docker-registry-2.4.0.ebuild
index 08c7199..c5b0e84 100644
--- a/app-emulation/docker-registry/docker-registry-2.4.0.ebuild
+++ b/app-emulation/docker-registry/docker-registry-2.4.0.ebuild
@@ -32,7 +32,7 @@ src_install() {
 	exeinto /usr/libexec/${PN}
 	doexe "${S}"/bin/*
 	insinto /etc/docker/registry
-	newins "${FILESDIR}/config.yml" config.yml.example
+	newins "${S}"/src/${EGO_PN%/*}/cmd/registry/config-example.yml config.yml.example
 	newinitd "${FILESDIR}/${SVCNAME}.initd" "${SVCNAME}"
 	newconfd "${FILESDIR}/${SVCNAME}.confd" "${SVCNAME}"
 	systemd_dounit "${FILESDIR}/${SVCNAME}.service"

diff --git a/app-emulation/docker-registry/files/config.yml b/app-emulation/docker-registry/files/config.yml
deleted file mode 100644
index b5700e1..0000000
--- a/app-emulation/docker-registry/files/config.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-version: 0.1
-log:
-  fields:
-    service: registry
-storage:
-    cache:
-        blobdescriptor: inmemory
-    filesystem:
-        rootdirectory: /var/lib/registry
-http:
-    addr: :5000
-    headers:
-        X-Content-Type-Options: [nosniff]
-health:
-  storagedriver:
-    enabled: true
-    interval: 10s
-    threshold: 3


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/docker-registry/, app-emulation/docker-registry/files/
@ 2017-05-19 14:48 Manuel Rüger
  0 siblings, 0 replies; 4+ messages in thread
From: Manuel Rüger @ 2017-05-19 14:48 UTC (permalink / raw
  To: gentoo-commits

commit:     21eba0700591adc9435adc2b75bbdddddbf98915
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Fri May 19 14:47:59 2017 +0000
Commit:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
CommitDate: Fri May 19 14:47:59 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21eba070

app-emulation/docker-registry: Include patch to fix json in notifications endpoint

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 .../docker-registry-2.6.1-r1.ebuild                | 42 ++++++++++++++
 ...ocker-registry-2.6.1-notifications-expvar.patch | 64 ++++++++++++++++++++++
 2 files changed, 106 insertions(+)

diff --git a/app-emulation/docker-registry/docker-registry-2.6.1-r1.ebuild b/app-emulation/docker-registry/docker-registry-2.6.1-r1.ebuild
new file mode 100644
index 00000000000..45aac739ef0
--- /dev/null
+++ b/app-emulation/docker-registry/docker-registry-2.6.1-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-vcs-snapshot systemd user
+
+KEYWORDS="~amd64"
+EGO_PN="github.com/docker/distribution/..."
+EGIT_COMMIT="v${PV}"
+SRC_URI="https://${EGO_PN%/*}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+DESCRIPTION="Docker Registry 2.0"
+HOMEPAGE="https://github.com/docker/distribution"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+SVCNAME=registry
+
+PATCHES=( "${FILESDIR}/${P}-notifications-expvar.patch" )
+
+pkg_setup() {
+	enewgroup ${SVCNAME}
+	enewuser ${SVCNAME} -1 -1 /dev/null ${SVCNAME}
+}
+
+src_compile() {
+	GOPATH="${S}" \
+		go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
+}
+
+src_install() {
+	exeinto /usr/libexec/${PN}
+	doexe bin/*
+	insinto /etc/docker/registry
+	newins src/${EGO_PN%/*}/cmd/registry/config-example.yml config.yml.example
+	newinitd "${FILESDIR}/${SVCNAME}.initd" "${SVCNAME}"
+	newconfd "${FILESDIR}/${SVCNAME}.confd" "${SVCNAME}"
+	systemd_dounit "${FILESDIR}/${SVCNAME}.service"
+	keepdir /var/{lib,log}/${SVCNAME}
+	fowners ${SVCNAME}:${SVCNAME} /var/{lib,log}/${SVCNAME}
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/${SVCNAME}.logrotated" "${SVCNAME}"
+}

diff --git a/app-emulation/docker-registry/files/docker-registry-2.6.1-notifications-expvar.patch b/app-emulation/docker-registry/files/docker-registry-2.6.1-notifications-expvar.patch
new file mode 100644
index 00000000000..1d40edf1f0c
--- /dev/null
+++ b/app-emulation/docker-registry/files/docker-registry-2.6.1-notifications-expvar.patch
@@ -0,0 +1,64 @@
+From 9a58c91051e03b46f1461e371a7bf527c1284612 Mon Sep 17 00:00:00 2001
+From: Noah Treuhaft <noah.treuhaft@docker.com>
+Date: Wed, 8 Feb 2017 11:38:44 -0800
+Subject: [PATCH] notifications: fix expvar for Go 1.7
+
+Remove EndpointConfig.Transport from the return value of the
+registry.notifications.endpoints expvar.Func.  It results in an empty
+value for that expvar variable under Go 1.7 because it is a non-nil
+*http.Transport, which Go 1.7 can no longer encode as JSON.
+
+Signed-off-by: Noah Treuhaft <noah.treuhaft@docker.com>
+---
+ notifications/endpoint.go     |  2 +-
+ notifications/metrics_test.go | 28 ++++++++++++++++++++++++++++
+ 2 files changed, 29 insertions(+), 1 deletion(-)
+ create mode 100644 notifications/metrics_test.go
+
+diff --git a/src/github.com/docker/distribution/notifications/endpoint.go b/src/github.com/docker/distribution/notifications/endpoint.go
+index 29a9e27b5..44d0f6d7b 100644
+--- a/src/github.com/docker/distribution/notifications/endpoint.go
++++ b/src/github.com/docker/distribution/notifications/endpoint.go
+@@ -13,7 +13,7 @@ type EndpointConfig struct {
+ 	Threshold         int
+ 	Backoff           time.Duration
+ 	IgnoredMediaTypes []string
+-	Transport         *http.Transport
++	Transport         *http.Transport `json:"-"`
+ }
+ 
+ // defaults set any zero-valued fields to a reasonable default.
+diff --git a/src/github.com/docker/distribution/notifications/metrics_test.go b/src/github.com/docker/distribution/notifications/metrics_test.go
+new file mode 100644
+index 000000000..03a08e2c8
+--- /dev/null
++++ b/notifications/metrics_test.go
+@@ -0,0 +1,28 @@
++package notifications
++
++import (
++	"encoding/json"
++	"expvar"
++	"testing"
++)
++
++func TestMetricsExpvar(t *testing.T) {
++	endpointsVar := expvar.Get("registry").(*expvar.Map).Get("notifications").(*expvar.Map).Get("endpoints")
++
++	var v interface{}
++	if err := json.Unmarshal([]byte(endpointsVar.String()), &v); err != nil {
++		t.Fatalf("unexpected error unmarshaling endpoints: %v", err)
++	}
++	if v != nil {
++		t.Fatalf("expected nil, got %#v", v)
++	}
++
++	NewEndpoint("x", "y", EndpointConfig{})
++
++	if err := json.Unmarshal([]byte(endpointsVar.String()), &v); err != nil {
++		t.Fatalf("unexpected error unmarshaling endpoints: %v", err)
++	}
++	if slice, ok := v.([]interface{}); !ok || len(slice) != 1 {
++		t.Logf("expected one-element []interface{}, got %#v", v)
++	}
++}


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/docker-registry/, app-emulation/docker-registry/files/
@ 2017-09-01 22:13 Zac Medico
  0 siblings, 0 replies; 4+ messages in thread
From: Zac Medico @ 2017-09-01 22:13 UTC (permalink / raw
  To: gentoo-commits

commit:     0eea13ca58aba2306a979fdc0bd307bccedbfe60
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  1 22:09:01 2017 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Sep  1 22:13:24 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0eea13ca

app-emulation/docker-registry: revbump to 2.6.2-r1 for bug 629202

Package-Manager: Portage-2.3.8, Repoman-2.3.2

 ...y-2.6.2.ebuild => docker-registry-2.6.2-r1.ebuild} |  0
 app-emulation/docker-registry/files/registry.initd    | 19 +++++++------------
 2 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/app-emulation/docker-registry/docker-registry-2.6.2.ebuild b/app-emulation/docker-registry/docker-registry-2.6.2-r1.ebuild
similarity index 100%
rename from app-emulation/docker-registry/docker-registry-2.6.2.ebuild
rename to app-emulation/docker-registry/docker-registry-2.6.2-r1.ebuild

diff --git a/app-emulation/docker-registry/files/registry.initd b/app-emulation/docker-registry/files/registry.initd
index 43637a9dbe8..b81303c624d 100644
--- a/app-emulation/docker-registry/files/registry.initd
+++ b/app-emulation/docker-registry/files/registry.initd
@@ -1,24 +1,19 @@
 #!/sbin/openrc-run
-# Copyright 2016 Gentoo Foundation
+# Copyright 2016-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 description="Docker Registry 2.0"
-pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
-user=${user:-${SVCNAME}}
-group=${group:-${SVCNAME}}
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
 
-command="/usr/libexec/docker-${SVCNAME}/${SVCNAME}"
+command="/usr/libexec/docker-${RC_SVCNAME}/${RC_SVCNAME}"
 command_args="${command_args:-serve /etc/docker/registry/config.yml}"
 command_background="true"
 start_stop_daemon_args="--user ${user} --group ${group} \
-	--stdout /var/log/${SVCNAME}/${SVCNAME}.log \
-	--stderr /var/log/${SVCNAME}/${SVCNAME}.log"
+	--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+	--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
 
 depend() {
 	need net
-	after net
-}
-
-start_pre() {
-	checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
 }


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

* [gentoo-commits] repo/gentoo:master commit in: app-emulation/docker-registry/, app-emulation/docker-registry/files/
@ 2018-12-14 16:49 Manuel Rüger
  0 siblings, 0 replies; 4+ messages in thread
From: Manuel Rüger @ 2018-12-14 16:49 UTC (permalink / raw
  To: gentoo-commits

commit:     4f6a9e4e9b4b483cfdfc3dcf42ea1c45e5f366f0
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 14 16:48:40 2018 +0000
Commit:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
CommitDate: Fri Dec 14 16:48:40 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f6a9e4e

app-emulation/docker-registry: Apply patch to provide more notification metrics

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

 .../docker-registry-2.7.0-r1.ebuild                |  47 +++
 ...ocker-registry-2.7.0-notification-metrics.patch | 398 +++++++++++++++++++++
 2 files changed, 445 insertions(+)

diff --git a/app-emulation/docker-registry/docker-registry-2.7.0-r1.ebuild b/app-emulation/docker-registry/docker-registry-2.7.0-r1.ebuild
new file mode 100644
index 00000000000..7f36e363292
--- /dev/null
+++ b/app-emulation/docker-registry/docker-registry-2.7.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-vcs-snapshot systemd user
+
+KEYWORDS="~amd64"
+EGO_PN="github.com/docker/distribution"
+EGIT_COMMIT="v${PV}"
+SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+DESCRIPTION="Docker Registry 2.0"
+HOMEPAGE="https://github.com/docker/distribution"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+SVCNAME=registry
+
+pkg_setup() {
+	enewgroup ${SVCNAME}
+	enewuser ${SVCNAME} -1 -1 /dev/null ${SVCNAME}
+}
+
+src_prepare() {
+	default
+	pushd src/${EGO_PN} || die
+	eapply "${FILESDIR}"/${P}-notification-metrics.patch
+	popd || die
+}
+
+src_compile() {
+	GOPATH="${S}" \
+		go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}/..." || die
+}
+
+src_install() {
+	exeinto /usr/libexec/${PN}
+	doexe bin/*
+	insinto /etc/docker/registry
+	newins src/${EGO_PN}/cmd/registry/config-example.yml config.yml.example
+	newinitd "${FILESDIR}/${SVCNAME}.initd" "${SVCNAME}"
+	newconfd "${FILESDIR}/${SVCNAME}.confd" "${SVCNAME}"
+	systemd_dounit "${FILESDIR}/${SVCNAME}.service"
+	keepdir /var/{lib,log}/${SVCNAME}
+	fowners ${SVCNAME}:${SVCNAME} /var/{lib,log}/${SVCNAME}
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}/${SVCNAME}.logrotated" "${SVCNAME}"
+}

diff --git a/app-emulation/docker-registry/files/docker-registry-2.7.0-notification-metrics.patch b/app-emulation/docker-registry/files/docker-registry-2.7.0-notification-metrics.patch
new file mode 100644
index 00000000000..8adf364ce16
--- /dev/null
+++ b/app-emulation/docker-registry/files/docker-registry-2.7.0-notification-metrics.patch
@@ -0,0 +1,398 @@
+From 7b2292ee20c5d49053cc5262dfbc99ce121b9b74 Mon Sep 17 00:00:00 2001
+From: tifayuki <tifayuki@gmail.com>
+Date: Tue, 13 Feb 2018 13:30:56 -0800
+Subject: [PATCH 1/4] Add notification metrics
+
+It adds notification related prometheus metrics, including:
+  - total count for events/success/failure/error
+  - total count for notification per each status code
+  - gauge of the pending notification queue
+
+Signed-off-by: tifayuki <tifayuki@gmail.com>
+---
+ metrics/prometheus.go    |  3 +++
+ notifications/metrics.go | 28 ++++++++++++++++++++++++++++
+ 2 files changed, 31 insertions(+)
+
+diff --git a/metrics/prometheus.go b/metrics/prometheus.go
+index b5a532144..91b32b23d 100644
+--- a/metrics/prometheus.go
++++ b/metrics/prometheus.go
+@@ -10,4 +10,7 @@ const (
+ var (
+ 	// StorageNamespace is the prometheus namespace of blob/cache related operations
+ 	StorageNamespace = metrics.NewNamespace(NamespacePrefix, "storage", nil)
++
++	// NotificationsNamespace is the prometheus namespace of notification related metrics
++	NotificationsNamespace = metrics.NewNamespace(NamespacePrefix, "notifications", nil)
+ )
+diff --git a/notifications/metrics.go b/notifications/metrics.go
+index a20af1687..69960e9cb 100644
+--- a/notifications/metrics.go
++++ b/notifications/metrics.go
+@@ -5,6 +5,18 @@ import (
+ 	"fmt"
+ 	"net/http"
+ 	"sync"
++
++	prometheus "github.com/docker/distribution/metrics"
++	"github.com/docker/go-metrics"
++)
++
++var (
++	// eventsCounter counts total events of incoming, success, failure, and errors
++	eventsCounter = prometheus.NotificationsNamespace.NewLabeledCounter("events", "The number of total events", "type")
++	// pendingGauge measures the pending queue size
++	pendingGauge = prometheus.NotificationsNamespace.NewGauge("pending", "The gauge of pending events in queue", metrics.Total)
++	// statusCounter counts the total notification call per each status code
++	statusCounter = prometheus.NotificationsNamespace.NewLabeledCounter("status", "The number of status code", "code")
+ )
+ 
+ // EndpointMetrics track various actions taken by the endpoint, typically by
+@@ -61,6 +73,9 @@ func (emsl *endpointMetricsHTTPStatusListener) success(status int, events ...Eve
+ 	defer emsl.safeMetrics.Unlock()
+ 	emsl.Statuses[fmt.Sprintf("%d %s", status, http.StatusText(status))] += len(events)
+ 	emsl.Successes += len(events)
++
++	statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status))).Inc(1)
++	eventsCounter.WithValues("Successes").Inc(1)
+ }
+ 
+ func (emsl *endpointMetricsHTTPStatusListener) failure(status int, events ...Event) {
+@@ -68,12 +83,17 @@ func (emsl *endpointMetricsHTTPStatusListener) failure(status int, events ...Eve
+ 	defer emsl.safeMetrics.Unlock()
+ 	emsl.Statuses[fmt.Sprintf("%d %s", status, http.StatusText(status))] += len(events)
+ 	emsl.Failures += len(events)
++
++	statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status))).Inc(1)
++	eventsCounter.WithValues("Failures").Inc(1)
+ }
+ 
+ func (emsl *endpointMetricsHTTPStatusListener) err(err error, events ...Event) {
+ 	emsl.safeMetrics.Lock()
+ 	defer emsl.safeMetrics.Unlock()
+ 	emsl.Errors += len(events)
++
++	eventsCounter.WithValues("Errors").Inc(1)
+ }
+ 
+ // endpointMetricsEventQueueListener maintains the incoming events counter and
+@@ -87,12 +107,17 @@ func (eqc *endpointMetricsEventQueueListener) ingress(events ...Event) {
+ 	defer eqc.Unlock()
+ 	eqc.Events += len(events)
+ 	eqc.Pending += len(events)
++
++	eventsCounter.WithValues("Events").Inc()
++	pendingGauge.Inc(1)
+ }
+ 
+ func (eqc *endpointMetricsEventQueueListener) egress(events ...Event) {
+ 	eqc.Lock()
+ 	defer eqc.Unlock()
+ 	eqc.Pending -= len(events)
++
++	pendingGauge.Dec(1)
+ }
+ 
+ // endpoints is global registry of endpoints used to report metrics to expvar
+@@ -149,4 +174,7 @@ func init() {
+ 	}))
+ 
+ 	registry.(*expvar.Map).Set("notifications", &notifications)
++
++	// register prometheus metrics
++	metrics.Register(prometheus.NotificationsNamespace)
+ }
+
+From 4497e40eda1e0024f055c09ab480b7816a1147b1 Mon Sep 17 00:00:00 2001
+From: Honglin Feng <tifayuki@gmail.com>
+Date: Thu, 11 Oct 2018 21:39:02 +0800
+Subject: [PATCH 2/4] add label to the metrics
+
+Signed-off-by: Honglin Feng <tifayuki@gmail.com>
+---
+ notifications/endpoint.go   |  2 +-
+ notifications/http_test.go  |  2 +-
+ notifications/metrics.go    | 26 ++++++++++++++------------
+ notifications/sinks_test.go |  2 +-
+ 4 files changed, 17 insertions(+), 15 deletions(-)
+
+diff --git a/notifications/endpoint.go b/notifications/endpoint.go
+index a8a52d0c9..854f1dd6c 100644
+--- a/notifications/endpoint.go
++++ b/notifications/endpoint.go
+@@ -58,7 +58,7 @@ func NewEndpoint(name, url string, config EndpointConfig) *Endpoint {
+ 	endpoint.url = url
+ 	endpoint.EndpointConfig = config
+ 	endpoint.defaults()
+-	endpoint.metrics = newSafeMetrics()
++	endpoint.metrics = newSafeMetrics(name)
+ 
+ 	// Configures the inmemory queue, retry, http pipeline.
+ 	endpoint.Sink = newHTTPSink(
+diff --git a/notifications/http_test.go b/notifications/http_test.go
+index de47f789e..b7845cf95 100644
+--- a/notifications/http_test.go
++++ b/notifications/http_test.go
+@@ -63,7 +63,7 @@ func TestHTTPSink(t *testing.T) {
+ 	})
+ 	server := httptest.NewTLSServer(serverHandler)
+ 
+-	metrics := newSafeMetrics()
++	metrics := newSafeMetrics("")
+ 	sink := newHTTPSink(server.URL, 0, nil, nil,
+ 		&endpointMetricsHTTPStatusListener{safeMetrics: metrics})
+ 
+diff --git a/notifications/metrics.go b/notifications/metrics.go
+index 69960e9cb..4464edd8f 100644
+--- a/notifications/metrics.go
++++ b/notifications/metrics.go
+@@ -12,11 +12,11 @@ import (
+ 
+ var (
+ 	// eventsCounter counts total events of incoming, success, failure, and errors
+-	eventsCounter = prometheus.NotificationsNamespace.NewLabeledCounter("events", "The number of total events", "type")
++	eventsCounter = prometheus.NotificationsNamespace.NewLabeledCounter("events", "The number of total events", "type", "to")
+ 	// pendingGauge measures the pending queue size
+-	pendingGauge = prometheus.NotificationsNamespace.NewGauge("pending", "The gauge of pending events in queue", metrics.Total)
++	pendingGauge = prometheus.NotificationsNamespace.NewLabeledGauge("pending", "The gauge of pending events in queue", metrics.Total, "to")
+ 	// statusCounter counts the total notification call per each status code
+-	statusCounter = prometheus.NotificationsNamespace.NewLabeledCounter("status", "The number of status code", "code")
++	statusCounter = prometheus.NotificationsNamespace.NewLabeledCounter("status", "The number of status code", "code", "to")
+ )
+ 
+ // EndpointMetrics track various actions taken by the endpoint, typically by
+@@ -34,14 +34,16 @@ type EndpointMetrics struct {
+ // safeMetrics guards the metrics implementation with a lock and provides a
+ // safe update function.
+ type safeMetrics struct {
++	EndpointName string
+ 	EndpointMetrics
+ 	sync.Mutex // protects statuses map
+ }
+ 
+ // newSafeMetrics returns safeMetrics with map allocated.
+-func newSafeMetrics() *safeMetrics {
++func newSafeMetrics(name string) *safeMetrics {
+ 	var sm safeMetrics
+ 	sm.Statuses = make(map[string]int)
++	sm.EndpointName = name
+ 	return &sm
+ }
+ 
+@@ -74,8 +76,8 @@ func (emsl *endpointMetricsHTTPStatusListener) success(status int, events ...Eve
+ 	emsl.Statuses[fmt.Sprintf("%d %s", status, http.StatusText(status))] += len(events)
+ 	emsl.Successes += len(events)
+ 
+-	statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status))).Inc(1)
+-	eventsCounter.WithValues("Successes").Inc(1)
++	statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status)), emsl.EndpointName).Inc(1)
++	eventsCounter.WithValues("Successes", emsl.EndpointName).Inc(1)
+ }
+ 
+ func (emsl *endpointMetricsHTTPStatusListener) failure(status int, events ...Event) {
+@@ -84,8 +86,8 @@ func (emsl *endpointMetricsHTTPStatusListener) failure(status int, events ...Eve
+ 	emsl.Statuses[fmt.Sprintf("%d %s", status, http.StatusText(status))] += len(events)
+ 	emsl.Failures += len(events)
+ 
+-	statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status))).Inc(1)
+-	eventsCounter.WithValues("Failures").Inc(1)
++	statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status)), emsl.EndpointName).Inc(1)
++	eventsCounter.WithValues("Failures", emsl.EndpointName).Inc(1)
+ }
+ 
+ func (emsl *endpointMetricsHTTPStatusListener) err(err error, events ...Event) {
+@@ -93,7 +95,7 @@ func (emsl *endpointMetricsHTTPStatusListener) err(err error, events ...Event) {
+ 	defer emsl.safeMetrics.Unlock()
+ 	emsl.Errors += len(events)
+ 
+-	eventsCounter.WithValues("Errors").Inc(1)
++	eventsCounter.WithValues("Errors", emsl.EndpointName).Inc(1)
+ }
+ 
+ // endpointMetricsEventQueueListener maintains the incoming events counter and
+@@ -108,8 +110,8 @@ func (eqc *endpointMetricsEventQueueListener) ingress(events ...Event) {
+ 	eqc.Events += len(events)
+ 	eqc.Pending += len(events)
+ 
+-	eventsCounter.WithValues("Events").Inc()
+-	pendingGauge.Inc(1)
++	eventsCounter.WithValues("Events", eqc.EndpointName).Inc()
++	pendingGauge.WithValues(eqc.EndpointName).Inc(1)
+ }
+ 
+ func (eqc *endpointMetricsEventQueueListener) egress(events ...Event) {
+@@ -117,7 +119,7 @@ func (eqc *endpointMetricsEventQueueListener) egress(events ...Event) {
+ 	defer eqc.Unlock()
+ 	eqc.Pending -= len(events)
+ 
+-	pendingGauge.Dec(1)
++	pendingGauge.WithValues(eqc.EndpointName).Dec(1)
+ }
+ 
+ // endpoints is global registry of endpoints used to report metrics to expvar
+diff --git a/notifications/sinks_test.go b/notifications/sinks_test.go
+index 06f88b2c9..4a69486b5 100644
+--- a/notifications/sinks_test.go
++++ b/notifications/sinks_test.go
+@@ -66,7 +66,7 @@ func TestBroadcaster(t *testing.T) {
+ func TestEventQueue(t *testing.T) {
+ 	const nevents = 1000
+ 	var ts testSink
+-	metrics := newSafeMetrics()
++	metrics := newSafeMetrics("")
+ 	eq := newEventQueue(
+ 		// delayed sync simulates destination slower than channel comms
+ 		&delayedSink{
+
+From 73e4232b5171c2988b0daeea517aa07386e7945d Mon Sep 17 00:00:00 2001
+From: Honglin Feng <tifayuki@gmail.com>
+Date: Mon, 15 Oct 2018 19:50:38 +0800
+Subject: [PATCH 3/4] run go fmt
+
+Signed-off-by: Honglin Feng <tifayuki@gmail.com>
+---
+ registry/storage/driver/s3-aws/s3.go     | 10 +++++-----
+ registry/storage/linkedblobstore.go      | 16 ++++++++--------
+ registry/storage/linkedblobstore_test.go |  4 ++--
+ 3 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/registry/storage/driver/s3-aws/s3.go b/registry/storage/driver/s3-aws/s3.go
+index 800435d01..9cd87dbab 100644
+--- a/registry/storage/driver/s3-aws/s3.go
++++ b/registry/storage/driver/s3-aws/s3.go
+@@ -476,11 +476,11 @@ func New(params DriverParameters) (*Driver, error) {
+ 	// }
+ 
+ 	d := &driver{
+-		S3:                          s3obj,
+-		Bucket:                      params.Bucket,
+-		ChunkSize:                   params.ChunkSize,
+-		Encrypt:                     params.Encrypt,
+-		KeyID:                       params.KeyID,
++		S3:        s3obj,
++		Bucket:    params.Bucket,
++		ChunkSize: params.ChunkSize,
++		Encrypt:   params.Encrypt,
++		KeyID:     params.KeyID,
+ 		MultipartCopyChunkSize:      params.MultipartCopyChunkSize,
+ 		MultipartCopyMaxConcurrency: params.MultipartCopyMaxConcurrency,
+ 		MultipartCopyThresholdSize:  params.MultipartCopyThresholdSize,
+diff --git a/registry/storage/linkedblobstore.go b/registry/storage/linkedblobstore.go
+index de591c8a5..3fb1da26f 100644
+--- a/registry/storage/linkedblobstore.go
++++ b/registry/storage/linkedblobstore.go
+@@ -312,14 +312,14 @@ func (lbs *linkedBlobStore) newBlobUpload(ctx context.Context, uuid, path string
+ 	}
+ 
+ 	bw := &blobWriter{
+-		ctx:                    ctx,
+-		blobStore:              lbs,
+-		id:                     uuid,
+-		startedAt:              startedAt,
+-		digester:               digest.Canonical.Digester(),
+-		fileWriter:             fw,
+-		driver:                 lbs.driver,
+-		path:                   path,
++		ctx:        ctx,
++		blobStore:  lbs,
++		id:         uuid,
++		startedAt:  startedAt,
++		digester:   digest.Canonical.Digester(),
++		fileWriter: fw,
++		driver:     lbs.driver,
++		path:       path,
+ 		resumableDigestEnabled: lbs.resumableDigestEnabled,
+ 	}
+ 
+diff --git a/registry/storage/linkedblobstore_test.go b/registry/storage/linkedblobstore_test.go
+index e0ffd2796..85376f715 100644
+--- a/registry/storage/linkedblobstore_test.go
++++ b/registry/storage/linkedblobstore_test.go
+@@ -162,8 +162,8 @@ type mockBlobDescriptorServiceFactory struct {
+ func (f *mockBlobDescriptorServiceFactory) BlobAccessController(svc distribution.BlobDescriptorService) distribution.BlobDescriptorService {
+ 	return &mockBlobDescriptorService{
+ 		BlobDescriptorService: svc,
+-		t:                     f.t,
+-		stats:                 f.stats,
++		t:     f.t,
++		stats: f.stats,
+ 	}
+ }
+ 
+
+From 5c66b577b027e3b314680f245be4213a002fcee0 Mon Sep 17 00:00:00 2001
+From: Honglin Feng <tifayuki@gmail.com>
+Date: Mon, 15 Oct 2018 20:18:36 +0800
+Subject: [PATCH 4/4] run go fmt and goimports
+
+Signed-off-by: Honglin Feng <tifayuki@gmail.com>
+---
+ registry/storage/driver/s3-aws/s3.go     | 10 +++++-----
+ registry/storage/linkedblobstore.go      | 16 ++++++++--------
+ registry/storage/linkedblobstore_test.go |  4 ++--
+ 3 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/registry/storage/driver/s3-aws/s3.go b/registry/storage/driver/s3-aws/s3.go
+index 9cd87dbab..800435d01 100644
+--- a/registry/storage/driver/s3-aws/s3.go
++++ b/registry/storage/driver/s3-aws/s3.go
+@@ -476,11 +476,11 @@ func New(params DriverParameters) (*Driver, error) {
+ 	// }
+ 
+ 	d := &driver{
+-		S3:        s3obj,
+-		Bucket:    params.Bucket,
+-		ChunkSize: params.ChunkSize,
+-		Encrypt:   params.Encrypt,
+-		KeyID:     params.KeyID,
++		S3:                          s3obj,
++		Bucket:                      params.Bucket,
++		ChunkSize:                   params.ChunkSize,
++		Encrypt:                     params.Encrypt,
++		KeyID:                       params.KeyID,
+ 		MultipartCopyChunkSize:      params.MultipartCopyChunkSize,
+ 		MultipartCopyMaxConcurrency: params.MultipartCopyMaxConcurrency,
+ 		MultipartCopyThresholdSize:  params.MultipartCopyThresholdSize,
+diff --git a/registry/storage/linkedblobstore.go b/registry/storage/linkedblobstore.go
+index 3fb1da26f..de591c8a5 100644
+--- a/registry/storage/linkedblobstore.go
++++ b/registry/storage/linkedblobstore.go
+@@ -312,14 +312,14 @@ func (lbs *linkedBlobStore) newBlobUpload(ctx context.Context, uuid, path string
+ 	}
+ 
+ 	bw := &blobWriter{
+-		ctx:        ctx,
+-		blobStore:  lbs,
+-		id:         uuid,
+-		startedAt:  startedAt,
+-		digester:   digest.Canonical.Digester(),
+-		fileWriter: fw,
+-		driver:     lbs.driver,
+-		path:       path,
++		ctx:                    ctx,
++		blobStore:              lbs,
++		id:                     uuid,
++		startedAt:              startedAt,
++		digester:               digest.Canonical.Digester(),
++		fileWriter:             fw,
++		driver:                 lbs.driver,
++		path:                   path,
+ 		resumableDigestEnabled: lbs.resumableDigestEnabled,
+ 	}
+ 
+diff --git a/registry/storage/linkedblobstore_test.go b/registry/storage/linkedblobstore_test.go
+index 85376f715..e0ffd2796 100644
+--- a/registry/storage/linkedblobstore_test.go
++++ b/registry/storage/linkedblobstore_test.go
+@@ -162,8 +162,8 @@ type mockBlobDescriptorServiceFactory struct {
+ func (f *mockBlobDescriptorServiceFactory) BlobAccessController(svc distribution.BlobDescriptorService) distribution.BlobDescriptorService {
+ 	return &mockBlobDescriptorService{
+ 		BlobDescriptorService: svc,
+-		t:     f.t,
+-		stats: f.stats,
++		t:                     f.t,
++		stats:                 f.stats,
+ 	}
+ }
+ 


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

end of thread, other threads:[~2018-12-14 16:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-14 16:49 [gentoo-commits] repo/gentoo:master commit in: app-emulation/docker-registry/, app-emulation/docker-registry/files/ Manuel Rüger
  -- strict thread matches above, loose matches on Subject: below --
2017-09-01 22:13 Zac Medico
2017-05-19 14:48 Manuel Rüger
2016-04-25  9:07 Zac Medico

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