func (this *SafeEvents) Put(event *model.Event) { if event.Status == "OK" { this.Delete(event.Id) return } dto := &EventDto{} dto.Id = event.Id dto.Endpoint = event.Endpoint dto.Metric = event.Metric() dto.Counter = event.Counter() dto.Func = event.Func() dto.LeftValue = utils.ReadableFloat(event.LeftValue) dto.Operator = event.Operator() dto.RightValue = utils.ReadableFloat(event.RightValue()) dto.Note = event.Note() dto.MaxStep = event.MaxStep() dto.CurrentStep = event.CurrentStep dto.Priority = event.Priority() dto.Status = event.Status dto.Timestamp = event.EventTime dto.ExpressionId = event.ExpressionId() dto.StrategyId = event.StrategyId() dto.TemplateId = event.TplId() dto.Link = Link(event) this.Lock() defer this.Unlock() this.M[dto.Id] = dto }
func BuildCommonSMSContent(event *model.Event) string { return fmt.Sprintf( "[P%d][%s][%s][][%s %s %s %s %s%s%s][O%d %s]", event.Priority(), event.Status, event.Endpoint, event.Note(), event.Func(), event.Metric(), utils.SortedTags(event.PushedTags), utils.ReadableFloat(event.LeftValue), event.Operator(), utils.ReadableFloat(event.RightValue()), event.CurrentStep, event.FormattedTime(), ) }
func BuildCommonMailContent(event *model.Event) string { link := g.Link(event) return fmt.Sprintf( "%s\r\nP%d\r\nEndpoint:%s\r\nMetric:%s\r\nTags:%s\r\n%s: %s%s%s\r\nNote:%s\r\nMax:%d, Current:%d\r\nTimestamp:%s\r\n%s\r\n", event.Status, event.Priority(), event.Endpoint, event.Metric(), utils.SortedTags(event.PushedTags), event.Func(), utils.ReadableFloat(event.LeftValue), event.Operator(), utils.ReadableFloat(event.RightValue()), event.Note(), event.MaxStep(), event.CurrentStep, event.FormattedTime(), link, ) }
func (this *Event) String() string { return fmt.Sprintf( "<Endpoint:%s, Status:%s, Strategy:%v, Expression:%v, LeftValue:%s, CurrentStep:%d, PushedTags:%v, TS:%s>", this.Endpoint, this.Status, this.Strategy, this.Expression, utils.ReadableFloat(this.LeftValue), this.CurrentStep, this.PushedTags, this.FormattedTime(), ) }
func (this *Expression) String() string { return fmt.Sprintf( "<Id:%d, Metric:%s, Tags:%v, %s%s%s MaxStep:%d, P%d %s ActionId:%d>", this.Id, this.Metric, this.Tags, this.Func, this.Operator, utils.ReadableFloat(this.RightValue), this.MaxStep, this.Priority, this.Note, this.ActionId, ) }
func (this *Strategy) String() string { return fmt.Sprintf( "<Id:%d, Metric:%s, Tags:%v, %s%s%s MaxStep:%d, P%d, %s, %v>", this.Id, this.Metric, this.Tags, this.Func, this.Operator, utils.ReadableFloat(this.RightValue), this.MaxStep, this.Priority, this.Note, this.Tpl, ) }