Room stats API#138
Open
alan-george-lk wants to merge 8 commits into
Open
Conversation
stephen-derosa
approved these changes
May 26, 2026
| return connection_state_; | ||
| } | ||
|
|
||
| std::future<Result<SessionStats, GetSessionStatsError>> Room::getStats() const { |
Collaborator
There was a problem hiding this comment.
should we name getStatsAsync() so its clear this is async/matches the ffi call?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR exposes a
getStats()public API method toroom.hto match Rust.API design decisions
TL/DR: matches Rust SDK as 1:1 as possible.
I opted for the signature
getStats()to match Rust: https://github.com/livekit/rust-sdks/blob/1848e77a32ca2f302a58323a7a21858165d81aad/livekit/src/room/mod.rs#L831std::future->asyncequivalentResult->EngineResultequivalentThe struct
SessionStatsalso matches Rust: https://github.com/livekit/rust-sdks/blob/1848e77a32ca2f302a58323a7a21858165d81aad/livekit/src/rtc_engine/rtc_session.rs#L112Stores vectors of
publisher_statsandsubscriber_statsto match Rust.Error handling
Result<>design with the error code, as it adds 2 public types (struct/enum) and a whole header, for a code that doesn't actually exist other than in this SDKResult<SessionStats, std::string>which would pass along the error string on failure with no additional types beyond the actual data structTesting