@@ -34,7 +34,7 @@ use ruma::{
3434 CanonicalJsonObject , EventId , MxcUri , OwnedEventId , OwnedMxcUri , OwnedRoomId ,
3535 OwnedTransactionId , OwnedUserId , RoomId , RoomVersionId , TransactionId , UserId ,
3636} ;
37- use tracing:: { debug, warn} ;
37+ use tracing:: { debug, instrument , trace , warn} ;
3838
3939use super :: {
4040 traits:: { ComposerDraft , QueuedEvent , SerializableEventContent } ,
@@ -282,13 +282,18 @@ impl StateStore for MemoryStore {
282282 Ok ( ( ) )
283283 }
284284
285+ #[ instrument( skip( self , changes) ) ]
285286 async fn save_changes ( & self , changes : & StateChanges ) -> Result < ( ) > {
286287 let now = Instant :: now ( ) ;
288+ // these trace calls are to debug https://github.com/matrix-org/complement-crypto/issues/77
289+ trace ! ( "starting" ) ;
287290
288291 if let Some ( s) = & changes. sync_token {
289292 * self . sync_token . write ( ) . unwrap ( ) = Some ( s. to_owned ( ) ) ;
293+ trace ! ( "assigned sync token" ) ;
290294 }
291295
296+ trace ! ( "profiles" ) ;
292297 {
293298 let mut profiles = self . profiles . write ( ) . unwrap ( ) ;
294299
@@ -311,6 +316,7 @@ impl StateStore for MemoryStore {
311316 }
312317 }
313318
319+ trace ! ( "ambiguity maps" ) ;
314320 for ( room, map) in & changes. ambiguity_maps {
315321 for ( display_name, display_names) in map {
316322 self . display_names
@@ -322,13 +328,15 @@ impl StateStore for MemoryStore {
322328 }
323329 }
324330
331+ trace ! ( "account data" ) ;
325332 {
326333 let mut account_data = self . account_data . write ( ) . unwrap ( ) ;
327334 for ( event_type, event) in & changes. account_data {
328335 account_data. insert ( event_type. clone ( ) , event. clone ( ) ) ;
329336 }
330337 }
331338
339+ trace ! ( "room account data" ) ;
332340 {
333341 let mut room_account_data = self . room_account_data . write ( ) . unwrap ( ) ;
334342 for ( room, events) in & changes. room_account_data {
@@ -341,6 +349,7 @@ impl StateStore for MemoryStore {
341349 }
342350 }
343351
352+ trace ! ( "room state" ) ;
344353 {
345354 let mut room_state = self . room_state . write ( ) . unwrap ( ) ;
346355 let mut stripped_room_state = self . stripped_room_state . write ( ) . unwrap ( ) ;
@@ -381,20 +390,23 @@ impl StateStore for MemoryStore {
381390 }
382391 }
383392
393+ trace ! ( "room info" ) ;
384394 {
385395 let mut room_info = self . room_info . write ( ) . unwrap ( ) ;
386396 for ( room_id, info) in & changes. room_infos {
387397 room_info. insert ( room_id. clone ( ) , info. clone ( ) ) ;
388398 }
389399 }
390400
401+ trace ! ( "presence" ) ;
391402 {
392403 let mut presence = self . presence . write ( ) . unwrap ( ) ;
393404 for ( sender, event) in & changes. presence {
394405 presence. insert ( sender. clone ( ) , event. clone ( ) ) ;
395406 }
396407 }
397408
409+ trace ! ( "stripped state" ) ;
398410 {
399411 let mut stripped_room_state = self . stripped_room_state . write ( ) . unwrap ( ) ;
400412 let mut stripped_members = self . stripped_members . write ( ) . unwrap ( ) ;
@@ -434,6 +446,7 @@ impl StateStore for MemoryStore {
434446 }
435447 }
436448
449+ trace ! ( "receipts" ) ;
437450 {
438451 let mut room_user_receipts = self . room_user_receipts . write ( ) . unwrap ( ) ;
439452 let mut room_event_receipts = self . room_event_receipts . write ( ) . unwrap ( ) ;
@@ -478,6 +491,7 @@ impl StateStore for MemoryStore {
478491 }
479492 }
480493
494+ trace ! ( "room info/state" ) ;
481495 {
482496 let room_info = self . room_info . read ( ) . unwrap ( ) ;
483497 let mut room_state = self . room_state . write ( ) . unwrap ( ) ;
0 commit comments