func stopKDEs(s *gcstats.GcStats) map[gcstats.PhaseKind]*stats.KDE { stops := s.Stops() times := make(map[gcstats.PhaseKind]stats.Sample) for _, stop := range stops { s := times[stop.Kind] s.Xs = append(s.Xs, float64(stop.Duration)/1e9) times[stop.Kind] = s } kdes := make(map[gcstats.PhaseKind]*stats.KDE) for kind, sample := range times { // XXX Bandwidth kdes[kind] = &stats.KDE{ Sample: sample, //Bandwidth: stats.FixedBandwidth(100000), BoundaryMethod: stats.BoundaryReflect, BoundaryMax: math.Inf(1), } } return kdes }