diff --git a/src/matrix.rs b/src/matrix.rs index 814e36e716b2f2c0ed4e5269e23c5abd4827cdc9..10ea74d421b3f023528a4b7621df8e8c1d129b50 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -16,7 +16,7 @@ use matrix_sdk::{ }, Client, Result, SyncSettings, }; -use std::{convert::TryFrom, lazy::SyncLazy, process::abort, sync::Arc, sync::Mutex}; +use std::{convert::TryFrom, lazy::SyncLazy, process::abort, sync::Arc, sync::Mutex, time}; use tokio::time::{sleep, Duration}; async fn join_room(room: &Invited) { @@ -101,6 +101,7 @@ pub async fn connect_and_handle(config: Config) -> Result<()> { let on_msg_room_event = |ev: SyncMessageEvent<MessageEventContent>, room: Room, _encryption_info: Option<EncryptionInfo>| async { + let now = time::Instant::now(); let sender_id = ev.sender; if sender_id.as_str() == room.own_user_id().as_str() { return (); @@ -126,15 +127,17 @@ pub async fn connect_and_handle(config: Config) -> Result<()> { res = pkg.handle(&joined, &sender_id, args); } - joined - .send( - AnyMessageEventContent::RoomMessage( - MessageEventContent::text_html(res.clone(), res), - ), - None, - ) - .await - .unwrap(); + let msg = AnyMessageEventContent::RoomMessage( + MessageEventContent::text_html(res.clone(), res), + ); + let elapsed_before_send = now.elapsed(); + joined.send(msg, None).await.unwrap(); + let elapsed_after_send = now.elapsed(); + warn!( + "Elapsed before send {}ms, elapsed after send {}ms", + elapsed_before_send.as_millis(), + elapsed_after_send.as_millis() + ); } } }