Skip to content

Commit

Permalink
Merge pull request #179 from cybozu-go/remove-agent-metrics
Browse files Browse the repository at this point in the history
Remove agent metrics
  • Loading branch information
kfyharukz authored Feb 3, 2021
2 parents 688e447 + 02d8686 commit 377623c
Show file tree
Hide file tree
Showing 9 changed files with 16 additions and 123 deletions.
2 changes: 1 addition & 1 deletion cmd/moco-controller/cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func subMain() error {
}
// +kubebuilder:scaffold:builder

metrics.RegisterControllerMetrics(k8smetrics.Registry.(*prometheus.Registry))
metrics.RegisterMetrics(k8smetrics.Registry.(*prometheus.Registry))

setupLog.Info("starting manager")
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
Expand Down
13 changes: 0 additions & 13 deletions docs/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,3 @@ MOCO controller exposes the following metrics with the Prometheus format. All t
| cluster_available_status | The cluster status about available condition | Gauge | cluster_name, status |

Note that MOCO controller also exposes the metrics provided by the Prometheus client library which located under `go` and `process` namespaces. [The metrics](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/internal/controller/metrics) exposed by `controller-runtime` is also available.

## Agents

MOCO agents expose the following metrics with the Prometheus format. All these metrics are prefixed with `moco_agent_`

| Name | Description | Type | Labels |
| ----------------------------- | -------------------------------- | ------- | ------------ |
| clone_count | The clone operation count | Counter | cluster_name |
| clone_failure_count | The failed clone operation count | Counter | cluster_name |
| clone_duration_seconds | The time took to clone operation | Summary | cluster_name |
| log_rotation_count | The log rotation count | Counter | cluster_name |
| log_rotation_failure_count | The failed log rotation count | Counter | cluster_name |
| log_rotation_duration_seconds | The time took to log rotation | Summary | cluster_name |
69 changes: 0 additions & 69 deletions metrics/agent_metrics.go

This file was deleted.

25 changes: 0 additions & 25 deletions metrics/agent_updater.go

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func TestDeleteAllMetrics(t *testing.T) {
)

registry := prometheus.NewRegistry()
RegisterControllerMetrics(registry)
RegisterMetrics(registry)

for _, c := range []string{clusterName, anotherClusterName} {
UpdateOperationPhase(c, moco.PhaseCompleted)
Expand Down
22 changes: 11 additions & 11 deletions metrics/controller_metrics.go → metrics/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
)

const (
metricsNamespace = "moco"
metricsControllerSubsystem = "controller"
metricsNamespace = "moco"
metricsSubsystem = "controller"
)

var (
Expand All @@ -20,66 +20,66 @@ var (
syncedReplicasMetrics *prometheus.GaugeVec
)

func RegisterControllerMetrics(registry *prometheus.Registry) {
func RegisterMetrics(registry *prometheus.Registry) {
clusterViolationStatusMetrics = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: metricsNamespace,
Subsystem: metricsControllerSubsystem,
Subsystem: metricsSubsystem,
Name: "cluster_violation_status",
Help: "The cluster status about violation condition",
}, []string{"cluster_name", "status"})
registry.MustRegister(clusterViolationStatusMetrics)

clusterFailureStatusMetrics = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: metricsNamespace,
Subsystem: metricsControllerSubsystem,
Subsystem: metricsSubsystem,
Name: "cluster_failure_status",
Help: "The cluster status about failure condition",
}, []string{"cluster_name", "status"})
registry.MustRegister(clusterFailureStatusMetrics)

clusterAvailableStatusMetrics = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: metricsNamespace,
Subsystem: metricsControllerSubsystem,
Subsystem: metricsSubsystem,
Name: "cluster_available_status",
Help: "The cluster status about available condition",
}, []string{"cluster_name", "status"})
registry.MustRegister(clusterAvailableStatusMetrics)

clusterHealthyStatusMetrics = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: metricsNamespace,
Subsystem: metricsControllerSubsystem,
Subsystem: metricsSubsystem,
Name: "cluster_healthy_status",
Help: "The cluster status about healthy condition",
}, []string{"cluster_name", "status"})
registry.MustRegister(clusterHealthyStatusMetrics)

operationPhaseMetrics = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: metricsNamespace,
Subsystem: metricsControllerSubsystem,
Subsystem: metricsSubsystem,
Name: "operation_phase",
Help: "The operation is in the labeled phase or not",
}, []string{"cluster_name", "phase"})
registry.MustRegister(operationPhaseMetrics)

failoverCountTotalMetrics = prometheus.NewCounterVec(prometheus.CounterOpts{
Namespace: metricsNamespace,
Subsystem: metricsControllerSubsystem,
Subsystem: metricsSubsystem,
Name: "failover_count_total",
Help: "The failover count.",
}, []string{"cluster_name"})
registry.MustRegister(failoverCountTotalMetrics)

totalReplicasMetrics = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: metricsNamespace,
Subsystem: metricsControllerSubsystem,
Subsystem: metricsSubsystem,
Name: "total_replicas",
Help: "The number of replicas.",
}, []string{"cluster_name"})
registry.MustRegister(totalReplicasMetrics)

syncedReplicasMetrics = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: metricsNamespace,
Subsystem: metricsControllerSubsystem,
Subsystem: metricsSubsystem,
Name: "synced_replicas",
Help: "The number of replicas which are in synced state.",
}, []string{"cluster_name"})
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func TestOperationPhaseMetricsUpdater(t *testing.T) {
}

registry := prometheus.NewRegistry()
RegisterControllerMetrics(registry)
RegisterMetrics(registry)

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Expand Down Expand Up @@ -94,7 +94,7 @@ func TestSyncedReplicasMetricsUpdater(t *testing.T) {
}

registry := prometheus.NewRegistry()
RegisterControllerMetrics(registry)
RegisterMetrics(registry)

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Expand Down Expand Up @@ -162,7 +162,7 @@ func TestClusterStatusMetricsUpdater(t *testing.T) {
{UpdateClusterStatusAvailableMetrics, "moco_controller_cluster_available_status"},
} {
registry := prometheus.NewRegistry()
RegisterControllerMetrics(registry)
RegisterMetrics(registry)

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Expand Down

0 comments on commit 377623c

Please sign in to comment.