mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
agents: create dedicated events for stats processing
This commit is contained in:
committed by
Ionut Boangiu
parent
3077544d62
commit
9833152e38
@@ -257,16 +257,21 @@ func processRequest(ctx *context.Context, reqProcessor *config.RequestProcessor,
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// Clone is needed to prevent data races if requests are sent
|
||||
// asynchronously.
|
||||
ev := cgrEv.Clone()
|
||||
|
||||
ev.Event[utils.ReplyState] = replyState
|
||||
ev.Event[utils.StartTime] = startTime
|
||||
ev.Event[utils.EndTime] = endTime
|
||||
ev.Event[utils.ProcessingTime] = endTime.Sub(startTime)
|
||||
ev.Event[utils.Source] = agentName
|
||||
ev.APIOpts[utils.MetaEventType] = utils.ProcessTime
|
||||
ev := &utils.CGREvent{
|
||||
Tenant: cgrEv.Tenant,
|
||||
ID: utils.GenUUID(),
|
||||
Time: utils.TimePointer(time.Now()),
|
||||
Event: map[string]any{
|
||||
utils.ReplyState: replyState,
|
||||
utils.StartTime: startTime,
|
||||
utils.EndTime: endTime,
|
||||
utils.ProcessingTime: endTime.Sub(startTime),
|
||||
utils.Source: agentName,
|
||||
},
|
||||
APIOpts: map[string]any{
|
||||
utils.MetaEventType: utils.ProcessTime,
|
||||
},
|
||||
}
|
||||
|
||||
if rawStatIDs != "" {
|
||||
statIDs := strings.Split(rawStatIDs, utils.ANDSep)
|
||||
|
||||
@@ -526,16 +526,21 @@ func (ra *RadiusAgent) processRequest(req *radigo.Packet, reqProcessor *config.R
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// Clone is needed to prevent data races if requests are sent
|
||||
// asynchronously.
|
||||
ev := cgrEv.Clone()
|
||||
|
||||
ev.Event[utils.ReplyState] = replyState
|
||||
ev.Event[utils.StartTime] = startTime
|
||||
ev.Event[utils.EndTime] = endTime
|
||||
ev.Event[utils.ProcessingTime] = endTime.Sub(startTime)
|
||||
ev.Event[utils.Source] = utils.RadiusAgent
|
||||
ev.APIOpts[utils.MetaEventType] = utils.ProcessTime
|
||||
ev := &utils.CGREvent{
|
||||
Tenant: cgrEv.Tenant,
|
||||
ID: utils.GenUUID(),
|
||||
Time: utils.TimePointer(time.Now()),
|
||||
Event: map[string]any{
|
||||
utils.ReplyState: replyState,
|
||||
utils.StartTime: startTime,
|
||||
utils.EndTime: endTime,
|
||||
utils.ProcessingTime: endTime.Sub(startTime),
|
||||
utils.Source: utils.RadiusAgent,
|
||||
},
|
||||
APIOpts: map[string]any{
|
||||
utils.MetaEventType: utils.ProcessTime,
|
||||
},
|
||||
}
|
||||
|
||||
if rawStatIDs != "" {
|
||||
statIDs := strings.Split(rawStatIDs, utils.ANDSep)
|
||||
|
||||
@@ -493,16 +493,21 @@ func (sa *SIPAgent) processRequest(reqProcessor *config.RequestProcessor,
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// Clone is needed to prevent data races if requests are sent
|
||||
// asynchronously.
|
||||
ev := cgrEv.Clone()
|
||||
|
||||
ev.Event[utils.ReplyState] = replyState
|
||||
ev.Event[utils.StartTime] = startTime
|
||||
ev.Event[utils.EndTime] = endTime
|
||||
ev.Event[utils.ProcessingTime] = endTime.Sub(startTime)
|
||||
ev.Event[utils.Source] = utils.SIPAgent
|
||||
ev.APIOpts[utils.MetaEventType] = utils.ProcessTime
|
||||
ev := &utils.CGREvent{
|
||||
Tenant: cgrEv.Tenant,
|
||||
ID: utils.GenUUID(),
|
||||
Time: utils.TimePointer(time.Now()),
|
||||
Event: map[string]any{
|
||||
utils.ReplyState: replyState,
|
||||
utils.StartTime: startTime,
|
||||
utils.EndTime: endTime,
|
||||
utils.ProcessingTime: endTime.Sub(startTime),
|
||||
utils.Source: utils.SIPAgent,
|
||||
},
|
||||
APIOpts: map[string]any{
|
||||
utils.MetaEventType: utils.ProcessTime,
|
||||
},
|
||||
}
|
||||
|
||||
if rawStatIDs != "" {
|
||||
statIDs := strings.Split(rawStatIDs, utils.ANDSep)
|
||||
|
||||
25
ers/ers.go
25
ers/ers.go
@@ -250,16 +250,21 @@ func (erS *ERService) processEvent(cgrEv *utils.CGREvent,
|
||||
return
|
||||
}
|
||||
|
||||
// Clone is needed to prevent data races if requests are sent
|
||||
// asynchronously.
|
||||
ev := cgrEv.Clone()
|
||||
|
||||
ev.Event[utils.ReplyState] = replyState
|
||||
ev.Event[utils.StartTime] = startTime
|
||||
ev.Event[utils.EndTime] = endTime
|
||||
ev.Event[utils.ProcessingTime] = endTime.Sub(startTime)
|
||||
ev.Event[utils.Source] = utils.ERs
|
||||
ev.APIOpts[utils.MetaEventType] = utils.ProcessTime
|
||||
ev := &utils.CGREvent{
|
||||
Tenant: cgrEv.Tenant,
|
||||
ID: utils.GenUUID(),
|
||||
Time: utils.TimePointer(time.Now()),
|
||||
Event: map[string]any{
|
||||
utils.ReplyState: replyState,
|
||||
utils.StartTime: startTime,
|
||||
utils.EndTime: endTime,
|
||||
utils.ProcessingTime: endTime.Sub(startTime),
|
||||
utils.Source: utils.ERs,
|
||||
},
|
||||
APIOpts: map[string]any{
|
||||
utils.MetaEventType: utils.ProcessTime,
|
||||
},
|
||||
}
|
||||
|
||||
if rawStatIDs != "" {
|
||||
statIDs := strings.Split(rawStatIDs, utils.ANDSep)
|
||||
|
||||
Reference in New Issue
Block a user