shishirng
1e156025b4
Store client meta on participant join ( #380 )
...
* Store client meta on participant join
capture region, time_to_connect, ip, node
Signed-off-by: shishir gowda <shishir@livekit.io >
* Update proto dep
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-27 15:44:03 -05:00
shishirng
26eea78b54
Telemetry connection scores ( #377 )
...
* octets - total bytes needs to be uint64
uint32 wraps at 4GB
Signed-off-by: shishir gowda <shishir@livekit.io >
* Cleanup stats handler to use connectionQuality stats
remove per packet rtcp handlers, buffer stats
* cleanup connection stats
* Update mediatrack to store rtcp stats in connection stats
* Update downstream handling of connection stats and telemetry
* Update telemetry tests
Signed-off-by: shishir gowda <shishir@livekit.io >
* Misc fixes
Signed-off-by: shishir gowda <shishir@livekit.io >
* Minor fix to avoid accessing buffer before its allocated
Signed-off-by: shishir gowda <shishir@livekit.io >
* start updateStats worker in AddReciever()
Signed-off-by: shishir gowda <shishir@livekit.io >
* Use previous score to calculate avg scores
* Restructure connectionStats
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-27 11:24:54 -05:00
shishirng
56ebd521f9
Telemetry capture published track updates ( #367 )
...
* Telemetry capture published track updates
Signed-off-by: shishir gowda <shishir@livekit.io >
* Updated OnVideoLayerUpdate to take slice of layers
Signed-off-by: shishir gowda <shishir@livekit.io >
* Update proto dep
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-24 14:38:04 -05:00
shishirng
829e183863
pass client info object in participant joined request ( #358 )
...
* pass client info object in participant joined request
Signed-off-by: shishir gowda <shishir@livekit.io >
* Update tests
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-20 15:29:34 -05:00
David Colburn
5bea9debb7
Code cleanup ( #353 )
2022-01-19 02:13:06 -08:00
shishirng
cf830191e3
Add client info to participant_joined event ( #337 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-13 17:45:21 -05:00
Raja Subramanian
995c1e8676
type aliases -> type definitions ( #312 )
...
* type alias -> type definition
* participantSid -> participantID in a comment
* Update protocol
2022-01-03 12:43:58 +05:30
Raja Subramanian
3a9009ae12
type definition of room name ( #311 )
...
* WIP commit
* update protocol
* Fixing a test and catching one place where casting was missed
* Fix one more spot which need conversion from livekit.RoomName -> string
* do not covert list
2022-01-02 16:49:16 +05:30
shishirng
007177d095
room_sid to room_id update in analytics proto ( #306 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2021-12-30 15:26:14 -05:00
Artur Shellunts
6f84b36ccf
Use RTT field in analytics stats ( #304 )
...
* Update protocol to v0.11.7
* Use RTT field in analytics stats
Instead of Delay
2021-12-30 13:13:40 +01:00
Raja Subramanian
07db1ba726
Some more files with types ( #302 )
2021-12-30 16:43:20 +05:30
Artur Shellunts
1b66fe1e23
Fix handling of PacketLost ( #296 )
...
They come accumulated already.
2021-12-30 11:06:00 +01:00
Artur Shellunts
1fa194297f
Implement calculating of RTT for down tracks ( #300 )
...
* Implement calculating of RTT for down tracks
* Fix code style issues
2021-12-29 19:58:41 +01:00
Artur Shellunts
b744a9c2ba
Implement event loop for telemetry service ( #297 )
...
It allows all actions/events to run in the same go routine.
Therefore no synchronization primitives are needed inside
telemetry service implementation.
2021-12-29 19:51:12 +01:00
Artur Shellunts
828d490755
Imlement analytics per track statistics ( #281 )
...
New tests for telemetry + implementation of per track statistics
2021-12-29 19:29:24 +01:00
Artur Shellunts
2209edce20
Make TelemetryService testable ( #276 )
...
* Make TelemetryService testable
Timer is extracted for better testability of telemetryservice.
Divided TelemetryService to internal part that:
- contains business logic
- does not contain timer
- and therefore testable
and external part that:
- does not contain business logic
- contains timer to send analytics every 10 seconds for all participants.
- does not need tests
* Add Test_AnalyticsSentWhenParticipantLeaves
* Fix test
2021-12-28 12:54:56 +01:00
David Zhao
87a799bae2
Include unique id and timestamp with webhook events ( #291 )
...
Resolves #230
2021-12-27 23:33:06 -08:00
shishirng
2e4ccd2577
Send client sdk type when participant joins in telemetry ( #275 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2021-12-21 15:35:27 -05:00
David Colburn
0b71a46239
missed some typos
2021-12-17 13:25:41 -08:00
David Colburn
faa870de3d
Move callbacks out of messageRouter ( #269 )
...
* move callbacks out of messageRouter
* OCD
* more OCD
* fix forwarder test
* even more OCD
* maximum OCD
* package name collision, copy lock by value
2021-12-17 13:19:23 -08:00
Artur Shellunts
0d229388ec
Telemetry test ( #258 )
...
* Add first test for telemetry
- First test for telemetry package that tests totalBytes field in downstream stats.
- Add fake_analytics_service
2021-12-14 14:13:21 +01:00
Artur Shellunts
c7d728aded
Rename files to match interfaces inside files ( #256 )
...
* Rename analytics.go to analyticsservice.go
* Rename service to telemetryservice
* Rename events.go to telemetryserviceevents.go
2021-12-14 09:47:51 +01:00
Raja Subramanian
e54ce4f674
Stream Allocator Try 3 ( #257 )
...
* Stream Allocator Try 3
Making an intermediate PR to do
- Special treatment for screen share tracks
- When allocating all tracks,
o try to stream all tracks by starting with the lowest layer
o multi-pass across tracks to get a more even distribution
Not yet done:
-------------
In deficient state,
o Allocate a specific track on a change
o Steal from other tracks
* Correct sense of managed track
* have to range to copy
* generate
* fix VideoLayers compare
* Use t.simulcasted
2021-12-14 12:48:09 +05:30
Mathew Kamkar
bd42a39117
Include node ID with Prometheus metrics ( #251 )
...
* include node id in prometheus metrics
* static prom init and nodeID
* update protocol dep
2021-12-10 15:49:14 -08:00
shishirng
e7b50a79fe
Send room info in events by default ( #248 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2021-12-10 14:11:13 -05:00
David Zhao
2d93ccd668
Updated protocol from protocol/proto -> protocol/livekit ( #242 )
...
* Updated protocol from protocol/proto -> protocol/livekit
* separate MediaTrack from PublishedTrack
2021-12-08 13:58:38 -08:00
David Colburn
c41384cd09
ActiveRecording ( #234 )
...
* ActiveRecording
* regenerate
* update to 0.10.3
* 1.17
2021-12-03 21:40:53 -08:00
David Colburn
6cf662cbe9
send roomID with all events
2021-11-29 16:41:55 -08:00
David Colburn
27a80aa801
fix stats worker
2021-11-29 16:24:29 -08:00
David Colburn
991c334d2d
telemetry interfaces ( #210 )
...
* telemetry interfaces
* move AddUptrack under stats
* regenerate
* a space
* consistency
* fix test
2021-11-24 17:58:04 -08:00
shishirng
5cdb1c4848
Send room name along in stat message ( #205 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2021-11-23 15:51:16 -05:00
David Zhao
79cfc0d76a
update protocol & pion versions
2021-11-19 21:25:08 -10:00
David Colburn
4e16e4275c
move NewStatsInterceptorFactory
2021-11-12 20:21:54 -08:00
David Colburn
92838d75a8
Analytics events + stats ( #187 )
...
* events
* bump
* update incoming stats
* publisher stats
* outgoing rtcp
* stats
* remove unnecessary struct
* merge mediaTrack
* put comment back
2021-11-12 16:36:10 -06:00
David Colburn
01cf22f2c4
remove error message
2021-11-09 09:33:21 -08:00
David Colburn
bf46e998b2
Sfu/buffer stats for telemetry ( #173 )
...
* more buffer stats for analytics
* update names
* fix jitter and lost rate
* don't return on participantLeft if they never published
2021-11-09 02:06:07 -06:00
David Colburn
289ebd32ff
Telemetry refactor ( #172 )
...
* telemetry refactor
* fix imports
* update protocol
2021-11-08 20:00:34 -06:00