Skip to content

Commit bd91ec5

Browse files
committed
skeleton for PDU temp
Signed-off-by: Harper, Jason M <[email protected]>
1 parent 043964a commit bd91ec5

File tree

4 files changed

+51
-13
lines changed

4 files changed

+51
-13
lines changed

cmd/telemetry/telemetry.go

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -294,15 +294,14 @@ func runCmd(cmd *cobra.Command, args []string) error {
294294
tableNames = append(tableNames, report.GaudiTelemetryTableName)
295295
}
296296
// hidden feature - PDU telemetry, only enabled when four environment variables are set
297-
// PERFSPECT_PDU_HOST, PERFSPECT_PDU_USER, PERFSPECT_PDU_PASSWORD, PERFSPECT_PDU_OUTLET
298-
// pduHost := os.Getenv("PERFSPECT_PDU_HOST")
299-
// pduUser := os.Getenv("PERFSPECT_PDU_USER")
300-
// pduPassword := os.Getenv("PERFSPECT_PDU_PASSWORD")
301-
// pduOutlet := os.Getenv("PERFSPECT_PDU_OUTLET")
302-
// if pduHost != "" && pduUser != "" && pduPassword != "" && pduOutlet != "" {
303-
// slog.Info("PDU telemetry enabled", slog.String("host", pduHost), slog.String("outlet", pduOutlet))
304-
// tableNames = append(tableNames, report.PDUTelemetryTableName)
305-
// }
297+
pduHost := os.Getenv("PERFSPECT_PDU_HOST")
298+
pduUser := os.Getenv("PERFSPECT_PDU_USER")
299+
pduPassword := os.Getenv("PERFSPECT_PDU_PASSWORD")
300+
pduOutlet := os.Getenv("PERFSPECT_PDU_OUTLET")
301+
if pduHost != "" && pduUser != "" && pduPassword != "" && pduOutlet != "" {
302+
slog.Info("PDU telemetry enabled", slog.String("host", pduHost), slog.String("outlet", pduOutlet))
303+
tableNames = append(tableNames, report.PDUTelemetryTableName)
304+
}
306305
// include telemetry summary table if all telemetry options are selected
307306
var summaryFunc common.SummaryFunc
308307
if flagAll {
@@ -322,10 +321,10 @@ func runCmd(cmd *cobra.Command, args []string) error {
322321
"InstrMixPID": strconv.Itoa(flagInstrMixPid),
323322
"InstrMixFrequency": strconv.Itoa(flagInstrMixFrequency),
324323
"GaudiHlsmiPath": gaudiHlsmiPath,
325-
// "PDUHost": pduHost,
326-
// "PDUUser": pduUser,
327-
// "PDUPassword": pduPassword,
328-
// "PDUOutlet": pduOutlet,
324+
"PDUHost": pduHost,
325+
"PDUUser": pduUser,
326+
"PDUPassword": pduPassword,
327+
"PDUOutlet": pduOutlet,
329328
},
330329
TableNames: tableNames,
331330
SummaryFunc: summaryFunc,

internal/report/render_html.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1511,6 +1511,23 @@ func gaudiTelemetryTableHTMLRenderer(tableValues TableValues, targetName string)
15111511
return out
15121512
}
15131513

1514+
func pduTelemetryTableHTMLRenderer(tableValues TableValues, targetName string) string {
1515+
data := [][]float64{}
1516+
datasetNames := []string{}
1517+
chartConfig := chartTemplateStruct{
1518+
ID: fmt.Sprintf("%s%d", tableValues.Name, util.RandUint(10000)),
1519+
XaxisText: "Time",
1520+
YaxisText: "Value",
1521+
TitleText: "",
1522+
DisplayTitle: "false",
1523+
DisplayLegend: "true",
1524+
AspectRatio: "2",
1525+
SuggestedMin: "0",
1526+
SuggestedMax: "0",
1527+
}
1528+
return telemetryTableHTMLRenderer(tableValues, data, datasetNames, chartConfig)
1529+
}
1530+
15141531
func callStackFrequencyTableHTMLRenderer(tableValues TableValues, targetName string) string {
15151532
out := `<style>
15161533

internal/report/table_defs.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ const (
130130
PowerTelemetryTableName = "Power Telemetry"
131131
TemperatureTelemetryTableName = "Temperature Telemetry"
132132
GaudiTelemetryTableName = "Gaudi Telemetry"
133+
PDUTelemetryTableName = "PDU Telemetry"
133134
// config table names
134135
ConfigurationTableName = "Configuration"
135136
// flamegraph table names
@@ -156,6 +157,7 @@ const (
156157
PowerTelemetryMenuLabel = "Power"
157158
TemperatureTelemetryMenuLabel = "Temperature"
158159
GaudiTelemetryMenuLabel = "Gaudi"
160+
PDUTelemetryMenuLabel = "PDU"
159161
)
160162

161163
const (
@@ -790,6 +792,15 @@ var tableDefinitions = map[string]TableDefinition{
790792
NoDataFound: "No Gaudi telemetry found. Gaudi devices and the hl-smi tool must be installed on the target system to collect Gaudi stats.",
791793
FieldsFunc: gaudiTelemetryTableValues,
792794
HTMLTableRendererFunc: gaudiTelemetryTableHTMLRenderer},
795+
PDUTelemetryTableName: {
796+
Name: PDUTelemetryTableName,
797+
MenuLabel: PDUTelemetryMenuLabel,
798+
HasRows: true,
799+
ScriptNames: []string{
800+
script.PDUTelemetryScriptName,
801+
},
802+
FieldsFunc: pduTelemetryTableValues,
803+
HTMLTableRendererFunc: pduTelemetryTableHTMLRenderer},
793804
//
794805
// flamegraph tables
795806
//
@@ -2756,6 +2767,10 @@ func gaudiTelemetryTableValues(outputs map[string]script.ScriptOutput) []Field {
27562767
return fields
27572768
}
27582769

2770+
func pduTelemetryTableValues(outputs map[string]script.ScriptOutput) []Field {
2771+
return []Field{}
2772+
}
2773+
27592774
func callStackFrequencyTableValues(outputs map[string]script.ScriptOutput) []Field {
27602775
fields := []Field{
27612776
{Name: "Native Stacks", Values: []string{nativeFoldedFromOutput(outputs)}},

internal/script/script_defs.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ const (
116116
TurbostatTelemetryScriptName = "turbostat telemetry"
117117
InstructionTelemetryScriptName = "instruction telemetry"
118118
GaudiTelemetryScriptName = "gaudi telemetry"
119+
PDUTelemetryScriptName = "pdu telemetry"
119120
// flamegraph scripts
120121
CollapsedCallStacksScriptName = "collapsed call stacks"
121122
// lock scripts
@@ -1324,6 +1325,12 @@ fi
13241325
Superuser: true,
13251326
NeedsKill: true,
13261327
},
1328+
PDUTelemetryScriptName: {
1329+
Name: PDUTelemetryScriptName,
1330+
ScriptTemplate: ``,
1331+
Superuser: false,
1332+
NeedsKill: false,
1333+
},
13271334
// flamegraph scripts
13281335
CollapsedCallStacksScriptName: {
13291336
Name: CollapsedCallStacksScriptName,

0 commit comments

Comments
 (0)