Exemplo n.º 1
0
// Add adds a new log record to the series. It assumes that records are added
// in increasing chronological order
func (x *SeriesSweeper) Add(r *dccp.LogRecord) {
	if !r.IsHighlighted() {
		return
	}
	// Check that the argument is a sample
	m_, ok := r.Args[dccp.SampleType]
	if !ok {
		return
	}
	// Read sample data
	m := m_.(map[string]interface{})
	value := m["Value"].(float64)
	series := r.LabelString() + m["Series"].(string)
	for _, u := range x.series {
		if u == series {
			goto __SeriesSaved
		}
	}
	x.series = append(x.series, series)
__SeriesSaved:
	// Remember the sample
	u := &sample{
		Series: series,
		Time:   float64(r.Time) / 1e6, // Time, X-coordinate, always in milliseconds
		Value:  value,
	}
	x.chrono.PushBack(u)
}