package metrics import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" ) var ( State = promauto.NewGauge(prometheus.GaugeOpts{ Namespace: "fermentord", Subsystem: "state", Name: "state_current", Help: "The state of the fermentor. 0=idle, 1=cooling, 2=heating", }) TemperatureSensorReadingDegreesCelcius = promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: "fermentord", Subsystem: "temperature", Name: "sensor_reading_degrees_celcius", Help: "Temperature in degrees celcius.", }, []string{ "sensor", }, ) TemperatureSensorReadingDurationSeconds = promauto.NewHistogramVec( prometheus.HistogramOpts{ Namespace: "fermentord", Subsystem: "temperature", Name: "sensor_reading_duration_seconds", Help: "Duration of temperature sensor readings.", Buckets: []float64{0.25, 0.5, 0.75, 1, 1.25, 1.5}, }, []string{ "sensor", }, ) PIDP = promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: "fermentord", Subsystem: "pid", Name: "p", Help: "Kp for PID", }, []string{ "pid", }, ) PIDI = promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: "fermentord", Subsystem: "pid", Name: "i", Help: "Ki for PID", }, []string{ "pid", }, ) PIDD = promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: "fermentord", Subsystem: "pid", Name: "d", Help: "Kd for PID", }, []string{ "pid", }, ) )