Paul Wells
e5b8e25064
use shared psrpc utils ( #2506 )
...
* use shared psrpc utils
* fix
* deps
2024-02-24 00:38:49 -08:00
Mathew Kamkar
7508560fde
larger buckets for jitter prometheus histogram ( #2468 )
2024-02-09 12:09:51 -08:00
Paul Wells
c726cbf2ba
increase max session start time bin size ( #2380 )
2024-01-12 03:49:23 -08:00
Paul Wells
2fe2a9c9f2
add session start time metric ( #2377 )
2024-01-11 23:23:51 -08:00
Paul Wells
f4a984d446
preallocate prometheus packet counters ( #1942 )
2023-08-08 01:06:14 -07:00
David Zhao
981fb7cac7
Adding license notices ( #1913 )
...
* Adding license notices
* remove from config
2023-07-27 16:43:19 -07:00
David Zhao
7e5a7ae79f
Fixed windows build ( #1768 )
2023-06-04 00:17:25 -07:00
David Zhao
956735ae05
Fix node stats updates on Windows ( #1748 )
...
Because we aren't able to get CPU count/load info on Windows, they are
stubbed out to return placeholders. This restores compatibility to run
on Windows.
2023-05-29 10:53:08 -07:00
Raja Subramanian
a085afc6ee
Send quality stats to prometheus. ( #1708 )
2023-05-12 09:44:03 +05:30
David Colburn
ab6c994db4
update protocol/psrpc ( #1643 )
...
* update protocol/psrpc
* metadata references
2023-04-21 12:43:20 -07:00
Paul Wells
6636e37664
add prometheus psrpc metrics observer ( #1571 )
...
* add prometheus psrpc metrics observer
* record rpc error counts
* update psrpc
* update protocol
2023-04-05 03:50:43 -07:00
Dan McFaul
1848a21eda
add configurable environment value ( #1421 )
...
* add configurable prometheus env label
* Update pkg/config/config.go
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
* Update cmd/server/main.go
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
* Update config-sample.yaml
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
* set config.Environment value to dev when in dev mode
* be more precise for config-sample
---------
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
2023-02-15 14:41:44 -07:00
Mathew Kamkar
937256d89e
don't error when get tc stats fails ( #1386 )
2023-02-10 10:05:45 -08:00
Paul Wells
52fd0a641b
adjust jitter histogram buckets ( #1347 )
...
* adjust jitter histogram buckets
* typo
2023-01-29 22:45:32 -08:00
David Zhao
2fa46e2df4
Retry initial connection attempt should it fail ( #1335 )
...
Sometimes the initial selected node could fail. In that case, we'll give it a few more attempts to locate a media node for the session instead of failing it after the first try.
2023-01-25 22:59:57 -08:00
David Zhao
cd6b8b80b9
feat: SubscriptionManager to consolidate subscription handling ( #1317 )
...
Added a new manager to handle all subscription needs. Implemented using reconciler pattern. The goals are:
improve subscription resilience by separating desired state and current state
reduce complexity of synchronous processing
better detect failures with the ability to trigger full reconnect
2023-01-24 23:06:16 -08:00
Dan McFaul
9e3ca1e989
adding rtc_init stat ( #1316 )
...
* adding rtc_initiated stat
* clean up signal and rtc init/connected
* update naming and break out stats update funcs
* update protocol dependency
2023-01-23 12:49:15 -07:00
Paul Wells
1ef7c46fd7
publish stream stats to prometheus ( #1313 )
...
* add prometheus stats for rtt/jitter/packet loss
* add track source to metrics
* better packet loss bins
* add track type to metrics
* remove source from AnalyticsStat
* regenerate telemetry service fake
* compute loss from per stream packet count
2023-01-19 19:37:15 -08:00
Benjamin Pracht
edc39da0b1
Add TwirpRequestStatusReporter twirp server hook to count requests ( #1309 )
2023-01-18 11:53:20 -08:00
Dan McFaul
4d6f0cd0f7
Stats collect v2 ( #1291 )
...
* initial commit
* add correct label
* clean up
* more cleanup on adding stats
* cleanup
* move things to pub and sub monitors, ensure stats are correctly updated
* fix merge conflict
* Fix panic on MacOS (#1296 )
* fixing last feedback
Co-authored-by: Raja Subramanian <raja.gobi@tutanota.com >
2023-01-11 14:49:50 -07:00
Raja Subramanian
1db218a5b1
Fix panic on MacOS ( #1296 )
2023-01-11 10:08:56 +05:30
Mathew Kamkar
7c970da974
add memory used and total to node stats ( #1293 )
...
* add memory used and total to node stats
* raja review: consistency
* update protocol
2023-01-10 12:32:04 -08:00
Mathew Kamkar
caae389717
node type prometheus metric labels ( #1197 )
2022-11-29 20:36:35 -08:00
Raja Subramanian
1e8cc0dc76
Consolidate getMemoryStats ( #1122 )
...
* Consolidate getMemoryStats
* Avoid divide-by-0
2022-10-26 09:16:39 +05:30
Raja Subramanian
96a058b503
Populate memory load in node stats. ( #1121 )
2022-10-25 21:31:23 +05:30
cnderrauber
c401ca58af
turn packet and bytes stats used for telemetry and load control ( #969 )
...
* stats for turn
* add connections stats
* stats for standalone turn server only
* wire update
2022-08-31 11:00:27 +08:00
Mathew Kamkar
767d660809
Use LocalNode ID in Prometheus metrics ( #959 )
2022-08-25 22:16:20 -07:00
Mathew Kamkar
e0676132d4
Packet stats from TC ( #832 )
...
* system level packet stats from tc
* drop percent
* test fix
* formatting
* formatting/wording
* prometheus metrics
* update livekit protocol go module
2022-07-15 10:41:40 -07:00
David Zhao
b316698409
Release with GoReleaser. Allow start without key configuration ( #788 )
2022-06-26 12:27:43 -07:00
Raja Subramanian
f19815754c
Do not re-compute average on real time metric change ( #743 )
2022-05-31 10:33:17 +05:30
Raja Subramanian
508aa471a9
Track participant join total + rate in node stats ( #741 )
...
* Track participant join total + rate in node stats
* update protocol
2022-05-30 15:58:30 +05:30
Raja Subramanian
33032f6c4b
Fix some test races and other things found with go test -race ( #711 )
2022-05-24 10:16:36 +05:30
Raja Subramanian
012337c96a
Fix sense of tranmission label ( #692 )
2022-05-18 12:52:05 +05:30
David Zhao
7eb3362d0a
Keep track of retransmissions in NodeStats ( #677 )
2022-05-10 15:25:24 -07:00
David Zhao
4e5863496c
Set numCPUs correctly in non-linux environment ( #653 )
2022-04-24 23:25:33 -07:00
David Zhao
3c53b843c5
Fixes bps and pps average computation. ( #639 )
...
Exclude NACK count from being a trigger to refresh stats.
Since NACKs are updated instantaneously without having to wait for
Telemetry updates that occurs every 10s, having even a single NACK
could cause us to compute averages prematurely.
2022-04-20 19:17:02 -07:00
David Zhao
431069af95
Rename StatsUpdateFrequency -> StatsUpdateInterval
2022-04-19 22:22:58 -07:00
David Zhao
282e2aed49
Increase frequency of status updates and longer availability threshold ( #628 )
...
* Increase frequency of status updates and longer avail. threshold.
* better fix.
* fix room close test failure due to slow peer connection Close
* Perform avg computation more frequently if data has changed
2022-04-19 22:18:00 -07:00
Raja Subramanian
a19ca69f5f
Prevent stats update if the deltas are empty ( #619 )
...
* Prevent stats update if the deltas are empty
* increase force interval
* static check
* Change max delay to 30 seconds
2022-04-18 22:51:34 +05:30
Raja Subramanian
076eb1c8ae
Dampen stream allocator ( #551 )
...
* WIP commit
* WIP commit
* WIP commit
* format
* NACK window
* Remove layer when it is expected to stop
* Remove debug
2022-03-22 22:23:22 +05:30
Mathew Kamkar
cf63da2e64
prometheus livekit_room_total node_id label
2022-03-21 16:43:01 -07:00
Mathew Kamkar
cac6d22a72
store cpu load in node stats ( #524 )
...
* store cpu load in node stats
* num cpus uint32
* cpu load selector test
* dep update
2022-03-16 14:51:22 -07:00
Raja Subramanian
2706dc130f
Replace sync/atomic usage with uber/atomic ( #471 )
2022-02-28 09:57:17 +05:30
Raja Subramanian
0170cc1cb6
Staticcheck ( #464 )
...
Using `go get -u honnef.co/go/tools/cmd/staticcheck`
Uneaarthed a couple of real bugs
2022-02-25 12:04:08 +05:30
Raja Subramanian
36289bbca7
FPS ( #410 )
...
* WIP commit
* WIP commit
* WIP commit
* WIP commit
* WIP commit
* WIP commit
* Clean up
* Clean up
* Store RTT in stats
* spelling mistake
* Make tests compile
* Fix test compilation error
* fix tests
* clone
* latest protocol
2022-02-08 12:53:14 +05:30
David Colburn
3d132730f9
replace entire nodeStats object ( #393 )
2022-01-31 17:09:36 -07: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
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
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
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