diff options
| author | Jeroen Schickendantz <[email protected]> | 2022-12-01 20:09:05 -0500 |
|---|---|---|
| committer | Will Hawkins <[email protected]> | 2022-12-11 16:54:18 -0500 |
| commit | 1bbb5e4dc1d49cefc2e4dbc1d1854703233e32a4 (patch) | |
| tree | 4d96ac7fcc0eeb22612f64c1b96f0ba592ed3673 /datalogger/logger.go | |
| parent | 094eb99990f1cf734efb8104e0089dbc6920547e (diff) | |
[Feature] Granular Throughput
Granular throughput logging
Measures on both Up/Down connections
Adds "[OMIT]" tag to csvlogger
Diffstat (limited to 'datalogger/logger.go')
| -rw-r--r-- | datalogger/logger.go | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/datalogger/logger.go b/datalogger/logger.go index 4c3b080..249a059 100644 --- a/datalogger/logger.go +++ b/datalogger/logger.go @@ -108,17 +108,27 @@ func (logger *CSVDataLogger[T]) Export() bool { return false } + toOmit := make([]int, 0) visibleFields := reflect.VisibleFields(reflect.TypeOf((*T)(nil)).Elem()) - for _, v := range visibleFields { + for i, v := range visibleFields { description, success := v.Tag.Lookup("Description") columnName := fmt.Sprintf("%s", v.Name) if success { + if description == "[OMIT]" { + toOmit = append(toOmit, i) + continue + } columnName = fmt.Sprintf("%s", description) } logger.destination.Write([]byte(fmt.Sprintf("%s, ", columnName))) } logger.destination.Write([]byte("\n")) + // Remove the Omitted fields + for _, i := range toOmit { + visibleFields = append(visibleFields[:i], visibleFields[i+1:]...) + } + for _, d := range logger.data { for _, v := range visibleFields { data := reflect.ValueOf(d) |
