mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-21 23:28:44 +05:00
StatS - index SQItems for ExpiryTime/QueueLength to happen
This commit is contained in:
@@ -156,7 +156,7 @@ func (sq *StatQueue) remExpired() {
|
||||
var expIdx *int // index of last item to be expired
|
||||
for i, item := range sq.SQItems {
|
||||
if item.ExpiryTime == nil {
|
||||
break
|
||||
break // items are ordered, so no need to look further
|
||||
}
|
||||
if item.ExpiryTime.After(time.Now()) {
|
||||
break
|
||||
@@ -184,6 +184,16 @@ func (sq *StatQueue) remOnQueueLength() {
|
||||
|
||||
// addStatEvent computes metrics for an event
|
||||
func (sq *StatQueue) addStatEvent(ev *utils.CGREvent) {
|
||||
var expTime *time.Time
|
||||
if sq.ttl != nil {
|
||||
expTime = utils.TimePointer(time.Now().Add(*sq.ttl))
|
||||
}
|
||||
sq.SQItems = append(sq.SQItems,
|
||||
struct {
|
||||
EventID string
|
||||
ExpiryTime *time.Time
|
||||
}{ev.TenantID(), expTime})
|
||||
|
||||
for metricID, metric := range sq.SQMetrics {
|
||||
if err := metric.AddEvent(ev); err != nil {
|
||||
utils.Logger.Warning(fmt.Sprintf("<StatQueue> metricID: %s, add eventID: %s, error: %s",
|
||||
|
||||
Reference in New Issue
Block a user