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

Add end-to-end latencies monitoring #37

Open
alexander-chervony opened this issue Oct 28, 2022 · 0 comments
Open

Add end-to-end latencies monitoring #37

alexander-chervony opened this issue Oct 28, 2022 · 0 comments

Comments

@alexander-chervony
Copy link
Contributor

alexander-chervony commented Oct 28, 2022

It is beneficial to measure OHTTP-added latency before applying the protocol on a big scale.

To reliably trace the time on each step of the OHTTP pipeline in ideal world it would be needed to use same Precision Time Protocol service on all the actors: client, relay, gateway, target server. But it's quite hard to achieve since all of this is on the different networks and require substantial efforts.

But similar metrics can be implemented WITHOUT PTP servers if to be done on RELAY side with just the execution time provided by the gateway. The idea is simple: on the relay in runtime measure total execution time and request start time. Gateway should add 3 extra custom headers into the response to the gateway (along with encapsulated response): 1 gateway code execution duration; 2. Roundtrip to Target server duration; 3. Target server execution time (returned by target server and not from all endpoints but the completeness here is not needed as these network latencies to one Target endpoint or another are pretty similar to the same server/AWS env).
Having all these values from Relay, Gateway and Target the RELAY can summarise them into quite a comprehensive metrics for added latencies on every step and the network latencies in-between.

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

No branches or pull requests

1 participant