Skip to content
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

Brave 5 wish list #444

Open
codefromthecrypt opened this issue Jun 15, 2017 · 9 comments
Open

Brave 5 wish list #444

codefromthecrypt opened this issue Jun 15, 2017 · 9 comments

Comments

@codefromthecrypt
Copy link
Member

This is a wish list about features that would be nice to have in Brave 5, even if it implies some re-jigging.

Here's a start.

Up till now, spans are assumed to have a strict correlation between noop and sampled state. This removes some overhead of recording when a span is not sampled. The limitation of this is that it removes the ability to accurately derive data from operations being traced, such as latency histograms. We can consider teasing apart these things, similar to how OpenCensus do. By separating out what's recorded from what's sent to Zipkin, we can enable a monitoring, debug and pruning use case not currently possible. cc @felixbarny @SirTyro

@codefromthecrypt
Copy link
Member Author

PS don't get scared, I'm not ready to work on Brave 5, and Brave 4 is a long term release.

@ghost
Copy link

ghost commented Jun 25, 2017

When zipkin server is down, retry in a customized time (interval and total), but not just drop spans.

Or better, when zipkin server is down, storing spans locally, and try to connect to the zipkin server according to an interval strategy.

@codefromthecrypt
Copy link
Member Author

codefromthecrypt commented Jun 25, 2017 via email

@remmeier
Copy link

remmeier commented Nov 2, 2017

native OpenTracing support would be interesting to have as there seem to be a bit of momentum with e.g. the micro-profile and with that potentially the future EE4J spec. Currently brave does two things:

  • providing a Zipkin protocol implementation
  • providing a rich set of instrumentations for various libraries with Zipkin

Maybe the later could make use of the OpenTracing API. And ZipKin would be pluggable. It could help to largen the potential user base of Brave by working along with all OpenTracing compatible implementations and this way may also bring ZipKin closer to various people as a potential second step.

this would be a step further than what https://github.com/openzipkin-contrib/brave-opentracing currently provides. An alternative solution would be to do the reverse of https://github.com/openzipkin-contrib/brave-opentracing, meaning to forward all calls to the Brave/Zipkin API to the OpenTracing API. This might conceptually be a bit uglier, but would limit the impact on the exiting implementation as instrumentations could continue with the use of the Brave/Zipkin API.

@felixbarny
Copy link

🍿

@codefromthecrypt
Copy link
Member Author

codefromthecrypt commented Nov 2, 2017 via email

@remmeier
Copy link

remmeier commented Nov 2, 2017

  • the core of brave could be independent
  • instrumentations based on the core
  • zipkin integration into core
  • opentracing integration into core

if there an interest in supporting something like opentracing.

@codefromthecrypt
Copy link
Member Author

I got feedback I was too harsh by a friend, and that's true. @remmeier sorry, it is just a loaded topic.

opentracing adds a dimension of compatibility expensive to support and apis that are less sound imho than opencensus (an alternative which already supports zipkin). Your request is valid, but I wouldn't hold my breath as doing a complete change to break the library by making it opentracing isn't likely to be picked up by anyone.

@remmeier
Copy link

remmeier commented Nov 8, 2017

no need to worry. It was not my intention to suggest to change something like this today or near future. Maybe or maybe not it can be a long term path (with opencensus, opentracing, both, or...) that could accounted for when doing small decisions in the future. Currently very happy with Brave 4. We had some difficulities customizing Brave 3, but everything looks great in Brave 4.

as a general background, we work with many projects and many different customers, having different infrastructures in place. So standards are kind of desirable from our side in thi setting to have something to hold on to. Currently we make use of brave in multiple ways. brave/zipkin as a recommended setup. But also plenty of brave with all its instrumentations, a customized slf4 reporter, log shipping/collection and analysis in something like elastic search.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants