-
Notifications
You must be signed in to change notification settings - Fork 102
Client report #385
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: main
Are you sure you want to change the base?
Client report #385
Changes from all commits
8982b9a
257358e
1e14eca
f7d4a52
d87229f
a472ee6
c904440
c142198
3dc0c00
d16646d
bf57eca
0fce8fa
3c0c83e
c88eb0b
da97b3b
26d8f19
862d71a
6d7c692
6aeaacd
5606a74
f7776b8
8b70793
704dc4f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Large diffs are not rendered by default.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -273,6 +273,7 @@ message ClientInfo { | |
string address = 9; | ||
// wifi, wired, cellular, vpn, empty if not known | ||
string network = 10; | ||
int32 concurrency = 11; | ||
} | ||
|
||
// server provided client configuration | ||
|
@@ -391,8 +392,118 @@ enum ReconnectReason { | |
RR_SWITCH_CANDIDATE = 4; | ||
} | ||
|
||
enum SubscriptionStatus { | ||
Unsubscribed = 0; | ||
Desired = 1; | ||
Subscribed = 2; | ||
} | ||
|
||
enum SubscriptionError { | ||
SE_UNKNOWN = 0; | ||
SE_CODEC_UNSUPPORTED = 1; | ||
SE_TRACK_NOTFOUND = 2; | ||
} | ||
|
||
message ClientReport { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. perhaps we should move this outside of livekit_models? since it's used by a very specific request.. maybe into RoomService? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. will move it to RoomService as a last step, so that keeping track of the discussions is easier until then |
||
|
||
message RTCSenderStats { | ||
davidzhao marked this conversation as resolved.
Show resolved
Hide resolved
|
||
// ice-candidate-pair | ||
uint32 available_outgoing_bitrate = 1; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this seems like at the transport layer, and doesn't fit too well within each sender There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. makes sense, is your suggestion to leave it out entirely or to move it to a higher level, that's not sender related? |
||
// local-candidate | ||
string network_type = 2; | ||
// outbound-rtp | ||
uint32 nack_count = 3; | ||
uint64 timestamp = 4; | ||
string stream_id = 5; | ||
} | ||
|
||
message RTCAudioSenderStats { | ||
RTCSenderStats common_stats = 1; | ||
// media-source | ||
double total_audio_energy = 2; | ||
double total_samples_duration = 3; | ||
} | ||
|
||
message RTCVideoSenderStats { | ||
RTCSenderStats common_stats = 1; | ||
// outbound-rtp | ||
map<string, uint32> quality_limitation_durations = 2; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure if webrtc-internals tracks this differently between layers. for some reasons I remember the duration being the same across layers. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it's per sender, which should be equivalent to per track. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Regarding the type, it's a map that includes |
||
string quality_limitation_reason = 3; | ||
uint32 quality_limitation_resolution_changes = 4; | ||
string scalability_mode = 5; | ||
uint32 frames_per_second = 6; | ||
uint64 frames_sent = 7; | ||
uint32 huge_frames_sent = 8; | ||
string encoder_implementation = 9; | ||
bool power_efficient_encoder = 10; | ||
} | ||
|
||
message RTCReceiverStats { | ||
// inbound-rtp | ||
double last_packet_received_timestamp = 1; | ||
double jitter = 2; | ||
int64 packets_lost = 3; | ||
uint64 timestamp = 4; | ||
string stream_id = 5; | ||
} | ||
|
||
message RTCVideoReceiverStats { | ||
RTCReceiverStats common_stats = 1; | ||
|
||
// inbound-rtp | ||
uint32 pli_count = 2; | ||
uint32 sli_count = 3; | ||
uint32 frames_decoded = 4; | ||
uint32 frames_dropped = 5; | ||
double total_decode_time = 6; | ||
uint32 pause_count = 7; | ||
double total_pauses_duration = 8; | ||
uint32 freeze_count = 9; | ||
double total_freezes_duration = 10; | ||
uint32 fir_count = 11; | ||
string decoder_implementation = 12; | ||
bool power_efficient_decoder = 13; | ||
} | ||
|
||
message RTCAudioReceiverStats { | ||
RTCReceiverStats common_stats = 1; | ||
uint64 total_samples_received = 2; | ||
uint64 concealed_samples = 3; | ||
} | ||
|
||
message AudioPublicationReport { | ||
string sid = 1; | ||
RTCAudioSenderStats rtc_stats = 2; | ||
int32 ready_state = 3; | ||
bool muted = 4; | ||
} | ||
|
||
message VideoPublicationReport { | ||
string sid = 1; | ||
RTCVideoSenderStats rtc_stats = 2; | ||
int32 ready_state = 3; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. trying to understand these a bit:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
bool muted = 4; | ||
} | ||
|
||
message AudioSubscriptionReport { | ||
string sid = 1; | ||
RTCAudioReceiverStats rtc_stats = 2; | ||
int32 ready_state = 3; | ||
SubscriptionStatus subscription_status = 4; | ||
bool allowed = 5; | ||
} | ||
|
||
message VideoSubscriptionReport { | ||
string sid = 1; | ||
RTCVideoReceiverStats rtc_stats = 2; | ||
int32 ready_state = 3; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same question as above |
||
SubscriptionStatus subscription_status = 4; | ||
bool allowed = 5; | ||
} | ||
|
||
repeated AudioPublicationReport audioPublications = 1; | ||
repeated VideoPublicationReport videoPublications = 2; | ||
repeated AudioSubscriptionReport audioSubscriptions = 3; | ||
repeated VideoSubscriptionReport videoSubscriptions = 4; | ||
|
||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Uh oh!
There was an error while loading. Please reload this page.