-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wire up zipkin stats receivers #4
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you should double check how these stats actually get exported. I'd expect the stats scope to be ("telemeters", configId), but we may need to fix that on the linkerd site if that's not done properly today.
KafkaZipkinTracer.create(config, NullStatsReceiver) | ||
def mk(params: Stack.Params): KafkaTelemeter = { | ||
val param.Stats(stats) = params[param.Stats] | ||
val tracer = KafkaZipkinTracer.create(config, stats.scope("zipkin.kafka")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i know we're nowhere near consistent about this, but let's call this "io.zipkin.kafka" to match the plugin name or even configID / topic
if we think it's reasonable to run multiple telemeters to different topics
HttpZipkinTracer.create(config, NullStatsReceiver) | ||
def mk(params: Stack.Params): HttpTelemeter = { | ||
val param.Stats(stats) = params[param.Stats] | ||
val tracer = HttpZipkinTracer.create(config, stats.scope("zipkin.http")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
similarly
Ok, I updated the stats prefixes, and that actually helped to determine that this branch is not working correctly. With the http tracer configured, here are all of the zipkin stats that show up in metrics.json: https://gist.github.com/klingerf/b63b33ad68dfe65278091abcb3f13e8b. The only new stat in that payload that appears as a result of this change is:
Which is clearly incorrect. The rest of the stats in the payload appear to be happening automatically, and are not tied to the stats receiver that's used to initialize the tracers from this repo. As far as I understand it, this is where all of these stats appear to be coming from:
It would be great to disable autoloading for all of these tracers that are unused. And additionally, it would be good to fix the stats receiver issue in zipkin-finagle that's causing the malformed stats. In the meantime though, I don't think it makes sense to proceed with this change since we're already getting stats from the zipkin-finagle http tracer, and the scoping on those stats is not configurable from this repo, as far as I can tell. |
@klingerf should we close this PR then? |
@adleong Yeah, I think it makes sense to close this. Thanks for checking. |
Use the stats receiver provided by the stack when initializing the http and kafka tracers. Fixes #3.