Commit e67df738 authored by Janoš Guljaš's avatar Janoš Guljaš Committed by GitHub

add metrics namespace (#43)

parent 78e67587
......@@ -21,19 +21,27 @@ type metrics struct {
PingRequestCount prometheus.Counter
}
func newMetrics() (m metrics) {
func newMetrics() metrics {
subsystem := "api"
return metrics{
RequestCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "api_request_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "request_count",
Help: "Number of API requests.",
}),
ResponseDuration: prometheus.NewHistogram(prometheus.HistogramOpts{
Name: "api_response_duration_seconds",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "response_duration_seconds",
Help: "Histogram of API response durations.",
Buckets: []float64{0.01, 0.1, 0.25, 0.5, 1, 2.5, 5, 10},
}),
PingRequestCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "api_ping_request_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "ping_request_count",
Help: "Number HTTP API ping requests.",
}),
}
......
......@@ -6,6 +6,7 @@ package debugapi
import (
"github.com/ethersphere/bee"
"github.com/ethersphere/bee/pkg/metrics"
"github.com/prometheus/client_golang/prometheus"
)
......@@ -14,10 +15,13 @@ func newMetricsRegistry() (r *prometheus.Registry) {
// register standard metrics
r.MustRegister(
prometheus.NewProcessCollector(prometheus.ProcessCollectorOpts{}),
prometheus.NewProcessCollector(prometheus.ProcessCollectorOpts{
Namespace: metrics.Namespace,
}),
prometheus.NewGoCollector(),
prometheus.NewGauge(prometheus.GaugeOpts{
Name: "bee_info",
Namespace: metrics.Namespace,
Name: "info",
Help: "Bee information.",
ConstLabels: prometheus.Labels{
"version": bee.Version,
......
......@@ -21,25 +21,37 @@ type metrics struct {
TraceCount prometheus.Counter
}
func newMetrics() (m metrics) {
func newMetrics() metrics {
subsystem := "log"
return metrics{
ErrorCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "log_error_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "error_count",
Help: "Number ERROR log messages.",
}),
WarnCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "log_warn_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "warn_count",
Help: "Number WARN log messages.",
}),
InfoCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "log_info_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "info_count",
Help: "Number INFO log messages.",
}),
DebugCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "log_debug_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "debug_count",
Help: "Number DEBUG log messages.",
}),
TraceCount: prometheus.NewCounter(prometheus.CounterOpts{
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "log_trace_count",
Help: "Number TRACE log messages.",
}),
......
......@@ -10,6 +10,10 @@ import (
"github.com/prometheus/client_golang/prometheus"
)
// Namespace is prefixed before every metric. If it is changed, it must be done
// before any metrics collector is registered.
var Namespace = "bee"
type Collector interface {
Metrics() []prometheus.Collector
}
......
......@@ -41,18 +41,25 @@ type service struct {
}
func newService() *service {
subsystem := "api"
return &service{
RequestCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "api_request_count",
Namespace: metrics.Namespace,
Subsystem: subsystem,
Name: "request_count",
Help: "Number of API requests.",
}),
ResponseDuration: prometheus.NewHistogram(prometheus.HistogramOpts{
Name: "api_response_duration_seconds",
Namespace: metrics.Namespace,
Subsystem: subsystem,
Name: "response_duration_seconds",
Help: "Histogram of API response durations.",
Buckets: []float64{0.01, 0.1, 0.25, 0.5, 1, 2.5, 5, 10},
}),
unexportedCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "api_unexported_count",
Namespace: metrics.Namespace,
Subsystem: subsystem,
Name: "unexported_count",
Help: "This metrics should not be discoverable by metrics.PrometheusCollectorsFromFields.",
}),
}
......
......@@ -19,22 +19,32 @@ type metrics struct {
HandledStreamCount prometheus.Counter
}
func newMetrics() (m metrics) {
func newMetrics() metrics {
subsystem := "libp2p"
return metrics{
CreatedConnectionCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "libp2p_created_connection_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "created_connection_count",
Help: "Number of initiated outgoing libp2p connections.",
}),
HandledConnectionCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "libp2p_handled_connection_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "handled_connection_count",
Help: "Number of handled incoming libp2p connections.",
}),
CreatedStreamCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "libp2p_created_stream_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "created_stream_count",
Help: "Number of initiated outgoing libp2p streams.",
}),
HandledStreamCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "libp2p_handled_stream_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "handled_stream_count",
Help: "Number of handled incoming libp2p streams.",
}),
}
......
......@@ -19,22 +19,31 @@ type metrics struct {
PongReceivedCount prometheus.Counter
}
func newMetrics() (m metrics) {
func newMetrics() metrics {
subsystem := "pingpong"
return metrics{
PingSentCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "pingpong_ping_sent_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "ping_sent_count",
Help: "Number ping requests sent.",
}),
PongSentCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "pingpong_pong_sent_count",
Namespace: m.Namespace,
Name: "pong_sent_count",
Help: "Number of pong responses sent.",
}),
PingReceivedCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "pingpong_ping_received_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "ping_received_count",
Help: "Number ping requests received.",
}),
PongReceivedCount: prometheus.NewCounter(prometheus.CounterOpts{
Name: "pingpong_pong_received_count",
Namespace: m.Namespace,
Subsystem: subsystem,
Name: "pong_received_count",
Help: "Number of pong responses received.",
}),
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment