Skip to content

Commit 422792b

Browse files
aaronjwoodbitcharmer
authored andcommitted
Extend metrics collected from Nvidia GPUs (influxdata#5885)
1 parent 3eb0add commit 422792b

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

plugins/inputs/nvidia_smi/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@ On Windows, `nvidia-smi` is generally located at `C:\Program Files\NVIDIA Corpor
3535
- `temperature_gpu` (integer, degrees C)
3636
- `utilization_gpu` (integer, percentage)
3737
- `utilization_memory` (integer, percentage)
38+
- `pcie_link_gen_current` (integer)
39+
- `pcie_link_width_current` (integer)
40+
- `encoder_stats_session_count` (integer)
41+
- `encoder_stats_average_fps` (integer)
42+
- `encoder_stats_average_latency` (integer)
43+
- `clocks_current_graphics` (integer, MHz)
44+
- `clocks_current_sm` (integer, MHz)
45+
- `clocks_current_memory` (integer, MHz)
46+
- `clocks_current_video` (integer, MHz)
3847

3948
### Sample Query
4049

plugins/inputs/nvidia_smi/nvidia_smi.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616

1717
var (
1818
measurement = "nvidia_smi"
19-
metrics = "fan.speed,memory.total,memory.used,memory.free,pstate,temperature.gpu,name,uuid,compute_mode,utilization.gpu,utilization.memory,index,power.draw"
19+
metrics = "fan.speed,memory.total,memory.used,memory.free,pstate,temperature.gpu,name,uuid,compute_mode,utilization.gpu,utilization.memory,index,power.draw,pcie.link.gen.current,pcie.link.width.current,encoder.stats.sessionCount,encoder.stats.averageFps,encoder.stats.averageLatency,clocks.current.graphics,clocks.current.sm,clocks.current.memory,clocks.current.video"
2020
metricNames = [][]string{
2121
{"fan_speed", "integer"},
2222
{"memory_total", "integer"},
@@ -31,6 +31,15 @@ var (
3131
{"utilization_memory", "integer"},
3232
{"index", "tag"},
3333
{"power_draw", "float"},
34+
{"pcie_link_gen_current", "integer"},
35+
{"pcie_link_width_current", "integer"},
36+
{"encoder_stats_session_count", "integer"},
37+
{"encoder_stats_average_fps", "integer"},
38+
{"encoder_stats_average_latency", "integer"},
39+
{"clocks_current_graphics", "integer"},
40+
{"clocks_current_sm", "integer"},
41+
{"clocks_current_memory", "integer"},
42+
{"clocks_current_video", "integer"},
3443
}
3544
)
3645

plugins/inputs/nvidia_smi/nvidia_smi_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ import (
77
)
88

99
func TestParseLineStandard(t *testing.T) {
10-
line := "85, 8114, 553, 7561, P2, 61, GeForce GTX 1070 Ti, GPU-d1911b8a-f5c8-5e66-057c-486561269de8, Default, 100, 93, 1, 0.0\n"
10+
line := "41, 11264, 1074, 10190, P8, 32, GeForce RTX 2080 Ti, GPU-c97b7f88-c06d-650f-5339-f8dd0c1315c0, Default, 1, 4, 0, 24.33, 1, 16, 0, 0, 0, 300, 300, 405, 540\n"
1111
tags, fields, err := parseLine(line)
1212
if err != nil {
1313
t.Fail()
1414
}
15-
if tags["name"] != "GeForce GTX 1070 Ti" {
15+
if tags["name"] != "GeForce RTX 2080 Ti" {
1616
t.Fail()
1717
}
18-
if temp, ok := fields["temperature_gpu"].(int); ok && temp == 61 {
18+
if temp, ok := fields["temperature_gpu"].(int); ok && temp != 32 {
1919
t.Fail()
2020
}
2121
}
@@ -37,7 +37,7 @@ func TestParseLineBad(t *testing.T) {
3737
}
3838

3939
func TestParseLineNotSupported(t *testing.T) {
40-
line := "[Not Supported], 7606, 0, 7606, P0, 38, Tesla P4, GPU-xxx, Default, 0, 0, 0, 0.0\n"
40+
line := "[Not Supported], 11264, 1074, 10190, P8, 32, GeForce RTX 2080 Ti, GPU-c97b7f88-c06d-650f-5339-f8dd0c1315c0, Default, 1, 4, 0, 24.33, 1, 16, 0, 0, 0, 300, 300, 405, 540\n"
4141
_, fields, err := parseLine(line)
4242
require.NoError(t, err)
4343
require.Equal(t, nil, fields["fan_speed"])

0 commit comments

Comments
 (0)