[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15984488#comment-15984488
 ] 

Oleg Kalnichevski commented on HTTPCLIENT-1842:
-----------------------------------------------

bq. Will be this method .addExecInterceptorBefore added also to the AsyncClient?

Yes, it will be. I am working on it right now.

bq. I'm also wondering whether you would be interested in providing OpenTracing 
support build in into the client?

I must confess I have only a very vague idea what OpenTracing is. We do accept 
contributions like that but in the past we often ended up with large chunks of 
code in our code base that present project committers are either unable or not 
inclined to support and work on. How willing will you (or your colleagues) be 
to stick around to support that code and potentially get involved in other 
aspects of the project?

Oleg

> OpenTracing integration
> -----------------------
>
>                 Key: HTTPCLIENT-1842
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1842
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: HttpClient (async), HttpClient (classic)
>            Reporter: Pavol Loffay
>
> Hello, 
> I am working on OpenTracing [1] integraton for {{HttpClient}} client. My 
> current POC is in [2]. I have a couple of questions and suggestions for next 
> version to make the tracing integration better and cleaner.
> First I was using interceptors but response interceptor is not invoked on 
> exceptions e.g. {{UnknownHostException}}. 
> Now I decided to extend {{HttpClientBuilder}} and override 
> {{decorateProtocolExec}} but the problem is that {{RedirectExec}} is added 
> aftewards so tracing {{ClientExecChain}} gets called multiple times and 
> should be only one.  Note that tracing {{ClientExecChain}} requires access to 
> redirectStrategy/redirectCount/redirectDisabled to create only one span for 
> the whole request (this makes the integration quite nasty).
> In general there are these requirements to make the integration work properly:
> 1. for the whole invocation call request and response interceptor only once, 
> or be able to add tracing {{ClientExecChain}} as the last one in builder.
> 2. be able to access thread local variable from an 
> interceptor/ClientExecChain to connect client span with a server span
> 3. be able to intercept thrown exceptios e.g. {{UnknownHostException}}
> [1]: http://opentracing.io/
> [2]: https://github.com/pavolloffay/java-apache-httpcomponents



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to