Skip to content

Conversation

mdh1418
Copy link
Member

@mdh1418 mdh1418 commented Jul 15, 2025

Follow-up to #115265

EventPipeEvent Metadata is typically emitted on the first time it's being written, a.k.a. the "Metadata Event". Typically, EventPipe Sessions would track the "Metadata Event" through this logic, leveraging single-threaded writers to track whether or not metadata has been written for that particular session.

For user_events-based EventPipe Sessions, events are written directly to the kernel's user_events_data file. As such, we need to keep track of whether or not Metadata has been transmitted for a particular EventPipeEvent for a particular EventPipe Session. To account for:

  • multiple threads racing to write the same EventPipeEvent
  • EventPipe Sessions being disabled and their session_id being replaced by a newer EventPipe Session
  • minimal overhead (i.e. lockless) for constructing the user_events byte payload

This PR adds a metadata_written_mask field to EventPipeEvents to keep track of whether an Event has been written for a particular active session. In addition, for a lock-free and thread safe mechanism to update the metadata_written_mask, ep_rt_atomic_compare_exchange_int64_t is implemented.

Testing

Manual testing with the same C program used in #117435 and #115265.
Metadata is only emitted once for each EventID 50 and 303, indicated by just 2 instances of extension=01.
Moreover, after disabling the session, the EventPipeEvent instance's metadata_written_mask bits had been reset accordingly.

# tracer: nop
#
# entries-in-buffer/entries-written: 115/115   #P:2
#
#                                _-----=> irqs-off/BH-disabled
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| / _-=> migrate-disable
#                              |||| /     delay
#           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
#              | |         |   |||||     |         |
  .NET TP Worker-52045   [001] ..... 23220.908388: whim: version=(1) event_id=0x12f (303) extension=01,1a,00,00,00,2f,01,00,00,00,00,00,00,00,00,00,08,00,00,00,00,00,00,04,00,00,00,00,00,00,00 payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,9b,b4,06,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23234.409259: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,4f,6b,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23234.712695: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,1b,44,01,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23235.013776: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,2c,49,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23235.318061: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,94,3c,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23235.620411: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,20,d2,01,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23235.922622: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,9a,99,01,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23236.227172: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,35,5b,03,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23236.529878: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,f3,46,01,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23236.831917: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,0b,6b,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23237.136432: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,48,07,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23237.438488: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,85,d0,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23237.740545: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,c8,0a,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23238.044614: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,67,3d,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23238.346798: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,90,c0,02,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23238.648940: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,32,3b,02,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23238.953169: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ab,2f,00,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23239.254267: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,37,48,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23239.556260: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,90,ae,05,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23239.860903: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,02,09,04,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23239.861394: whim: version=(1) event_id=0x12f (303) extension=02,1d,e5,01,00,00,00,00,00,00,00,00,00,ef,b5,9f,59 payload=00,00,00,00,00,00,08,bc,38,7a,ff,7f,00,00,41,00,73,00,79,00,6e,00,63,00,53,00,74,00,61,00,74,00,65,00,4d,00,61,00,63,00,68,00,69,00,6e,00,65,00,42,00,6f,00,78,00,60,00,31,00,5b,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,54,00,68,00,72,00,65,00,61,00,64,00,69,00,6e,00,67,00,2e,00,54,00,61,00,73,00,6b,00,73,00,2e,00,56,00,6f,00,69,00,64,00,54,00,61,00,73,00,6b,00,52,00,65,00,73,00,75,00,6c,00,74,00,2c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,2b,00,3c,00,48,00,65,00,6c,00,70,00,65,00,72,00,41,00,3e,00,64,00,5f,00,5f,00,32,00,5d,00,00,00,e0,28,40,65,bf,7f,00,00,50,00,00,00,00,00,00,00,1b,00,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23240.162871: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ff,3f,02,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23240.465072: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,c8,2d,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23240.769533: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,09,2a,04,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23241.071694: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,52,23,03,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23241.373737: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,39,8a,03,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23241.474613: whim: version=(1) event_id=0x12f (303) extension=02,1d,f0,01,00,00,00,00,00,00,00,00,00,ef,42,9f,59 payload=00,00,00,00,00,00,90,b3,06,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,49,00,6e,00,74,00,36,00,34,00,00,00,50,9e,40,62,bf,7f,00,00,18,00,00,00,00,00,00,00,14,00,00,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23241.474619: whim: version=(1) event_id=0x12f (303) extension=02,1d,ef,01,00,00,00,00,00,00,00,00,00,ef,43,9f,59 payload=00,00,00,00,00,00,b0,aa,fd,78,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,49,00,6e,00,74,00,33,00,32,00,00,00,80,69,40,62,bf,7f,00,00,18,00,00,00,00,00,00,00,0a,00,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23241.677973: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,aa,c6,02,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23241.979934: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,42,40,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23242.281946: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,07,68,01,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23242.586166: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,cb,6b,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23242.888388: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,67,d2,01,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23242.889162: whim: version=(1) event_id=0x12f (303) extension=02,1d,fa,01,00,00,00,00,00,00,00,00,00,ef,58,9f,59 payload=00,00,00,00,00,00,90,58,95,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,41,00,63,00,74,00,69,00,6f,00,6e,00,00,00,d0,5d,40,62,bf,7f,00,00,40,00,00,00,00,00,00,00,1a,00,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23243.190253: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ab,51,02,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23243.494378: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ba,c4,00,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23243.796410: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ad,97,04,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23244.098626: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,02,74,00,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23244.402791: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,64,50,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23244.704930: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,53,83,00,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23245.007116: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,d9,72,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23245.311442: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,11,8d,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23245.312166: whim: version=(1) event_id=0x12f (303) extension= payload=00,00,00,00,00,00,18,d0,38,7a,ff,7f,00,00,43,00,6f,00,6e,00,74,00,69,00,6e,00,75,00,61,00,74,00,69,00,6f,00,6e,00,57,00,72,00,61,00,70,00,70,00,65,00,72,00,00,00,08,37,40,65,bf,7f,00,00,28,00,00,00,00,00,00,00,08,00,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23245.613690: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,a0,24,01,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23245.915757: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,42,b1,03,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23246.219906: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ee,11,01,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23246.521764: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ed,8d,06,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23246.823696: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,58,21,02,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23247.128123: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,1d,25,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23247.430250: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,f2,b9,02,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23247.732136: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,b4,63,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23248.036238: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,21,d9,01,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23248.338143: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,e9,76,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23248.338302: mihw: version=(1) event_id=0x50 (80) extension=01,1a,00,00,00,50,00,00,00,00,00,00,80,00,00,02,00,00,00,01,00,00,00,02,00,00,00,00,00,00,00 payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23248.640142: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,e5,44,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23248.640281: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23248.944299: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,05,3b,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23248.944460: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [000] ..... 23249.246433: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,9c,4f,01,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23249.246593: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [000] ..... 23249.548443: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,08,c7,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23249.548610: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23249.852587: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,bb,6a,01,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23249.852715: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [001] ..... 23250.154743: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,a9,fb,01,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23250.154901: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [000] ..... 23250.356214: whim: version=(1) event_id=0x12f (303) extension=02,1d,29,02,00,00,00,00,00,00,00,00,00,ef,09,9f,59 payload=00,00,00,00,00,00,68,bb,33,7a,ff,7f,00,00,4f,00,6e,00,65,00,45,00,6c,00,65,00,6d,00,65,00,6e,00,74,00,41,00,73,00,79,00,6e,00,63,00,4c,00,6f,00,63,00,61,00,6c,00,56,00,61,00,6c,00,75,00,65,00,4d,00,61,00,70,00,00,00,c0,4d,40,62,bf,7f,00,00,20,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23250.456774: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,4d,58,05,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23250.456934: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23250.761086: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,23,aa,01,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23250.761215: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23251.063202: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,41,7d,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23251.063410: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23251.365398: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,75,fa,05,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23251.365539: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [001] ..... 23251.669769: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,19,a2,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23251.669897: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [000] ..... 23251.971934: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,61,c7,00,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23251.972093: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [001] ..... 23252.274119: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,b5,45,04,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23252.274330: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [001] ..... 23252.578405: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,fe,a1,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23252.578533: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [001] ..... 23252.880637: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,a8,d9,02,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23252.880782: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23253.182629: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,80,21,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23253.182767: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [001] ..... 23253.487035: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,04,44,04,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23253.487172: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [001] ..... 23253.487774: whim: version=(1) event_id=0x12f (303) extension=02,1d,40,02,00,00,00,00,00,00,00,00,00,ef,12,9f,59 payload=00,00,00,00,00,00,90,58,95,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,41,00,63,00,74,00,69,00,6f,00,6e,00,00,00,18,36,40,62,bf,7f,00,00,40,00,00,00,00,00,00,00,1f,00,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23253.789288: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,b0,38,00,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23253.789450: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [001] ..... 23254.091333: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,f3,7b,04,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23254.091491: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [001] ..... 23254.395682: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,37,1c,03,00,00,00,00,00
  .NET TP Worker-52045   [001] ..... 23254.395811: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [001] ..... 23254.696879: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,f7,92,05,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23254.697041: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [001] ..... 23254.998970: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,d3,7c,03,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23254.999128: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [001] ..... 23255.302945: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,e4,4d,01,00,00,00,00,00
  .NET TP Worker-52694   [001] ..... 23255.303077: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23255.604968: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,68,0f,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23255.605176: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23255.907207: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ec,e2,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23255.907368: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52694   [000] ..... 23256.211206: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,fb,60,00,00,00,00,00,00
  .NET TP Worker-52694   [000] ..... 23256.211334: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52045   [000] ..... 23256.513058: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,80,00,d0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,87,d2,07,00,00,00,00,00
  .NET TP Worker-52045   [000] ..... 23256.513244: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52846   [000] ..... 23256.815460: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,b8,00,e0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,ab,f6,01,00,00,00,00,00
  .NET TP Worker-52846   [000] ..... 23256.815617: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00
  .NET TP Worker-52846   [000] ..... 23256.816181: whim: version=(1) event_id=0x12f (303) extension=02,1d,56,02,00,00,00,00,00,00,00,00,00,ef,24,9f,59 payload=00,00,00,00,00,00,b0,aa,fd,78,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,49,00,6e,00,74,00,33,00,32,00,00,00,78,b3,40,65,bf,7f,00,00,18,00,00,00,00,00,00,00,03,00,00,00,00,00,00,00
  .NET TP Worker-52846   [001] ..... 23257.119990: whim: version=(1) event_id=0x12f (303) extension= payload=01,00,00,00,00,00,f8,20,4e,79,ff,7f,00,00,53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,42,00,79,00,74,00,65,00,5b,00,5d,00,00,00,48,00,c0,62,bf,7f,00,00,18,00,10,00,00,00,00,00,7d,75,02,00,00,00,00,00
  .NET TP Worker-52846   [001] ..... 23257.120152: mihw: version=(1) event_id=0x50 (80) extension= payload=53,00,79,00,73,00,74,00,65,00,6d,00,2e,00,45,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,00,00,54,00,68,00,69,00,73,00,20,00,69,00,73,00,20,00,61,00,20,00,74,00,65,00,73,00,74,00,20,00,65,00,78,00,63,00,65,00,70,00,74,00,69,00,6f,00,6e,00,20,00,74,00,6f,00,20,00,64,00,65,00,6d,00,6f,00,6e,00,73,00,74,00,72,00,61,00,74,00,65,00,20,00,65,00,72,00,72,00,6f,00,72,00,20,00,68,00,61,00,6e,00,64,00,6c,00,69,00,6e,00,67,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,15,13,80,10,00,00,00

@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Jul 15, 2025
@mdh1418 mdh1418 force-pushed the ep_user_events_deduplicate_metadata branch from aef6cc3 to 2df5e09 Compare July 15, 2025 21:31
@mdh1418 mdh1418 marked this pull request as ready for review July 15, 2025 21:32
@Copilot Copilot AI review requested due to automatic review settings July 15, 2025 21:32
@mdh1418 mdh1418 requested a review from noahfalk July 15, 2025 21:32
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR deduplicates EventPipe event metadata per session by tracking metadata emission with a mask, and adds an atomic compare-and-exchange for int64 across runtimes.

  • Introduce metadata_written_mask and its update function on EventPipeEvent
  • Use ep_rt_atomic_compare_exchange_int64_t to atomically set/reset metadata bits
  • Modify session and provider logic to emit metadata only once per session and reset on config changes

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/native/eventpipe/ep-session.c Wrap metadata header emit in per-session mask check
src/native/eventpipe/ep-rt.h Declare ep_rt_atomic_compare_exchange_int64_t
src/native/eventpipe/ep-provider.c Pass session_mask to refresh functions and clear metadata mask
src/native/eventpipe/ep-event.h Add metadata_written_mask field and update function declaration
src/native/eventpipe/ep-event.c Initialize and implement ep_event_update_metadata_written_mask
src/mono/mono/eventpipe/ep-rt-mono.h Implement ep_rt_atomic_compare_exchange_int64_t for Mono branch
src/coreclr/vm/eventing/eventpipe/ep-rt-coreclr.h Implement ep_rt_atomic_compare_exchange_int64_t for CoreCLR branch
src/coreclr/nativeaot/Runtime/eventpipe/ep-rt-aot.h/.cpp Implement ep_rt_atomic_compare_exchange_int64_t for NativeAOT branch
Comments suppressed due to low confidence (2)

src/native/eventpipe/ep-session.c:830

  • The metadata payload is written unconditionally, even when should_write_metadata is false. You should wrap both the header and payload writes (including io[i].iov_base, iov_len, and extension_len updates) inside the if (should_write_metadata) block to avoid emitting metadata twice or without a header.
		io[io_index].iov_len = metadata_len;

src/native/eventpipe/ep-session.c:821

  • Declaring metadata_len inside the if block makes it inaccessible when writing the payload below. This will cause a compilation error. Consider declaring metadata_len before the if so it can be reused for both header and payload writes (or move the payload write inside the if).
		uint32_t metadata_len = ep_event_get_metadata_len (ep_event);

Copy link
Member

@noahfalk noahfalk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Move metadata_written_mask bit flip to after writing the event
Fix bytes_written operator precedence bug
@mdh1418 mdh1418 requested review from lateralusX and noahfalk July 17, 2025 21:12
@mdh1418
Copy link
Member Author

mdh1418 commented Jul 18, 2025

/ba-g The windows-x64 NativeAOT lane failure should be #117795, the linux System.Net.HttpListener.Tests failure is asserting on the same assertion as #117795, the rest are test timeouts mostly seemingly due to machine inavailability, which shouldn't be impacted by this PRs changes as there are no user_events tests yet.

@mdh1418 mdh1418 merged commit ac75c8d into dotnet:main Jul 18, 2025
135 of 147 checks passed
@mdh1418 mdh1418 deleted the ep_user_events_deduplicate_metadata branch July 18, 2025 15:15
noahfalk pushed a commit to dotnet/diagnostics that referenced this pull request Aug 11, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Aug 18, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants