On Wed, 2020-07-01 at 19:03 +0200, Philippe Mouawad wrote:
> Hello Oleg,
> Sorry for late reply, this mail was in my drafts, while I thought I
> had
> sent it.
> 
> *Thank you for your detailed answers and rapid feedback.*
> All this helps a lot !
> 
> Regarding HttpConnectionMetrics, since we need metrics per request
> and not
> per connection, my understanding is that we would need a reset
> method, do I
> understand well ?
> Regards
> Philippe

Hi Philippe

I think what you need to do is to copy values from
HttpConnectionMetrics and do a simple calculation to determine the
number of bytes sent and received by the current message exchange.

Oleg

> 
> 
> On Thu, Jun 11, 2020 at 12:35 PM Oleg Kalnichevski <[email protected]>
> wrote:
> 
> > On Wed, 2020-06-10 at 19:11 +0200, Philippe Mouawad wrote:
> > > Hello,
> > > I am looking into migrating Apache JMeter project from HC4 to HC5
> > > to
> > > benefit from the new features for Classic  HttpClient like the
> > > new
> > > lax
> > > connection pool and performance improvements.
> > > In the future we would hopefully switch to Async.
> > > 
> > > First thanks for this documentation, very useful ! :
> > > 
> > 
> > 
https://ok2c.github.io/httpclient-migration-guide/migration-to-classic.html
> > > 
> > > Few questions:
> > > 
> > >    1. I don't see an equivalent of
> > > RequestConfig.Builder#setLocalAddress ?
> > >    How do we get this feature ?
> > 
> >  RequestConfig.Builder#setLocalAddress was a mistake. This
> > parameter
> > has nothing to do with request execution.
> > 
> > Please use custom HttpRoutePlanner instead.
> > 
> > 
> > >    2. Is there an equivalent of LaxRedirectStrategy?  or
> > >    DefaultRedirectStrategy is now the equivalent which seems to
> > > be
> > > the case ?
> > 
> > DefaultRedirectStrategy should now cover all common cases. Lax
> > strategy
> > implementation is now superfluous.
> > 
> > 
> > >    3.
> > > 
> > >    PoolingHttpClientConnectionManager does not expose anymore the
> > >    HttpClientConnectionOperator, it's a protected constructor. In
> > > JMeter we
> > >    use this to compute connect time. It looks like we would need
> > > to
> > > extend
> > >    PoolingHttpClientConnectionManager, is there another better
> > > way to
> > > keep
> > >    this ?
> > 
> > 
> > No, this is the intended way.
> > 
> > 
> > >    4.
> > > 
> > >    Regarding bandwidth measurement per request, we used this
> > > approach
> > > based
> > >    on your SO answer (
> > > 
> > > 
> > 
> > 
https://stackoverflow.com/questions/26166469/measure-bandwidth-usage-with-apache-httpcomponents-httpclient
> > >    ):
> > > 
> > > 
> > >    -
> > > 
> > > 
> > 
> > 
https://github.com/apache/jmeter/blob/master/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java#L448
> > >       - Is it still ok using
> > > 
> > >       preProcess/postProcess by redefining them in an extension
> > > of
> > >       HttpRequestExecutor and access endpointdetails through:
> > >       -
> > > 
> > >       HttpCoreContext.*adapt*(context).getEndpointDetails();
> > > 
> > >       But I don't see any more reset(), so how should we proceed
> > > ?
> > > 
> > > 
> > 
> > There is no #reset method. We could add but I am not sure if you
> > really
> > need it at all. If you need the total bytes sent / received and the
> > total number of requests / responses those details are provided by
> > HttpConnectionMetrics interface.
> > 
> > Hope this helps
> > 
> > Oleg
> > 
> > 
> > 
> > -----------------------------------------------------------------
> > ----
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: 
> > [email protected]
> > 
> > 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to