monitoring

package
v1.25.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2024 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitConfig added in v1.19.7

func InitConfig(cfg Config)

Types

type Config added in v1.24.8

type Config struct {
	Enabled bool   `json:"enabled" yaml:"enabled"`
	Tool    string `json:"tool" yaml:"tool"`
	Port    int    `json:"port" yaml:"port"`
	Group   bool   `json:"group_classes" yaml:"group_classes"`
}

type OnceUponATimer

type OnceUponATimer struct {
	sync.Once
	Timer *prometheus.Timer
}

func NewOnceTimer

func NewOnceTimer(promTimer *prometheus.Timer) *OnceUponATimer

func (*OnceUponATimer) ObserveDurationOnce

func (o *OnceUponATimer) ObserveDurationOnce()

type PrometheusMetrics

type PrometheusMetrics struct {
	BatchTime                         *prometheus.HistogramVec
	BatchDeleteTime                   *prometheus.SummaryVec
	ObjectsTime                       *prometheus.SummaryVec
	LSMBloomFilters                   *prometheus.SummaryVec
	AsyncOperations                   *prometheus.GaugeVec
	LSMSegmentCount                   *prometheus.GaugeVec
	LSMSegmentCountByLevel            *prometheus.GaugeVec
	LSMSegmentObjects                 *prometheus.GaugeVec
	LSMSegmentSize                    *prometheus.GaugeVec
	LSMMemtableSize                   *prometheus.GaugeVec
	LSMMemtableDurations              *prometheus.SummaryVec
	ObjectCount                       *prometheus.GaugeVec
	QueriesCount                      *prometheus.GaugeVec
	RequestsTotal                     *prometheus.GaugeVec
	QueriesDurations                  *prometheus.HistogramVec
	QueriesFilteredVectorDurations    *prometheus.SummaryVec
	QueryDimensions                   *prometheus.CounterVec
	QueryDimensionsCombined           prometheus.Counter
	GoroutinesCount                   *prometheus.GaugeVec
	BackupRestoreDurations            *prometheus.SummaryVec
	BackupStoreDurations              *prometheus.SummaryVec
	BucketPauseDurations              *prometheus.SummaryVec
	BackupRestoreClassDurations       *prometheus.SummaryVec
	BackupRestoreBackupInitDurations  *prometheus.SummaryVec
	BackupRestoreFromStorageDurations *prometheus.SummaryVec
	BackupRestoreDataTransferred      *prometheus.CounterVec
	BackupStoreDataTransferred        *prometheus.CounterVec

	VectorIndexTombstones              *prometheus.GaugeVec
	VectorIndexTombstoneCleanupThreads *prometheus.GaugeVec
	VectorIndexTombstoneCleanedCount   *prometheus.CounterVec
	VectorIndexOperations              *prometheus.GaugeVec
	VectorIndexDurations               *prometheus.SummaryVec
	VectorIndexSize                    *prometheus.GaugeVec
	VectorIndexMaintenanceDurations    *prometheus.SummaryVec
	VectorDimensionsSum                *prometheus.GaugeVec
	VectorSegmentsSum                  *prometheus.GaugeVec
	VectorDimensionsSumByVector        *prometheus.GaugeVec
	VectorSegmentsSumByVector          *prometheus.GaugeVec

	StartupProgress  *prometheus.GaugeVec
	StartupDurations *prometheus.SummaryVec
	StartupDiskIO    *prometheus.SummaryVec

	ShardsLoaded    *prometheus.GaugeVec
	ShardsUnloaded  *prometheus.GaugeVec
	ShardsLoading   *prometheus.GaugeVec
	ShardsUnloading *prometheus.GaugeVec

	// RAFT-based schema metrics
	SchemaWrites         *prometheus.SummaryVec
	SchemaReadsLocal     *prometheus.SummaryVec
	SchemaReadsLeader    *prometheus.SummaryVec
	SchemaWaitForVersion *prometheus.SummaryVec

	TombstoneFindLocalEntrypoint  *prometheus.CounterVec
	TombstoneFindGlobalEntrypoint *prometheus.CounterVec
	TombstoneReassignNeighbors    *prometheus.CounterVec
	TombstoneDeleteListSize       *prometheus.GaugeVec

	Group bool

	// Deprecated metrics, keeping around because the classification features
	// seems to sill use the old logic. However, those metrics are not actually
	// used for the schema anymore, but only for the classification features.
	SchemaTxOpened   *prometheus.CounterVec
	SchemaTxClosed   *prometheus.CounterVec
	SchemaTxDuration *prometheus.SummaryVec
}

func GetMetrics

func GetMetrics() *PrometheusMetrics

func (*PrometheusMetrics) DeleteClass added in v1.21.7

func (pm *PrometheusMetrics) DeleteClass(className string) error

DeleteClass deletes all metrics that match the class name, but do not have a shard-specific label. See [DeleteShard] for more information.

func (*PrometheusMetrics) DeleteShard added in v1.21.7

func (pm *PrometheusMetrics) DeleteShard(className, shardName string) error

Delete Shard deletes existing label combinations that match both the shard and class name. If a metric is not collected at the shard level it is unaffected. This is to make sure that deleting a single shard (e.g. multi-tenancy) does not affect metrics for existing shards.

In addition, there are some metrics that we explicitly keep, such as vector_dimensions_sum as they can be used in billing decisions.

func (*PrometheusMetrics) FinishLoadingShard added in v1.23.0

func (pm *PrometheusMetrics) FinishLoadingShard(className string) error

Move the shard from in progress to loaded

func (*PrometheusMetrics) FinishUnloadingShard added in v1.23.0

func (pm *PrometheusMetrics) FinishUnloadingShard(className string) error

Move the shard from in progress to unloaded

func (*PrometheusMetrics) NewUnloadedshard added in v1.23.0

func (pm *PrometheusMetrics) NewUnloadedshard(className string) error

Register a new, unloaded shard

func (*PrometheusMetrics) StartLoadingShard added in v1.23.0

func (pm *PrometheusMetrics) StartLoadingShard(className string) error

Move the shard from unloaded to in progress

func (*PrometheusMetrics) StartUnloadingShard added in v1.23.0

func (pm *PrometheusMetrics) StartUnloadingShard(className string) error

Move the shard from loaded to in progress

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL