4
4
5
5
using System . Diagnostics . CodeAnalysis ;
6
6
using System . Diagnostics . Tracing ;
7
- using System . Runtime . CompilerServices ;
8
- using Ultra . Sampler . MacOS ;
9
7
10
8
namespace Ultra . Sampler ;
11
9
@@ -20,19 +18,21 @@ private UltraSamplerSource()
20
18
21
19
[ Event ( UltraSamplerParser . NativeCallStackEvent , Level = EventLevel . Informational ) ]
22
20
[ UnconditionalSuppressMessage ( "Trimming" , "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code" , Justification = "<Pending>" ) ]
23
- public unsafe void OnNativeCallstack ( ulong threadId , nint pFrames , int count )
21
+ public unsafe void OnNativeCallstack ( ulong threadId , ulong pFrames , int count )
24
22
{
25
- EventData2 evt = default ;
23
+ EventData3 evt = default ;
26
24
evt . Data1 . DataPointer = ( nint ) ( void * ) & threadId ;
27
25
evt . Data1 . Size = sizeof ( ulong ) ;
28
26
evt . Data2 . DataPointer = ( nint ) pFrames ;
29
27
evt . Data2 . Size = count * sizeof ( ulong ) ;
30
- WriteEventCore ( UltraSamplerParser . NativeCallStackEvent , 2 , & evt . Data1 ) ;
28
+ evt . Data3 . DataPointer = ( int ) & count ;
29
+ evt . Data3 . Size = sizeof ( int ) ;
30
+ WriteEventCore ( UltraSamplerParser . NativeCallStackEvent , 3 , & evt . Data1 ) ;
31
31
}
32
32
33
33
[ Event ( UltraSamplerParser . NativeModuleEvent , Level = EventLevel . Informational ) ]
34
34
[ UnconditionalSuppressMessage ( "Trimming" , "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code" , Justification = "<Pending>" ) ]
35
- public unsafe void OnNativeModuleEvent ( NativeModuleEventKind nativeModuleEventKind , ulong loadAddress , ulong size , byte [ ] ? modulePathUtf8 , long timestampUtc )
35
+ public unsafe void OnNativeModuleEvent ( int nativeModuleEventKind , ulong loadAddress , ulong size , byte [ ] ? modulePathUtf8 , DateTime timestampUtc )
36
36
{
37
37
EventData5 evt = default ;
38
38
evt . Data1 . DataPointer = ( nint ) ( void * ) & nativeModuleEventKind ;
@@ -45,9 +45,10 @@ public unsafe void OnNativeModuleEvent(NativeModuleEventKind nativeModuleEventKi
45
45
{
46
46
evt . Data4 . DataPointer = ( nint ) evtPathPtr ;
47
47
evt . Data4 . Size = modulePathUtf8 ? . Length ?? 0 ;
48
- evt . Data5 . DataPointer = ( nint ) ( void * ) & timestampUtc ;
48
+ var utcFileTime = timestampUtc . ToFileTimeUtc ( ) ;
49
+ evt . Data5 . DataPointer = ( nint ) ( void * ) & utcFileTime ;
49
50
evt . Data5 . Size = sizeof ( long ) ;
50
- WriteEventCore ( UltraSamplerParser . NativeModuleEvent , 4 , & evt . Data1 ) ;
51
+ WriteEventCore ( UltraSamplerParser . NativeModuleEvent , 5 , & evt . Data1 ) ;
51
52
}
52
53
}
53
54
@@ -67,11 +68,13 @@ protected override void OnEventCommand(EventCommandEventArgs command)
67
68
}
68
69
}
69
70
70
- private struct EventData2
71
+ private struct EventData3
71
72
{
72
73
public EventData Data1 ;
73
74
74
75
public EventData Data2 ;
76
+
77
+ public EventData Data3 ;
75
78
}
76
79
77
80
private struct EventData5
0 commit comments