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

Adds XRay specific brave codes #535

Closed
wants to merge 2 commits into from
Closed

Conversation

cemo
Copy link

@cemo cemo commented Nov 6, 2017

Don't merge please yet

@cemo
Copy link
Author

cemo commented Nov 6, 2017

@adriancole I am in the process of starting to support xray but instead of opening a new module I decided to open packages to support it. What do you think?

@devinsba
Copy link
Member

devinsba commented Nov 6, 2017

As a user of zipkin-aws and brave I would prefer this code live there so we can more closely follow AWS without creating noise in brave

@cemo
Copy link
Author

cemo commented Nov 6, 2017

The problem is that there is already propagation codes in Brave related to aws. Adding brave dependency to zipkin-aws may cause circular dependencies. see openzipkin/zipkin-aws#58 please

@codefromthecrypt
Copy link
Member

codefromthecrypt commented Nov 7, 2017 via email

@codefromthecrypt
Copy link
Member

codefromthecrypt commented Nov 7, 2017 via email

@devinsba
Copy link
Member

devinsba commented Nov 7, 2017 via email

@cemo
Copy link
Author

cemo commented Nov 7, 2017

So I will move these classes to X-Ray If everyone is agree?

Copy link
Member

@codefromthecrypt codefromthecrypt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

made some notes.. thanks for raising early as it is making things easier to see.

}

@Override
protected void doPreProcessTag(Connection connection, String sql, Span span) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you've probably seen the http client parser stuff in brave-instrumentation-http. This hints at a similar one brave-instrumentation-sql. If you are up to it, probably a good thing to make a module as most of these properties will be re-used across p6spy and the two mysql variants. This will reduce the amount of copy/pasting and also decouple dependencies when you go to make brave-parser-xray

import brave.http.HttpServerParser;
import zipkin.TraceKeys;

public class XRayHttpServerParser extends HttpServerParser {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we'll end up with something like XRayParser.httpServer() httpClient() sqlClient() etc. If we do our dependencies well, then we can have brave-parser-xray live in zipkin-aws and only depend on brave-instrumentation-http and a future brave-instrumentation-sql

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adriancole Can you expand this a little bid more? Since TracingStatementInterceptor are appended to sql connection strings, it made me confused.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean to create a generic parser for SQL databases, similar to what we have in brave-instrumentation-http. ex a new support module which would allow you to plug-in SqlClientParser like HttpClientParser. ex brave-instrumentation-sql

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you did this, it would decouple xray from each individual sql instrumentation library

@codefromthecrypt
Copy link
Member

closing because it is really old and we do have interest in the zipkin-aws repo

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

Successfully merging this pull request may close these issues.

3 participants