summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/scaleio/collect_sdc.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 11:19:16 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:53:24 +0000
commitb5f8ee61a7f7e9bd291dd26b0585d03eb686c941 (patch)
treed4d31289c39fc00da064a825df13a0b98ce95b10 /src/go/collectors/go.d.plugin/modules/scaleio/collect_sdc.go
parentAdding upstream version 1.44.3. (diff)
downloadnetdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.tar.xz
netdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.zip
Adding upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--src/go/collectors/go.d.plugin/modules/scaleio/collect_sdc.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/scaleio/collect_sdc.go b/src/go/collectors/go.d.plugin/modules/scaleio/collect_sdc.go
new file mode 100644
index 000000000..e840b781d
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/scaleio/collect_sdc.go
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package scaleio
+
+import "github.com/netdata/netdata/go/go.d.plugin/modules/scaleio/client"
+
+func (s *ScaleIO) collectSdc(ss map[string]client.SdcStatistics) map[string]sdcMetrics {
+ ms := make(map[string]sdcMetrics, len(ss))
+
+ for id, stats := range ss {
+ sdc, ok := s.discovered.sdc[id]
+ if !ok {
+ continue
+ }
+ var m sdcMetrics
+ m.BW.set(
+ calcBW(stats.UserDataReadBwc),
+ calcBW(stats.UserDataWriteBwc),
+ )
+ m.IOPS.set(
+ calcIOPS(stats.UserDataReadBwc),
+ calcIOPS(stats.UserDataWriteBwc),
+ )
+ m.IOSize.set(
+ calcIOSize(stats.UserDataReadBwc),
+ calcIOSize(stats.UserDataWriteBwc),
+ )
+ m.MappedVolumes = stats.NumOfMappedVolumes
+ m.MDMConnectionState = isSdcConnected(sdc.MdmConnectionState)
+
+ ms[id] = m
+ }
+ return ms
+}
+
+func isSdcConnected(state string) bool {
+ return state == "Connected"
+}