add example implementation of metric sink#81
Draft
alnlarsen wants to merge 1 commit into
Draft
Conversation
This implementation contains two variants of metric sinks: 1. A MetricSinkSettings system where sinks are configured separately. This should be a simplification for e.g. the Nats sink because we can configure the nats sink in the default session, and just leave it disabled in other sessions. Then there should be no need for the UI to activate it. This also gives sinks the opportunity to provide config options. 2. A system that automatically instantiates all IMetricSinks at startup. This is maybe a bit simpler (all sinks are always available), but is a lot less flexible.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This implementation contains two variants of metric sinks:
Todo:
With this implementation, we have both an
IMetricListenerand anIMetricSink. We need to either consolidate this, or clearly delineate them.A couple of options:
In either case, I think we can improve overall performance of the system quite a bit by making MetricManager consider the Sink Manager as a special metric listener which is subscribed to metrics configured on the bench.
But this raises the question, does anyone need the flexibility the system was originally designed for? Or can we just say that everyone should use the MetricsSettings / Sink system, and completely scrap most of the MetricManager interfaces?