github.com/netdata/go.d.plugin@v0.58.1/modules/scaleio/collect_sdc.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package scaleio 4 5 import "github.com/netdata/go.d.plugin/modules/scaleio/client" 6 7 func (s ScaleIO) collectSdc(ss map[string]client.SdcStatistics) map[string]sdcMetrics { 8 ms := make(map[string]sdcMetrics, len(ss)) 9 10 for id, stats := range ss { 11 sdc, ok := s.discovered.sdc[id] 12 if !ok { 13 continue 14 } 15 var m sdcMetrics 16 m.BW.set( 17 calcBW(stats.UserDataReadBwc), 18 calcBW(stats.UserDataWriteBwc), 19 ) 20 m.IOPS.set( 21 calcIOPS(stats.UserDataReadBwc), 22 calcIOPS(stats.UserDataWriteBwc), 23 ) 24 m.IOSize.set( 25 calcIOSize(stats.UserDataReadBwc), 26 calcIOSize(stats.UserDataWriteBwc), 27 ) 28 m.MappedVolumes = stats.NumOfMappedVolumes 29 m.MDMConnectionState = isSdcConnected(sdc.MdmConnectionState) 30 31 ms[id] = m 32 } 33 return ms 34 } 35 36 func isSdcConnected(state string) bool { 37 return state == "Connected" 38 }