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

Tracer not publishing all Probe in a round when the round ends without finding the target #103

Closed
fujiapple852 opened this issue May 3, 2022 · 1 comment · Fixed by #104
Labels
bug Something isn't working
Milestone

Comments

@fujiapple852
Copy link
Owner

When the round ends due to timeout on max_round_duration without finding the target, only the Probe which responded are published and so the statistics for all other Probe in the round are not updated. Notably, this includes the sent count and so this leads to a "tearing" effect whereby the sent count is not consistent for all hops in the trace.

@fujiapple852 fujiapple852 added the bug Something isn't working label May 3, 2022
@fujiapple852 fujiapple852 added this to the 0.3.0 milestone May 3, 2022
@fujiapple852 fujiapple852 self-assigned this May 3, 2022
@fujiapple852
Copy link
Owner Author

The fix is to separate out the size of a round (the number of probes sent in the round, for which statistics should always be updated) from the maximum ttl number of the probe which responded in this round (which can be used to decide how many probes to display).

The "tearing" effect is still possible, though unlikely; if the number of probes actually sent in a round is less than the maximum ttl number of a probe which responded in a previous round.

For example, in round 1 we sent 10 probes (ttl 1..10) and received a response for, at least, the probe with ttl=10. In round 2 we only manage to send 9 probes (ttl 1..9) before the round expires and so only probes with ttl 1..9 are published in round 2 and therefore the stats for ttl=10 will be behind the rest.

The latter problem could potentially be fixed by adjusting the round end logic to ensure round N+1 sends at last as many probes as round N.

@fujiapple852 fujiapple852 removed their assignment May 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant