Skip fields that report "not supported" in nvidia-smi (#4123)
This commit is contained in:
parent
581ec4d192
commit
1d9488bd42
|
@ -125,15 +125,20 @@ func parseLine(line string) (map[string]string, map[string]interface{}, error) {
|
||||||
// Make sure there are as many metrics in the line as there were queried.
|
// Make sure there are as many metrics in the line as there were queried.
|
||||||
if len(met) == len(metricNames) {
|
if len(met) == len(metricNames) {
|
||||||
for i, m := range metricNames {
|
for i, m := range metricNames {
|
||||||
|
col := strings.TrimSpace(met[i])
|
||||||
|
|
||||||
// First handle the tags
|
// First handle the tags
|
||||||
if m[1] == "tag" {
|
if m[1] == "tag" {
|
||||||
tags[m[0]] = strings.TrimSpace(met[i])
|
tags[m[0]] = col
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.Contains(col, "[Not Supported]") {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// Then parse the integers out of the fields
|
// Then parse the integers out of the fields
|
||||||
out, err := strconv.ParseInt(strings.TrimSpace(met[i]), 10, 64)
|
out, err := strconv.ParseInt(col, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return tags, fields, err
|
return tags, fields, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@ package nvidia_smi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestParseLineStandard(t *testing.T) {
|
func TestParseLineStandard(t *testing.T) {
|
||||||
|
@ -33,3 +35,10 @@ func TestParseLineBad(t *testing.T) {
|
||||||
t.Fail()
|
t.Fail()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestParseLineNotSupported(t *testing.T) {
|
||||||
|
line := "[Not Supported], 7606, 0, 7606, P0, 38, Tesla P4, GPU-xxx, Default, 0, 0, 0\n"
|
||||||
|
_, fields, err := parseLine(line)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, nil, fields["fan_speed"])
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue