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

Stats API Requirements #45

Closed
shampson opened this issue Jul 31, 2019 · 6 comments
Closed

Stats API Requirements #45

shampson opened this issue Jul 31, 2019 · 6 comments

Comments

@shampson
Copy link

While discussing the stats PR, we began to discuss requirements for a stats API. I'd like to continue and document those requirements here so we can make sure we design the proper stats API.

A comment from @vr000m:

At the high level,

  1. I do not want to traverse getStats to figure out the relationship, if that was explicit somewhere then the getStats could be called on the individual objects. That would avoid get back a mega object.
  2. want to getStats through the lifecycle of the object.

I think one thing Varun called out is that he doesn't want stats appearing or disappearing without a stats API being aware. A stats library needs to be aware of all stats. For example a stream being created/destroyed. A few quick ideas doing this for QUIC stream stats (or any other lower level object):

  • exposing the stream stats in higher level WebTransport object (similar to ORTC model)
  • events new stats with an object creation
  • stats returned by WebTransport object includes current streams so you can pull stats from them as well
@wilaw wilaw added the Discuss at next meeting Flags an issue to be discussed at the next WG working label Feb 17, 2021
@jan-ivar
Copy link
Member

Step 3 in getStats still says "If the URL scheme associated with transport is not quic-transport, reject p with NotSupportedError and return p." - even though we don't support quic-transport anymore, which means this method always rejects now.

So we need to discuss what to do with this API.

@jan-ivar
Copy link
Member

So we need to discuss what to do with this API.

To be discussed in #206.

@jan-ivar jan-ivar removed the Discuss at next meeting Flags an issue to be discussed at the next WG working label Feb 24, 2021
@jan-ivar
Copy link
Member

Reopening, to discuss the stats API shape separately.

@jan-ivar jan-ivar reopened this Feb 24, 2021
@jan-ivar jan-ivar added the Discuss at next meeting Flags an issue to be discussed at the next WG working label Feb 24, 2021
@vr000m
Copy link

vr000m commented Mar 18, 2021

What is the summary of discussion so far? is there a link to an email archive or PR?

@wilaw
Copy link
Contributor

wilaw commented Apr 13, 2021

@vr000m - Meeting notes are stored on the wiki at - https://www.w3.org/wiki/WebTransport . Click to the particular meeting you are interested in. We have full recordings and transcripts linked with each meeting archive.

@wilaw wilaw removed the Discuss at next meeting Flags an issue to be discussed at the next WG working label Apr 21, 2021
@yutakahirano yutakahirano added this to the Uncategorized Future milestone Jun 30, 2021
@jan-ivar jan-ivar added the TPAC label Sep 28, 2021
@jan-ivar
Copy link
Member

I think we have general idea of shape now, with connection-level and aggregate stream stats off of wt.getStats() and we're discussing per-stream-level stats off of readable.getStats() and writable.getStats() that will mostly contain byte progress counters in #372.

Neither of those approaches should be difficult to traverse, nor should stats disappear (one caveat: the per-stream stats are meant for long-lived streams, for short-lived ones we have aggregate stats at the connection level).

We have 5 other issues on stats so I think we can close this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants