Send spans for state events
This commit is contained in:
parent
31450219c8
commit
521b0a857a
2 changed files with 30 additions and 3 deletions
|
@ -23,7 +23,7 @@ import { tracer } from "./otel";
|
||||||
/**
|
/**
|
||||||
* Recursively sets the contents of a todevice event object as attributes on a span
|
* Recursively sets the contents of a todevice event object as attributes on a span
|
||||||
*/
|
*/
|
||||||
function setNestedAttributesFromToDeviceEvent(span: Span, event: VoipEvent) {
|
function setNestedAttributesFromEvent(span: Span, event: VoipEvent) {
|
||||||
setSpanEventAttributesRecursive(
|
setSpanEventAttributesRecursive(
|
||||||
span,
|
span,
|
||||||
event as unknown as Record<string, unknown>, // XXX Types
|
event as unknown as Record<string, unknown>, // XXX Types
|
||||||
|
@ -109,7 +109,23 @@ export class OTelGroupCallMembership {
|
||||||
if (this.callMembershipSpan) this.callMembershipSpan.end();
|
if (this.callMembershipSpan) this.callMembershipSpan.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
public onSendStateEvent(stateEvent: MatrixEvent) {}
|
public onUpdateRoomState(event: MatrixEvent) {
|
||||||
|
if (
|
||||||
|
!event ||
|
||||||
|
(!event.getType().startsWith("m.call") &&
|
||||||
|
!event.getType().startsWith("org.matrix.msc3401.call"))
|
||||||
|
)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const span = tracer.startSpan(
|
||||||
|
`otel_onRoomStateEvent_${event.getType()}`,
|
||||||
|
undefined,
|
||||||
|
this.context
|
||||||
|
);
|
||||||
|
|
||||||
|
setNestedAttributesFromEvent(span, event.getContent());
|
||||||
|
span.end();
|
||||||
|
}
|
||||||
|
|
||||||
public onSendEvent(event: VoipEvent) {
|
public onSendEvent(event: VoipEvent) {
|
||||||
const eventType = event.eventType as string;
|
const eventType = event.eventType as string;
|
||||||
|
@ -122,7 +138,16 @@ export class OTelGroupCallMembership {
|
||||||
this.context
|
this.context
|
||||||
);
|
);
|
||||||
|
|
||||||
setNestedAttributesFromToDeviceEvent(span, event);
|
setNestedAttributesFromEvent(span, event);
|
||||||
|
span.end();
|
||||||
|
} else if (event.type === "sendEvent") {
|
||||||
|
const span = tracer.startSpan(
|
||||||
|
`otel_sendToRoomEvent_${event.eventType}`,
|
||||||
|
undefined,
|
||||||
|
this.context
|
||||||
|
);
|
||||||
|
|
||||||
|
setNestedAttributesFromEvent(span, event);
|
||||||
span.end();
|
span.end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -382,6 +382,8 @@ function useGroupCallState(
|
||||||
callStateEvent,
|
callStateEvent,
|
||||||
memberStateEvents,
|
memberStateEvents,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
otelGroupCallMembership.onUpdateRoomState(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onReceivedVoipEvent(event: MatrixEvent) {
|
function onReceivedVoipEvent(event: MatrixEvent) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue