David Baker
c824ea6f9a
Add OpenTelemetry events for PeerConnection state changes / errors
...
Creates a new class to represent individual calls and adds the listeners
there.
Requires https://github.com/matrix-org/matrix-js-sdk/pull/3251
Based on https://github.com/vector-im/element-call/pull/974
2023-04-04 18:00:45 +01:00
Enrico Schwendig
3b06258e40
stats: rename enum to avoid shadow values
2023-04-03 14:07:29 +02:00
Enrico Schwendig
889a31489b
stats: fix typo
2023-04-03 12:37:55 +02:00
Enrico Schwendig
dd67a45671
stats: Add summery report
2023-03-31 14:57:56 +02:00
Enrico Schwendig
707272bf19
Merge branch 'dbkr/otel' into enricoschw/real-time-media-statistics-for-full-mesh
2023-03-31 13:14:49 +02:00
David Baker
c2b78d59c6
Add more events:
...
* VoIP events received
* Call errors
* Group call errors
* Undecryptable to-device events
2023-03-30 16:54:10 +01:00
David Baker
f96ce8985d
Only enable otel if we have a collector URL
2023-03-29 16:04:11 +01:00
David Baker
4bf1fbfd8e
Gah, the sentry logger
2023-03-29 13:31:47 +01:00
David Baker
77c6357b08
Use js-sdk from hangup refactor branch
...
https://github.com/matrix-org/matrix-js-sdk/pull/3234
2023-03-29 12:28:04 +01:00
Enrico Schwendig
66c3d05ae9
docu: Add webrtc metric to OTel
2023-03-28 11:51:15 +02:00
David Baker
48493a96e1
Wait until config is loaded to load otel
2023-03-22 12:41:33 +00:00
David Baker
3d6ae3fbc3
Enable/disable opentelemetry based on config/user preference
...
Add config to set collector URL, obey the same analytics setting as
posthog. Also refactor into a class to make it easier to manage.
2023-03-22 11:55:21 +00:00
David Baker
359e055314
Make callMembershipSpan optional
2023-03-21 12:13:51 +00:00
David Baker
6b36604c84
Update js-sdk
2023-03-20 19:17:50 +00:00
David Baker
63ede0b51a
Version using events for call joins / leaves and matrix events
...
This is probably conceptually nicer although isn't quite as nice in
the jaeger / stalk UI.
Also this may no loger work with the posthog exporter (unsure what it
will do with events on spans).
2023-03-17 19:26:23 +00:00
David Baker
2d91b43a7d
Set attributes on the root span
...
Setting them on the context doesn't actually make them show up in
jaeger, it's just a way to propagate the info around between
different things.
2023-03-17 19:03:43 +00:00
David Baker
f8f5d2011d
Add CORS to jaeger query endpoint and make spans nested
...
Adds an nginx in front of the query endpoint so we can use stalk
without faffing with browser extension to bypass CORS.
Also make the spans correctly have the call membership span as parent,
which they didn't because we hadn't set the span at the point we made
the context.
2023-03-17 17:01:59 +00:00
David Baker
521b0a857a
Send spans for state events
2023-03-16 18:08:28 +00:00
David Baker
31450219c8
More work on opentelemetry event reporting
...
Moastly a re-org to avoid new contexts over React component unmounts/
remounts.
2023-03-16 14:41:55 +00:00
David Baker
c519e13885
Version that does at least send some traces
2023-03-15 16:00:39 +00:00
David Baker
0cca5ae174
Slightly evolved but not-yet-working OpenTelemetry
...
More usefully, including docker config for starting a CORS enabled
OTLP collector so we don't have to use zipkin.
2023-03-15 14:35:10 +00:00