mirror of
https://github.com/grafana/loki.git
synced 2025-07-26 00:24:16 +08:00
44 lines
2.0 KiB
Go
44 lines
2.0 KiB
Go
//go:build integration
|
|
|
|
package integration
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
var exampleMetricOutput = `
|
|
# HELP loki_compactor_delete_requests_processed_total Number of delete requests processed per user
|
|
# TYPE loki_compactor_delete_requests_processed_total counter
|
|
loki_compactor_delete_requests_processed_total{user="eEWxEcgwRQcf"} 1
|
|
# HELP loki_compactor_delete_requests_received_total Number of delete requests received per user
|
|
# TYPE loki_compactor_delete_requests_received_total counter
|
|
loki_compactor_delete_requests_received_total{user="eEWxEcgwRQcf"} 1
|
|
# HELP loki_compactor_load_pending_requests_attempts_total Number of attempts that were made to load pending requests with status
|
|
# TYPE loki_compactor_load_pending_requests_attempts_total counter
|
|
loki_compactor_load_pending_requests_attempts_total{status="success"} 57
|
|
# HELP loki_compactor_oldest_pending_delete_request_age_seconds Age of oldest pending delete request in seconds, since they are over their cancellation period
|
|
# TYPE loki_compactor_oldest_pending_delete_request_age_seconds gauge
|
|
loki_compactor_oldest_pending_delete_request_age_seconds 0
|
|
# HELP loki_compactor_pending_delete_requests_count Count of delete requests which are over their cancellation period and have not finished processing yet
|
|
# TYPE loki_compactor_pending_delete_requests_count gauge
|
|
loki_compactor_pending_delete_requests_count 0
|
|
`
|
|
|
|
func TestExtractCounterMetric(t *testing.T) {
|
|
val, labels, err := extractMetric("loki_compactor_oldest_pending_delete_request_age_seconds", exampleMetricOutput)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, labels)
|
|
require.Len(t, labels, 0)
|
|
require.Equal(t, float64(0), val)
|
|
|
|
val, labels, err = extractMetric("loki_compactor_delete_requests_processed_total", exampleMetricOutput)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, labels)
|
|
require.Len(t, labels, 1)
|
|
require.Contains(t, labels, "user")
|
|
require.Equal(t, labels["user"], "eEWxEcgwRQcf")
|
|
require.Equal(t, float64(1), val)
|
|
}
|