Describe the suggested improvement
Is your improvement related to a problem? Please describe.
Currently, when a message comes into ServiceControl from either:
- Heartbeats Plugin
- Audit instance
- Monitoring instance
the endpoint name associated with the message is saved against the EndpointDocuments collection. Likewise, if the transport/broker is queryable, every queue found as part of the throughput hosted service is saved against the EndpointDocuments collection. When any of these actions occur, a new timeseries record is written.
When the throughput report is generated, the entire list of endpoints in the EndpointDocuments collection is read, along with the last 14 months of timeseries data for that endpoint. Even if the resulting timeseries data is empty, the endpoint is still written to the throughput report. This means that if an endpoint is decommissioned, and the associated queues are removed or no longer process any messages, the queue will still appear in the throughput report indefinitely.
Describe the suggested solution
Only active queues should be written to the throughput report. If no activity has been seen related to a queue for the entire reporting period then it should be removed from the EndpointDocuments collection
Describe alternatives you've considered
Additional Context
The the Licensing Component was introduced in v5.4.0)
Describe the suggested improvement
Is your improvement related to a problem? Please describe.
Currently, when a message comes into ServiceControl from either:
the endpoint name associated with the message is saved against the EndpointDocuments collection. Likewise, if the transport/broker is queryable, every queue found as part of the throughput hosted service is saved against the EndpointDocuments collection. When any of these actions occur, a new timeseries record is written.
When the throughput report is generated, the entire list of endpoints in the EndpointDocuments collection is read, along with the last 14 months of timeseries data for that endpoint. Even if the resulting timeseries data is empty, the endpoint is still written to the throughput report. This means that if an endpoint is decommissioned, and the associated queues are removed or no longer process any messages, the queue will still appear in the throughput report indefinitely.
Describe the suggested solution
Only active queues should be written to the throughput report. If no activity has been seen related to a queue for the entire reporting period then it should be removed from the EndpointDocuments collection
Describe alternatives you've considered
Additional Context
The the Licensing Component was introduced in v5.4.0)