Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ParallelEtwProvider.cs
Go to the documentation of this file.
3
5
6[EventSource(Name = "System.Threading.Tasks.Parallel.EventSource")]
7internal sealed class ParallelEtwProvider : EventSource
8{
10 {
14 }
15
16 public static class Tasks
17 {
18 public const EventTask Loop = (EventTask)1;
19
20 public const EventTask Invoke = (EventTask)2;
21
22 public const EventTask ForkJoin = (EventTask)5;
23 }
24
25 public static readonly ParallelEtwProvider Log = new ParallelEtwProvider();
26
28 {
29 }
30
31 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:UnrecognizedReflectionPattern", Justification = "Parameters to this method are primitive and are trimmer safe")]
32 [Event(1, Level = EventLevel.Informational, Task = (EventTask)1, Opcode = EventOpcode.Start)]
33 public unsafe void ParallelLoopBegin(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID, ForkJoinOperationType OperationType, long InclusiveFrom, long ExclusiveTo)
34 {
35 if (IsEnabled(EventLevel.Informational, EventKeywords.All))
36 {
37 EventData* ptr = stackalloc EventData[6];
38 *ptr = new EventData
39 {
40 Size = 4,
41 DataPointer = (IntPtr)(&OriginatingTaskSchedulerID)
42 };
43 ptr[1] = new EventData
44 {
45 Size = 4,
46 DataPointer = (IntPtr)(&OriginatingTaskID)
47 };
48 ptr[2] = new EventData
49 {
50 Size = 4,
51 DataPointer = (IntPtr)(&ForkJoinContextID)
52 };
53 ptr[3] = new EventData
54 {
55 Size = 4,
56 DataPointer = (IntPtr)(&OperationType)
57 };
58 ptr[4] = new EventData
59 {
60 Size = 8,
61 DataPointer = (IntPtr)(&InclusiveFrom)
62 };
63 ptr[5] = new EventData
64 {
65 Size = 8,
66 DataPointer = (IntPtr)(&ExclusiveTo)
67 };
68 WriteEventCore(1, 6, ptr);
69 }
70 }
71
72 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:UnrecognizedReflectionPattern", Justification = "Parameters to this method are primitive and are trimmer safe")]
73 [Event(2, Level = EventLevel.Informational, Task = (EventTask)1, Opcode = EventOpcode.Stop)]
74 public unsafe void ParallelLoopEnd(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID, long TotalIterations)
75 {
76 if (IsEnabled(EventLevel.Informational, EventKeywords.All))
77 {
78 EventData* ptr = stackalloc EventData[4];
79 *ptr = new EventData
80 {
81 Size = 4,
82 DataPointer = (IntPtr)(&OriginatingTaskSchedulerID)
83 };
84 ptr[1] = new EventData
85 {
86 Size = 4,
87 DataPointer = (IntPtr)(&OriginatingTaskID)
88 };
89 ptr[2] = new EventData
90 {
91 Size = 4,
92 DataPointer = (IntPtr)(&ForkJoinContextID)
93 };
94 ptr[3] = new EventData
95 {
96 Size = 8,
97 DataPointer = (IntPtr)(&TotalIterations)
98 };
99 WriteEventCore(2, 4, ptr);
100 }
101 }
102
103 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:UnrecognizedReflectionPattern", Justification = "Parameters to this method are primitive and are trimmer safe")]
104 [Event(3, Level = EventLevel.Informational, Task = (EventTask)2, Opcode = EventOpcode.Start)]
105 public unsafe void ParallelInvokeBegin(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID, ForkJoinOperationType OperationType, int ActionCount)
106 {
107 if (IsEnabled(EventLevel.Informational, EventKeywords.All))
108 {
109 EventData* ptr = stackalloc EventData[5];
110 *ptr = new EventData
111 {
112 Size = 4,
113 DataPointer = (IntPtr)(&OriginatingTaskSchedulerID)
114 };
115 ptr[1] = new EventData
116 {
117 Size = 4,
118 DataPointer = (IntPtr)(&OriginatingTaskID)
119 };
120 ptr[2] = new EventData
121 {
122 Size = 4,
123 DataPointer = (IntPtr)(&ForkJoinContextID)
124 };
125 ptr[3] = new EventData
126 {
127 Size = 4,
128 DataPointer = (IntPtr)(&OperationType)
129 };
130 ptr[4] = new EventData
131 {
132 Size = 4,
133 DataPointer = (IntPtr)(&ActionCount)
134 };
135 WriteEventCore(3, 5, ptr);
136 }
137 }
138
139 [Event(4, Level = EventLevel.Informational, Task = (EventTask)2, Opcode = EventOpcode.Stop)]
140 public void ParallelInvokeEnd(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID)
141 {
142 if (IsEnabled(EventLevel.Informational, EventKeywords.All))
143 {
144 WriteEvent(4, OriginatingTaskSchedulerID, OriginatingTaskID, ForkJoinContextID);
145 }
146 }
147
148 [Event(5, Level = EventLevel.Verbose, Task = (EventTask)5, Opcode = EventOpcode.Start)]
149 public void ParallelFork(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID)
150 {
151 if (IsEnabled(EventLevel.Verbose, EventKeywords.All))
152 {
153 WriteEvent(5, OriginatingTaskSchedulerID, OriginatingTaskID, ForkJoinContextID);
154 }
155 }
156
157 [Event(6, Level = EventLevel.Verbose, Task = (EventTask)5, Opcode = EventOpcode.Stop)]
158 public void ParallelJoin(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID)
159 {
160 if (IsEnabled(EventLevel.Verbose, EventKeywords.All))
161 {
162 WriteEvent(6, OriginatingTaskSchedulerID, OriginatingTaskID, ForkJoinContextID);
163 }
164 }
165}
unsafe void WriteEventCore(int eventId, int eventDataCount, EventData *data)
unsafe void WriteEvent(int eventId)
static readonly ParallelEtwProvider Log
unsafe void ParallelInvokeBegin(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID, ForkJoinOperationType OperationType, int ActionCount)
void ParallelJoin(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID)
unsafe void ParallelLoopEnd(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID, long TotalIterations)
unsafe void ParallelLoopBegin(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID, ForkJoinOperationType OperationType, long InclusiveFrom, long ExclusiveTo)
void ParallelInvokeEnd(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID)
void ParallelFork(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID)