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

Getting aggregate quick stats at socket or poll group level #127

Open
andererandre opened this issue Aug 20, 2020 · 2 comments
Open

Getting aggregate quick stats at socket or poll group level #127

andererandre opened this issue Aug 20, 2020 · 2 comments
Assignees
Labels

Comments

@andererandre
Copy link

@andererandre andererandre commented Aug 20, 2020

We are trying to retrieve lifetime stats data for a connection, which does not seem to be possible right now:

  • GetQuickConnectionStatus does not include any lifetime stats
  • GetDetailedConnectionStatus includes lifetime stats, but only as a string

Ideally we would also like a way to retrieve stats for all connections (entire socket) instead of a single connection.

@fletcherdvalve
Copy link
Contributor

@fletcherdvalve fletcherdvalve commented Aug 27, 2020

Seem like there are two orthogonal issues.

The first is the ability to get more detailed stats in a format you can do something with, instead of just the human-readable one. I've been really hesitant to add a detailed connection stats struct, because that would commit me to supporting the ABI essentially in perpetuity. Especially for structs, this adds a lot of complexity and maintenance burden to support backwards compatible. HOWEVER: what would you think about a format that returned the info in JSON as a string? I know that's a little weird, but it means that the actual ABI interface never really changes, and I could add stuff to the record without breaking anything or adding a big maintenance burden. (On rare occasions I might need to remove or rename things.)

The second issue is the ability to get stats on a listen socket. Right now we don't aggregate any stats at that level, but I could add some it. That seems like a straightforward bit of work.

Let me know what you think on the struct/JSON thing.

@fletcherdvalve
Copy link
Contributor

@fletcherdvalve fletcherdvalve commented Aug 28, 2020

I broke off one part of this issue a separate issue #130.

As for reporting aggregate stats at a higher level than the connection. I need to give this some thought on exactly what the API will look like. For example, perhaps we should also add a feature to report stats aggregated at the poll group level? And we need to make sure that "spam" packets not associated with any connection are accounted for (maybe even tracked under a totally separate bucket).

Given the other things on the list that have more clear definitions and more value, it's likely that this will end up getting shoved down on the priority list, at least until I can design something unambiguous and simply to implement under the hood. Right now I don't have a clear picture of what it would be.

@andererandre andererandre changed the title Getting connection lifetime stats data (instead of string) and socket stats (instead of per connection) Getting aggregate quick stats at socket or poll group level Aug 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.