summaryrefslogtreecommitdiff
path: root/datalogger/logger.go
diff options
context:
space:
mode:
authorJeroen Schickendantz <[email protected]>2022-12-01 20:09:05 -0500
committerWill Hawkins <[email protected]>2022-12-11 16:54:18 -0500
commit1bbb5e4dc1d49cefc2e4dbc1d1854703233e32a4 (patch)
tree4d96ac7fcc0eeb22612f64c1b96f0ba592ed3673 /datalogger/logger.go
parent094eb99990f1cf734efb8104e0089dbc6920547e (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.go12
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)