@@ -252,6 +252,8 @@ struct Caliper::ThreadData
252
252
MetadataTree tree;
253
253
::siglock lock;
254
254
255
+ SnapshotRecord snapshot;
256
+
255
257
// This thread's blackboard
256
258
Blackboard thread_blackboard;
257
259
// copy of the last process blackboard snapshot
@@ -902,17 +904,17 @@ Caliper::push_snapshot(Channel* channel, SnapshotView trigger_info)
902
904
std::lock_guard<::siglock>
903
905
g (sT ->lock );
904
906
905
- SnapshotRecord rec ;
907
+ sT -> snapshot . reset () ;
906
908
907
909
// copy pull_snapshot() functionality to avoid superfluous siglock update
908
- rec .builder ().append (trigger_info);
909
- channel->mP ->events .snapshot (this , channel, trigger_info, rec .builder ());
910
+ sT -> snapshot .builder ().append (trigger_info);
911
+ channel->mP ->events .snapshot (this , channel, trigger_info, sT -> snapshot .builder ());
910
912
911
- sT ->thread_blackboard .snapshot (rec .builder ());
913
+ sT ->thread_blackboard .snapshot (sT -> snapshot .builder ());
912
914
sT ->update_process_snapshot (sG ->process_blackboard );
913
- rec .builder ().append (sT ->process_snapshot .view ());
915
+ sT -> snapshot .builder ().append (sT ->process_snapshot .view ());
914
916
915
- channel->mP ->events .process_snapshot (this , channel, trigger_info, rec .view ());
917
+ channel->mP ->events .process_snapshot (this , channel, trigger_info, sT -> snapshot .view ());
916
918
}
917
919
918
920
void
0 commit comments