Path: blob/main/component/loki/source/gcplog/internal/gcplogtarget/metrics.go
4096 views
package gcplogtarget12// This code is copied from Promtail. The gcplogtarget package is used to3// configure and run the targets that can read log entries from cloud resource4// logs like bucket logs, load balancer logs, and Kubernetes cluster logs5// from GCP.67import "github.com/prometheus/client_golang/prometheus"89// Metrics stores gcplog entry metrics.10type Metrics struct {11// reg is the Registerer used to create this set of metrics.12reg prometheus.Registerer1314gcplogEntries *prometheus.CounterVec15gcplogErrors *prometheus.CounterVec16gcplogTargetLastSuccessScrape *prometheus.GaugeVec1718gcpPushEntries *prometheus.CounterVec19gcpPushErrors *prometheus.CounterVec20}2122// NewMetrics creates a new set of metrics. Metrics will be registered to reg.23func NewMetrics(reg prometheus.Registerer) *Metrics {24var m Metrics25m.reg = reg2627// Pull subscription metrics28m.gcplogEntries = prometheus.NewCounterVec(prometheus.CounterOpts{29Name: "loki_source_gcplog_pull_entries_total",30Help: "Number of entries received by the gcplog target",31}, []string{"project"})3233m.gcplogErrors = prometheus.NewCounterVec(prometheus.CounterOpts{34Name: "loki_source_gcplog_pull_parsing_errors_total",35Help: "Total number of parsing errors while receiving gcplog messages",36}, []string{"project"})3738m.gcplogTargetLastSuccessScrape = prometheus.NewGaugeVec(prometheus.GaugeOpts{39Name: "loki_source_gcplog_pull_last_success_scrape",40Help: "Timestamp of target's last successful poll",41}, []string{"project", "target"})4243// Push subscription metrics44m.gcpPushEntries = prometheus.NewCounterVec(prometheus.CounterOpts{45Name: "loki_source_gcplog_push_entries_total",46Help: "Number of entries received by the gcplog target",47}, []string{})4849m.gcpPushErrors = prometheus.NewCounterVec(prometheus.CounterOpts{50Name: "loki_source_gcplog_push_parsing_errors_total",51Help: "Number of parsing errors while receiving gcplog messages",52}, []string{"reason"})5354reg.MustRegister(55m.gcplogEntries,56m.gcplogErrors,57m.gcplogTargetLastSuccessScrape,58m.gcpPushEntries,59m.gcpPushErrors,60)61return &m62}636465