Handle ConcurrentInvocations in User Event Service
- Dominant language
- Scala
- Stars
- 6.8k
- Forks
- 1.2k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 2
Description
User Event service currently handles the `ConcurrentRateLimit` and `TimedRateLimit` as simple counter but does not handle the `ConcurrentInvocations` which is more like a Gauge
We should add support for handling `ConcurrentInvocations` also. Each time any invocation starts an event is emitted which captures the current concurrent invocation count for namespace of the initiating user
```json
{
"body": {
"metricName": "ConcurrentInvocations",
"metricValue": 1
},
"eventType": "Metric",
"namespace": "guest",
"source": "controllerstandalone",
"subject": "guest",
"timestamp": 1571631891304,
"userId": "23bc46b1-71f6-4ed5-8c54-816aa4f8c502"
}
```
This count reflects the current concurrent invocation count for that controller. So to reflect the cluster wide concurrent activation count for given action we would need to maintain per cluster count and sum it up and then reflect that in metrics as a gauge
Contributor guide
Assessment
This issue has not been assessed yet.