in internal/guestcollector/linux_guestcollector.go [318:341]
func DiskToDiskType(fields map[string]string, disks []*instanceinfo.Disks, usageMetricLogger agentstatus.AgentStatus) {
logicalToTypeMap := map[string]string{}
for _, devices := range disks {
var err error
devices.Mapping, err = forLinux(devices.DeviceName)
if err != nil {
log.Logger.Warnw("No mapping for instance disk", "disk", devices.DeviceName, "error", err)
} else {
// EX: sda -> PERSISTENT
logicalToTypeMap[devices.Mapping] = devices.DiskType
}
log.Logger.Debugw("Instance disk is mapped to device name", "devicename", devices.DeviceName, "mapping", devices.Mapping)
}
r, err := json.Marshal(logicalToTypeMap)
if err != nil {
log.Logger.Errorw("An error occurred while serializing disk info to JSON", "error", err)
usageMetricLogger.Error(agentstatus.InvalidJSONFormatError)
}
if len(logicalToTypeMap) == 0 {
fields[internal.LocalSSDRule] = "unknown"
} else {
fields[internal.LocalSSDRule] = string(r)
}
}