aboutsummaryrefslogtreecommitdiffstats
path: root/library/go/core/metrics/mock/int_gauge.go
diff options
context:
space:
mode:
authorhcpp <hcpp@ydb.tech>2023-11-08 12:09:41 +0300
committerhcpp <hcpp@ydb.tech>2023-11-08 12:56:14 +0300
commita361f5b98b98b44ea510d274f6769164640dd5e1 (patch)
treec47c80962c6e2e7b06798238752fd3da0191a3f6 /library/go/core/metrics/mock/int_gauge.go
parent9478806fde1f4d40bd5a45e7cbe77237dab613e9 (diff)
downloadydb-a361f5b98b98b44ea510d274f6769164640dd5e1.tar.gz
metrics have been added
Diffstat (limited to 'library/go/core/metrics/mock/int_gauge.go')
-rw-r--r--library/go/core/metrics/mock/int_gauge.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/library/go/core/metrics/mock/int_gauge.go b/library/go/core/metrics/mock/int_gauge.go
new file mode 100644
index 0000000000..8955107da9
--- /dev/null
+++ b/library/go/core/metrics/mock/int_gauge.go
@@ -0,0 +1,33 @@
+package mock
+
+import (
+ "github.com/ydb-platform/ydb/library/go/core/metrics"
+ "go.uber.org/atomic"
+)
+
+var _ metrics.IntGauge = (*IntGauge)(nil)
+
+// IntGauge tracks single int64 value.
+type IntGauge struct {
+ Name string
+ Tags map[string]string
+ Value *atomic.Int64
+}
+
+func (g *IntGauge) Set(value int64) {
+ g.Value.Store(value)
+}
+
+func (g *IntGauge) Add(value int64) {
+ g.Value.Add(value)
+}
+
+var _ metrics.FuncIntGauge = (*FuncIntGauge)(nil)
+
+type FuncIntGauge struct {
+ function func() int64
+}
+
+func (g FuncIntGauge) Function() func() int64 {
+ return g.function
+}