Commit Graph
30 Commits
Author SHA1 Message Date
David Baker 23ddd73f4f Merge remote-tracking branch 'origin/main' into dbkr/otel_peerconn_events 2023-04-05 09:35:43 +01:00
390442a4c3 Add webrtc metric to OTel (#974)
* stats: Add summery report

---------

Co-authored-by: David Baker <dave@matrix.org>
2023-04-05 10:25:26 +02:00
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
David BakerandGitHub 28196a2e9d Merge pull request #981 from vector-im/dbkr/call_events_to_call_span
Move call events to the call span
2023-04-04 17:52:41 +01:00
David Baker 5b70def4d2 Add null check for call span 2023-04-04 17:49:49 +01:00
David BakerandGitHub 2cd549cdc8 Merge pull request #982 from vector-im/dbkr/otel_flatten_include_booleans
Include booleans in flattened OpenTelemetry object
2023-04-04 17:26:20 +01:00
David Baker 30f75c6cd2 Don't pass null / undefined as attribute value 2023-04-03 17:41:40 +01:00
David Baker 8fa23b7da9 Include booleans in flattened OpenTelemetry object 2023-04-03 16:58:29 +01:00
David Baker 277081ee2a Move call events to the call span 2023-04-03 14:35:04 +01:00
David Baker 3a7983d2de Add displayname on call spans 2023-04-03 14:31:17 +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