- MetricsClient has the responsibility of maintaining and periodically flushing the queue of events. This should be a separate class/collection of classes that MetricsClient collaborates with (see https://gerrit.wikimedia.org/r/c/mediawiki/libs/metrics-platform/+/820530)
- Events should be sent in batches. EventGate is capable of accepting multiple events in one request
@Gehel's patch is a great start! It needs to be rebased and more tests need to be added, and then event batching needs to be implemented.