in tool/data/config/metric/collection.go [42:100]
func (config *Collection) ToMap(ctx *runtime.Context) (string, map[string]interface{}) {
resultMap := make(map[string]interface{})
if ctx.OsParameter == util.OsTypeWindows {
if config.WinLogicalDisk != nil {
util.AddToMap(ctx, resultMap, config.WinLogicalDisk)
}
if config.WinPhysicalDisk != nil {
util.AddToMap(ctx, resultMap, config.WinPhysicalDisk)
}
if config.WinMemory != nil {
util.AddToMap(ctx, resultMap, config.WinMemory)
}
if config.WinNetworkInterface != nil {
util.AddToMap(ctx, resultMap, config.WinNetworkInterface)
}
if config.WinProcessor != nil {
util.AddToMap(ctx, resultMap, config.WinProcessor)
}
if config.WinTCPv4 != nil {
util.AddToMap(ctx, resultMap, config.WinTCPv4)
}
if config.WinTCPv6 != nil {
util.AddToMap(ctx, resultMap, config.WinTCPv6)
}
if config.WinPagingFile != nil {
util.AddToMap(ctx, resultMap, config.WinPagingFile)
}
} else {
//Difficult to check an interface is nil or not. https://github.com/golang/go/issues/17346
if config.CPU != nil {
util.AddToMap(ctx, resultMap, config.CPU)
}
if config.Disk != nil {
util.AddToMap(ctx, resultMap, config.Disk)
}
if config.DiskIO != nil {
util.AddToMap(ctx, resultMap, config.DiskIO)
}
if config.Memory != nil {
util.AddToMap(ctx, resultMap, config.Memory)
}
if config.Net != nil {
util.AddToMap(ctx, resultMap, config.Net)
}
if config.NetStat != nil {
util.AddToMap(ctx, resultMap, config.NetStat)
}
if config.Swap != nil {
util.AddToMap(ctx, resultMap, config.Swap)
}
if config.CollectD != nil {
util.AddToMap(ctx, resultMap, config.CollectD)
}
}
if config.StatsD != nil {
util.AddToMap(ctx, resultMap, config.StatsD)
}
return "metrics_collected", resultMap
}