MCPcopy
hub / github.com/tsenart/vegeta / data

Method data

lib/plot/plot.go:269–319  ·  view source on GitHub ↗

See http://dygraphs.com/data.html

()

Source from the content-addressed store, hash-verified

267
268// See http://dygraphs.com/data.html
269func (p *Plot) data() (dataPoints, []string, error) {
270 var (
271 series []*timeSeries
272 count int
273 )
274
275 for _, as := range p.series {
276 for _, s := range as.series {
277 if s != nil {
278 series = append(series, s)
279 count += s.len
280 }
281 }
282 }
283
284 var (
285 size = 1 + len(series)
286 nan = math.NaN()
287 labels = make([]string, size)
288 data = make(dataPoints, 0, count)
289 )
290
291 labels[0] = "Seconds"
292
293 sort.Slice(series, func(i, j int) bool {
294 return series[i].attack+series[i].label <
295 series[j].attack+series[j].label
296 })
297
298 for i, s := range series {
299 points, err := lttb.Downsample(s.len, p.threshold, s.iter())
300 if err != nil {
301 return nil, nil, err
302 }
303
304 for _, p := range points {
305 pt := make([]float64, size)
306 for j := range pt {
307 pt[j] = nan
308 }
309 pt[0], pt[i+1] = p.X, p.Y
310 data = append(data, pt)
311 }
312
313 labels[i+1] = s.attack + ": " + s.label
314 }
315
316 sort.Stable(data)
317
318 return data, labels, nil
319}
320
321func asset(path string) ([]byte, error) {
322 file, err := Assets.Open(path)

Callers 1

WriteToMethod · 0.95

Calls 2

DownsampleFunction · 0.92
iterMethod · 0.80

Tested by

no test coverage detected