mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-29 18:33:05 +00:00
66ff1fcd40
This commit replaces the timestamp based state system with a new one that has update channels directly to the connected nodes. It will send an update to all listening clients via the polling mechanism. It introduces a new package notifier, which has a concurrency safe manager for all our channels to the connected nodes. Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
30 lines
1.2 KiB
Go
30 lines
1.2 KiB
Go
package hscontrol
|
|
|
|
import (
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
"github.com/prometheus/client_golang/prometheus/promauto"
|
|
)
|
|
|
|
const prometheusNamespace = "headscale"
|
|
|
|
var (
|
|
// This is a high cardinality metric (user x machines), we might want to make this
|
|
// configurable/opt-in in the future.
|
|
machineRegistrations = promauto.NewCounterVec(prometheus.CounterOpts{
|
|
Namespace: prometheusNamespace,
|
|
Name: "machine_registrations_total",
|
|
Help: "The total amount of registered machine attempts",
|
|
}, []string{"action", "auth", "status", "user"})
|
|
|
|
updateRequestsFromNode = promauto.NewCounterVec(prometheus.CounterOpts{
|
|
Namespace: prometheusNamespace,
|
|
Name: "update_request_from_node_total",
|
|
Help: "The number of updates requested by a node/update function",
|
|
}, []string{"user", "machine", "state"})
|
|
updateRequestsSentToNode = promauto.NewCounterVec(prometheus.CounterOpts{
|
|
Namespace: prometheusNamespace,
|
|
Name: "update_request_sent_to_node_total",
|
|
Help: "The number of calls/messages issued on a specific nodes update channel",
|
|
}, []string{"user", "machine", "status"})
|
|
// TODO(kradalby): This is very debugging, we might want to remove it.
|
|
)
|