KevinStephenson
Adding in weaviate code
b110593
raw
history blame
2.59 kB
// _ _
// __ _____ __ ___ ___ __ _| |_ ___
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
// \ V V / __/ (_| |\ V /| | (_| | || __/
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
//
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
//
// CONTACT: [email protected]
//
package monitoring
import (
"github.com/prometheus/client_golang/prometheus"
)
// Move the shard from unloaded to in progress
func (pm *PrometheusMetrics) StartLoadingShard(className string) error {
if pm == nil {
return nil
}
labels := prometheus.Labels{
"class_name": className,
}
suld, err := pm.ShardsUnloaded.GetMetricWith(labels)
if err != nil {
return err
}
suld.Dec()
slding, err := pm.ShardsLoading.GetMetricWith(labels)
if err != nil {
return err
}
slding.Inc()
return nil
}
// Move the shard from in progress to loaded
func (pm *PrometheusMetrics) FinishLoadingShard(className string) error {
if pm == nil {
return nil
}
labels := prometheus.Labels{
"class_name": className,
}
slding, err := pm.ShardsLoading.GetMetricWith(labels)
if err != nil {
return err
}
slding.Dec()
sldd, err := pm.ShardsLoaded.GetMetricWith(labels)
if err != nil {
return err
}
sldd.Inc()
return nil
}
// Move the shard from loaded to in progress
func (pm *PrometheusMetrics) StartUnloadingShard(className string) error {
if pm == nil {
return nil
}
labels := prometheus.Labels{
"class_name": className,
}
sldd, err := pm.ShardsLoaded.GetMetricWith(labels)
if err != nil {
return err
}
sldd.Dec()
suld, err := pm.ShardsUnloaded.GetMetricWith(labels)
if err != nil {
return err
}
suld.Inc()
return nil
}
// Move the shard from in progress to unloaded
func (pm *PrometheusMetrics) FinishUnloadingShard(className string) error {
if pm == nil {
return nil
}
labels := prometheus.Labels{
"class_name": className,
}
sulding, err := pm.ShardsUnloading.GetMetricWith(labels)
if err != nil {
return err
}
sulding.Dec()
suld, err := pm.ShardsUnloaded.GetMetricWith(labels)
if err != nil {
return err
}
suld.Inc()
return nil
}
// Register a new, unloaded shard
func (pm *PrometheusMetrics) NewUnloadedshard(className string) error {
if pm == nil {
return nil
}
labels := prometheus.Labels{
"class_name": className,
}
suld, err := pm.ShardsUnloaded.GetMetricWith(labels)
if err != nil {
return err
}
suld.Inc()
return nil
}