Hi Willy,

Le 16/04/2020 17:00, « Willy Tarreau » <w...@1wt.eu> a écrit :

    I'm a bit confused by how it can be efficiently used. Because it still
    includes the client-side handshake which only happens before the first
    request, so if you're interested in removing idle time from keep-alive
    requests, Th should already be null and this should equal Ta. And for
    the first request, indeed Ta doesn't include the handshake time, but
    having some requests include Th and others not seems confusing to me.
    I don't deny you can have a valid use case for it, but I'd like to
    understand it better because I'm pretty sure that if anyone asks me
    I'll be unable to suggest when to use it.

What I'm actually interested in is assessing real-world total time taken to 
serve a client request (as seen from the client such as reported by cURL or in 
a browser network performance tab, except for DNS lookup time) and making 
statistics based on that. It doesn't really matter if Th is null after first 
request as timing is still accurate because client didn't have to open a new 
connection.
I initially thought about simply summing Ta and Th in configuration file, but 
it took me a long time realizing this would be a good approach to end-to-end 
time measurement.
As I thought some people might be interested in it too, I'm suggesting this new 
timer. If there is too little interest, maybe a simple doc update could be 
sufficient?

    And maybe we'll even figure that another one is irrelevant and would
    need to be slightly modified.

    Last point (just a detail) I really hate having mixed case in a macro
    name and just for this I think we should name it differently once we
    figure the exact relevant use case.

It's indeed ugly, didn't come with a better idea and saw other usages with 
mixed case so I thought it was the way to go, but I'll be glad to rename it to 
a better suggestion :)

    Thanks!
    Willy

Cheers,

Damien

Reply via email to