From f3f9cb008c45600a25593a62c60857adfc42ad68 Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Tue, 14 Apr 2020 08:36:49 +0200 Subject: [PATCH] Reducing the size of the honeycomb traces The first version sent information about GC and memory along every trace. As this information is quite heavy, it has been moved together with other information to AddStats, which is only called once per minute. --- tracing/logger.go | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/tracing/logger.go b/tracing/logger.go index 13e2a933..5518a924 100644 --- a/tracing/logger.go +++ b/tracing/logger.go @@ -11,11 +11,11 @@ import ( "sync" "time" - "github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/disk" "github.com/shirou/gopsutil/load" "github.com/shirou/gopsutil/net" + "github.com/shirou/gopsutil/cpu" "go.dedis.ch/onet/v3/network" "go.dedis.ch/onet/v3" @@ -133,6 +133,29 @@ func (logger *TraceLogger) AddStats(c *onet.Context, repeat time.Duration) { stackEntry{pkgPath: "go.dedis.ch/onet/v3/honeycomb", method: "stats"}) t.add("status", c.ReportStatus()) + var m runtime.MemStats + runtime.ReadMemStats(&m) + t.add("memstats", m) + var gc debug.GCStats + debug.ReadGCStats(&gc) + t.add("gcstats", gc) + ld, err := load.Avg() + if err == nil { + t.add("load", ld) + } + us, err := disk.Usage(".") + if err == nil { + t.add("disk-usage", us) + } + ioc, err := disk.IOCounters(".") + if err == nil { + t.add("disk-iostat", ioc) + } + netio, err := net.IOCounters(false) + if err == nil { + t.add("network-stat", netio) + } + t.send() case <-logger.statsDone: return @@ -258,34 +281,12 @@ func (logger *TraceLogger) addDefaultFields(tw *traceWrapper, sw *spanWrapper) { for k, v := range logger.defaultFields { tw.hcTrace.AddField(k, v) } - var m runtime.MemStats - runtime.ReadMemStats(&m) - sw.add("memstats", m) - var gc debug.GCStats - debug.ReadGCStats(&gc) - sw.add("gcstats", gc) ts, err := cpu.Times(false) if err == nil { for i, t := range ts { sw.add("cpustat"+strconv.Itoa(i), t) } } - ld, err := load.Avg() - if err == nil { - sw.add("load", ld) - } - us, err := disk.Usage(".") - if err == nil { - sw.add("disk-usage", us) - } - ioc, err := disk.IOCounters(".") - if err == nil { - sw.add("disk-iostat", ioc) - } - netio, err := net.IOCounters(false) - if err == nil { - sw.add("network-stat", netio) - } } func (logger *TraceLogger) newTrace(ctx context.Context, str string,