github.com/weaviate/weaviate@v1.24.6/adapters/repos/db/lsmkv/memtable_metrics.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 package lsmkv 13 14 type memtableMetrics struct { 15 put NsObserver 16 setTombstone NsObserver 17 append NsObserver 18 appendMapSorted NsObserver 19 get NsObserver 20 getBySecondary NsObserver 21 getMap NsObserver 22 getCollection NsObserver 23 size Setter 24 } 25 26 // newMemtableMetrics curries the prometheus-functions just once to make sure 27 // they don't have to be curried on the hotpath where we this would lead to a 28 // lot of allocations. 29 func newMemtableMetrics(metrics *Metrics, path, strategy string) *memtableMetrics { 30 return &memtableMetrics{ 31 put: metrics.MemtableOpObserver(path, strategy, "put"), 32 setTombstone: metrics.MemtableOpObserver(path, strategy, "setTombstone"), 33 append: metrics.MemtableOpObserver(path, strategy, "append"), 34 appendMapSorted: metrics.MemtableOpObserver(path, strategy, "appendMapSorted"), 35 get: metrics.MemtableOpObserver(path, strategy, "get"), 36 getBySecondary: metrics.MemtableOpObserver(path, strategy, "getBySecondary"), 37 getMap: metrics.MemtableOpObserver(path, strategy, "getMap"), 38 getCollection: metrics.MemtableOpObserver(path, strategy, "getCollection"), 39 size: metrics.MemtableSizeSetter(path, strategy), 40 } 41 }