-
Notifications
You must be signed in to change notification settings - Fork 2
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
header/timeout has none or little sense #15
Comments
I think the most important timeout is the user timeout - i.e. the amount of time since the client starts processing a query, until the time it receives the answer. But I agree other timeouts might be useful as well. DNS Shotgun also uses:
Please note that the handshake/idle timeout are parameters which might differ for each Putting these into a header might be too limiting. Perhaps the header could contain definitions of various timeout configurations which could then be referenced in the |
In practice, any way we measure any kind of latency, we can equivalently impose timeouts (i.e. ceiling of latency after which there will be any kind of failure). What i think we could do, is to remove this header/timeout for now, first design a robust system of measured latencies, and only after that, think of a system for declaring timeouts. Anyone better idea? |
Generally I agree but I don't have a good idea how to express it without endless repetition. My view: The "timeout" value is mostly used for interpreting the data. If I have data like this:
Timeouts are can of worms because it's also debatable when you start the timer etc. E.g. if load simulator like Shotgun generates "traffic like from real users" it probably wants to measure end-to-end latency for individual queries, i.e. start the timer when "user wanted to send the query" and stop it only after receiving a response. In this case the latency/timeout would include potential TCP/TLS/DoH session setup etc. Another tool might want to measure DNS request/response latency and exclude connection setup from that. 🤯 |
It shouldn't be, at least it's not the case in shotgun - timeout-ed queries should be accounted for by being present in the very last latency bucket.
Agreed. It's better to have no way of representing timeouts for now than to have a vague unclear value in a place where it might not belong.
Right, the responses in latency buckets might mean different things for different tools. I can't think of a way around that other than to have some optional metadata field in the header which would specify what the query latencies actually represent. |
what does this actually mean? Unless UDP, there are various timeouts that can be used and they usually differ, e.g. handshake timeout, IO timeout, idle timeout....
I suggest to either remove this, or to improve this to accomodate various timeout information.
The text was updated successfully, but these errors were encountered: