diff options
Diffstat (limited to 'src/go/plugin/go.d/modules/scaleio/collect_sdc.go')
-rw-r--r-- | src/go/plugin/go.d/modules/scaleio/collect_sdc.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/go/plugin/go.d/modules/scaleio/collect_sdc.go b/src/go/plugin/go.d/modules/scaleio/collect_sdc.go new file mode 100644 index 000000000..f62626707 --- /dev/null +++ b/src/go/plugin/go.d/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/plugins/plugin/go.d/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" +} |