@@ -140,7 +140,7 @@ func printMetricsFile(mFile string) {
140
140
}
141
141
}
142
142
143
- func watchMetricsFile (mFile string , stopRules stopRulesFlag , filters []string ) {
143
+ func watchMetricsFile (mFile string , stopRules stopRulesFlag , filters []string , fileFormat commonv1beta1. FileSystemFileFormat ) {
144
144
145
145
// metricStartStep is the dict where key = metric name, value = start step.
146
146
// We should apply early stopping rule only if metric is reported at least "start_step" times.
@@ -174,7 +174,7 @@ func watchMetricsFile(mFile string, stopRules stopRulesFlag, filters []string) {
174
174
175
175
// Get list of regural expressions from filters.
176
176
var metricRegList []* regexp.Regexp
177
- if * metricsFileFormat == commonv1beta1 .TextFormat . String () {
177
+ if fileFormat == commonv1beta1 .TextFormat {
178
178
metricRegList = filemc .GetFilterRegexpList (filters )
179
179
}
180
180
@@ -185,8 +185,8 @@ func watchMetricsFile(mFile string, stopRules stopRulesFlag, filters []string) {
185
185
// Print log line
186
186
klog .Info (logText )
187
187
188
- switch * metricsFileFormat {
189
- case commonv1beta1 .TextFormat . String () :
188
+ switch fileFormat {
189
+ case commonv1beta1 .TextFormat :
190
190
// Check if log line contains metric from stop rules.
191
191
isRuleLine := false
192
192
for _ , rule := range stopRules {
@@ -224,7 +224,7 @@ func watchMetricsFile(mFile string, stopRules stopRulesFlag, filters []string) {
224
224
}
225
225
}
226
226
}
227
- case commonv1beta1 .JsonFormat . String () :
227
+ case commonv1beta1 .JsonFormat :
228
228
var logJsonObj map [string ]interface {}
229
229
if err = json .Unmarshal ([]byte (logText ), & logJsonObj ); err != nil {
230
230
klog .Fatalf ("Failed to unmarshal logs in JSON format, log: %s, error: %v" , logText , err )
@@ -256,7 +256,7 @@ func watchMetricsFile(mFile string, stopRules stopRulesFlag, filters []string) {
256
256
stopRules = updateStopRules (objMetric , stopRules , optimalObjValue , metricValue , objType , metricStartStep , rule , idx )
257
257
}
258
258
default :
259
- klog .Fatalf ("format must be set %s or %s " , commonv1beta1 .TextFormat . String () , commonv1beta1 .JsonFormat . String () )
259
+ klog .Fatalf ("format must be set %v or %v " , commonv1beta1 .TextFormat , commonv1beta1 .JsonFormat )
260
260
}
261
261
262
262
// If stopRules array is empty, Trial is early stopped.
@@ -295,7 +295,7 @@ func watchMetricsFile(mFile string, stopRules stopRulesFlag, filters []string) {
295
295
}
296
296
297
297
// Report metrics to DB.
298
- reportMetrics (filters )
298
+ reportMetrics (filters , fileFormat )
299
299
300
300
// Wait until main process is completed.
301
301
timeout := 60 * time .Second
@@ -400,9 +400,11 @@ func main() {
400
400
filters = strings .Split (* metricFilters , ";" )
401
401
}
402
402
403
+ fileFormat := commonv1beta1 .FileSystemFileFormat (* metricsFileFormat )
404
+
403
405
// If stop rule is set we need to parse metrics during run.
404
406
if len (stopRules ) != 0 {
405
- go watchMetricsFile (* metricsFilePath , stopRules , filters )
407
+ go watchMetricsFile (* metricsFilePath , stopRules , filters , fileFormat )
406
408
} else {
407
409
go printMetricsFile (* metricsFilePath )
408
410
}
@@ -421,11 +423,11 @@ func main() {
421
423
422
424
// If training was not early stopped, report the metrics.
423
425
if ! isEarlyStopped {
424
- reportMetrics (filters )
426
+ reportMetrics (filters , fileFormat )
425
427
}
426
428
}
427
429
428
- func reportMetrics (filters []string ) {
430
+ func reportMetrics (filters []string , fileFormat commonv1beta1. FileSystemFileFormat ) {
429
431
430
432
conn , err := grpc .Dial (* dbManagerServiceAddr , grpc .WithInsecure ())
431
433
if err != nil {
@@ -438,7 +440,7 @@ func reportMetrics(filters []string) {
438
440
if len (* metricNames ) != 0 {
439
441
metricList = strings .Split (* metricNames , ";" )
440
442
}
441
- olog , err := filemc .CollectObservationLog (* metricsFilePath , metricList , filters , * metricsFileFormat )
443
+ olog , err := filemc .CollectObservationLog (* metricsFilePath , metricList , filters , fileFormat )
442
444
if err != nil {
443
445
klog .Fatalf ("Failed to collect logs: %v" , err )
444
446
}
0 commit comments