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 counters that support deployment of L4S #792

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft

Conversation

alvestrand
Copy link
Contributor

@alvestrand alvestrand commented Jan 16, 2025

These counters also depend on RFC8888 being deployed.

An explainer for the design is included.

Fixes #793


Preview | Diff

These counters also depend on RFC8888 being deployed.
@henbos
Copy link
Collaborator

henbos commented Jan 17, 2025

Interesting stuff

This is the explainer for the counters proposed in the PR.
@jan-ivar
Copy link
Member

@jesup any concerns with this?

* Number of packets received with ECT(1) marking
* Number of packets received with CE marking
* Number of packets reported as lost in RFC8888 reports
* Number of packets reported as lost in one RFC8888 report but later reported as arrived
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another counter useful would be RFC 8888 feedback send interval. Cumulative RFC 8888 feedback sent and Cumulative RFC feedback interval. Avg interval could be computed using those 2 stats.

@vr000m
Copy link
Contributor

vr000m commented Feb 8, 2025

I dont think there is any overlap with the other FEC stats, since we did not have loss recovery stats before.

Re: RTCP interval, is the implementation of RFC8888 going to be compound packets or non-compound? former means we can reuse RTCP intervals for calculating the reporting interval.

@alvestrand
Copy link
Contributor Author

I think just counting the number of 8888 reports sent would be a better stat than the interval; the average interval can be computed from the increase in the count between two measurements.
We've discussed tweaks like sending immediate reports on CE feedback rather than waiting for the regular cadence; this might be required to satisfy L4S feedback loop speed requirements. If we do that, averages would be misleading.

Co-authored-by: Dominique Hazael-Massieux <[email protected]>
but a later report for the same packet has the R bit set to 1.
Only reported if support for the "ccfb" feedback mechanism has been negotiated.
</p>
</dd>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we change the name from *ButRecovered to *ButReceivedLater because these packets were perhaps received late not recovered by retx or fec.

<p>
Total number of RTP packets for which an [[RFC8888]] section 3.1 report has been sent with a zero R bit.
Only reported if support for the "ccfb" feedback mechanism has been negotiated.
</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we soften the metric from *AsLost to *NotReceived because R={0,1} can occur due to re-ordering. fractionLost and other packetLost metrics already capture the RTP/RTCP metrics.

@alvestrand
Copy link
Contributor Author

Will be presented in the March 25 WEBRTC meeting.

@jan-ivar jan-ivar marked this pull request as draft March 6, 2025 15:27
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

Successfully merging this pull request may close these issues.

Need support for statistics for L4S
6 participants