-
Notifications
You must be signed in to change notification settings - Fork 941
Adding qlog support for lost packets and bytes through ex_data #2353
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
base: master
Are you sure you want to change the base?
Conversation
| serde_json::json!(val), | ||
| ); | ||
| ex_data.insert( | ||
| "cf_lost_packets_delta".to_string(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we consider only including the deltas for now?
I guess both provide value, no objection to including both.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, deltas provide much more value right now. At the risk of overpopulating the QLOG i am inclined towards adding both now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider representing these as a structure defined in quiche rather than two independent fields e.g.
struct CfLostPackets {
total: u64,
delta: Option<u64>,
}
(activitity for the reader, to apply the needed serde decorations)
More formally defining our custom event object model will help maintenance in the longer run.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the idea behind your suggestion is that we could do something like:
struct TotalAndDelta {
total: u64,
delta: u64,
}
ex_data.insert(
"cf_lost_packets".to_string(),
serde_json::json!(TotalAndDelta {total, delta}),
);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd take it a bit further and do something like I proposed in #2355. That way, you'd use CustomCfQlogField to wrap any/all of these fields, with the value being generic but needing to implement a Serialize trait
No description provided.