in components/otelopscol/receiver/dcgmreceiver/util.go [124:164]
func isValidValue(fieldValue dcgm.FieldValue_v2) error {
switch fieldValue.FieldType {
case dcgm.DCGM_FT_DOUBLE:
switch v := fieldValue.Float64(); v {
case dcgm.DCGM_FT_FP64_BLANK:
return errBlankValue
case dcgm.DCGM_FT_FP64_NOT_FOUND:
return errDataNotFound
case dcgm.DCGM_FT_FP64_NOT_SUPPORTED:
return errNotSupported
case dcgm.DCGM_FT_FP64_NOT_PERMISSIONED:
return errPermissionDenied
}
case dcgm.DCGM_FT_INT64:
switch v := fieldValue.Int64(); v {
case dcgm.DCGM_FT_INT32_BLANK:
return errBlankValue
case dcgm.DCGM_FT_INT32_NOT_FOUND:
return errDataNotFound
case dcgm.DCGM_FT_INT32_NOT_SUPPORTED:
return errNotSupported
case dcgm.DCGM_FT_INT32_NOT_PERMISSIONED:
return errPermissionDenied
case dcgm.DCGM_FT_INT64_BLANK:
return errBlankValue
case dcgm.DCGM_FT_INT64_NOT_FOUND:
return errDataNotFound
case dcgm.DCGM_FT_INT64_NOT_SUPPORTED:
return errNotSupported
case dcgm.DCGM_FT_INT64_NOT_PERMISSIONED:
return errPermissionDenied
}
// dcgm.DCGM_FT_STRING also exists but we don't expect it
default:
return errUnexpectedType
}
return nil
}