-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMicrosoft.Diagnostics.Tracing.TraceEvent.xml
14277 lines (14053 loc) · 794 KB
/
Microsoft.Diagnostics.Tracing.TraceEvent.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Diagnostics.Tracing.TraceEvent</name>
</assembly>
<members>
<member name="T:Microsoft.Diagnostics.Tracing.AutomatedAnalysis.AnalyzerConfiguration">
<summary>
Per-analyzer configuration.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.AutomatedAnalysis.StackView.GetTraceEventStackSource(Microsoft.Diagnostics.Tracing.Stacks.StackSource)">
<summary>
Unwind the wrapped sources to get to a TraceEventStackSource if possible.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.BPerfEventSourceDecompress">
<summary>
delegate for decompress BPerf file.
</summary>
<param name="input">input byte array for decompress</param>
<param name="inputOffset">the offset of stream start position</param>
<param name="inputLength">the length of input stream</param>
<param name="output">the output buffer byte array</param>
<param name="outputLength">the length of output stream</param>
<returns></returns>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.BPerfEventSource">
<summary>
BPerf Trace Log (BTL) are files generated by the CPU Samples Collector tool in https://github.com/Microsoft/BPerf
The layout of the file is as follows -->
Format:
4 byte integer describing compressed size
4 byte integer describing uncompressed size
byte[compressed size]
The byte array is a list of EVENT_RECORDs. Each Event_RECORD is aligned to 16-bytes.
The EVENT_RECORD is laid out as a memory dump of the structure in memory. All pointers from
the structure are laid out successively in front of the EVENT_RECORD.
The compression mechanism is using the LZ4 17-Bits Window, 3 Bit Run Length, 4 Bits Match Length.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.BPerfEventSource.DecompressDelegate">
<summary>
The delegate for decompress btl event file.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.BPerfEventSource.#ctor(System.String,Microsoft.Diagnostics.Tracing.TraceEventDispatcherOptions)">
<summary>
This constructor is used when the consumer has an offset within the BTL file that it would like to seek to.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.BPerfEventSource.#ctor(System.String,Microsoft.Diagnostics.Tracing.TraceEventDispatcherOptions,System.Byte[],System.Byte[],System.Boolean,Microsoft.Diagnostics.Tracing.BPerfEventSourceDecompress)">
<summary>
This constructor is used when the consumer is supplying the buffers for reasons like buffer pooling.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.BPerfEventSource.ULZ777Decompress(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
<summary>
The delegate function to decompress by using ULZ777 algorithm
</summary>
<returns></returns>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.ActivityComputer">
<summary>
An ActivityComputer is a state machine that track information about Activities. In particular, it can
compute a activity aware call stack. (GetCallStack).
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.#ctor(Microsoft.Diagnostics.Tracing.Etlx.TraceLogEventSource,Microsoft.Diagnostics.Symbols.SymbolReader,Microsoft.Diagnostics.Tracing.GCReferenceComputer)">
<summary>
Construct a new ActivityComputer that will process events from 'eventLog' and output activity - aware stacks to 'outputStackSource'.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.ActivityComputer.Log">
<summary>
Returns the TraceLog that is associated with the computer (at construction time)
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.ActivityComputer.Create">
<summary>
Fires when an activity is first created (scheduled). The activity exists, and has an ID, but has not run yet.
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.ActivityComputer.Start">
<summary>
First when an activity starts to run (using a thread). It fires after the start has logically happened.
so you are logically in the started activity.
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.ActivityComputer.Stop">
<summary>
Fires when the activity ends (no longer using a thread). It fires just BEFORE the task actually dies
(that is you ask the activity of the event being passed to 'Stop' it will still give the passed
activity as the answer). The first TraceActivity is the activity that was stopped, the second
is the activity that exists afer the stop completes.
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.ActivityComputer.AfterStop">
<summary>
Like OnStop but gets called AFTER the stop has completed (thus the current thread's activity has been updated)
The activity may be null, which indicates a failure to look up the activity being stopped (and thus the
thread's activity will be set to null).
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.ActivityComputer.AwaitUnblocks">
<summary>
AwaitUnblocks is a specialized form of the 'Start' event that fires when a task starts because
an AWAIT has ended. The start event also fires on awaits end and comes AFTER the AwaitUnblocks
event has been delivered.
Not every AWAIT end causes a callback. Because an AWAIT begin happens for every FRAME you only
want a callback for the FIRST task (activity) created by parent of this activity. This is what
this callback does.
AwaitUnblocks are often treated differently because you want to consider the time between the begin
(Activity Created) and awaitUnbock to be accounted for as on the critical path, whereas for 'normal'
tasks you normally don't think that time is interesting.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.GetCurrentActivity(Microsoft.Diagnostics.Tracing.Etlx.TraceThread)">
<summary>
Fetches the current activity for 'thread' at the present time (the current event being dispatched).
Never returns null because there is always and activity (it may be the thread task).
This is arguably the main thing that this computer keeps track of.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.GetActivityRepresentingThread(Microsoft.Diagnostics.Tracing.Etlx.TraceThread)">
<summary>
Gets the default activity for a thread (the activity a thread is doing when the thread starts).
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.ActivityComputer.Item(Microsoft.Diagnostics.Tracing.Etlx.ActivityIndex)">
<summary>
Maps an activity index back to its activity.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.GetCallStack(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.TraceEvent,System.Func{Microsoft.Diagnostics.Tracing.Etlx.TraceThread,Microsoft.Diagnostics.Tracing.Stacks.StackSourceCallStackIndex},System.Boolean)">
<summary>
Returns a activity-aware call stackIndex associated with'ouputStackSource' for the call stack associated with 'data'.
Such activity-aware call stacks have pseudo-frame every time on thread causes another task to run code (because the
creator 'caused' the target code).
If 'topFrames' is non-null, then this function is called with a Thread and is expected to return a CallStack index that
represents the thread-and-process nodes of the stack. This allows the returned stack to be have pseudo-frames
at the root of the stack. Typically this is used to represent the 'request' or other 'global' context. If it is not
present the thread and process are used to form these nodes.
This needs to be a function mapping threads to the stack base rather than just the stack base because in the presence
of activities the thread at the 'base' whose 'top' you want may not be the one that 'data' started with, so the caller
needs to be prepared to answer the question about any thread.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.GetCallStackForActivity(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.Etlx.TraceActivity,System.Func{Microsoft.Diagnostics.Tracing.Etlx.TraceThread,Microsoft.Diagnostics.Tracing.Stacks.StackSourceCallStackIndex})">
<summary>
Returns a StackSource call stack associated with outputStackSource for the activity 'activity' (that is the call stack at the
the time this activity was first created. This stack will have it 'top' defined by topFrames (by default just the thread and process frames)
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.GetActivityStack(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.Etlx.TraceActivity)">
<summary>
This is not a call stack but rather the chain of ACTIVITIES (tasks), and can be formed even when call stacks
Returns a Stack Source stack associated with outputStackSource where each frame is a task starting with 'activity' and
going back until the activity has no parent (e.g. the Thread's default activity).
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ActivityComputer.NoCache">
<summary>
If set, we don't assume that the top top frames are an attribute of the TOP THREAD (if they vary based on
the current activity, then you can't cache. Setting this disables caching.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.IsThreadParkedInThreadPool(Microsoft.Diagnostics.Tracing.Etlx.TraceLog,Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex)">
<summary>
Returns true if the call stack is in the thread pool parked (not running user code)
This means that the thread CAN'T be running an active activity and we can kill it.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.ActivityComputer.CallStackCache">
<summary>
This cache remembers Activity * CallStackIndex pairs and the result.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ActivityComputer.CallStackCache.CurrentActivityIndex">
<summary>
Remembers the current Activity for 'Get' and 'Put' operations. Needs to be set before Get or Put is called.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.CallStackCache.Get(Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex)">
<summary>
Gets the cache entry for the CurrnetActivityIndex with the call stack 'fromStackIndex' returns Invalid if
there is no entry.
This is not passed the CurrentActivityIndex, so it can implement the CallStackMap interface
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.CallStackCache.Put(Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex,Microsoft.Diagnostics.Tracing.Stacks.StackSourceCallStackIndex)">
<summary>
updates the cache entry for the CurrnetActivityIndex with the call stack 'fromStackIndex' with the value
'toStackIndex'
This is not passed the CurrentActivityIndex, so it can implement the CallStackMap interface
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.OnCreated(Microsoft.Diagnostics.Tracing.TraceEvent,System.UInt64,Microsoft.Diagnostics.Tracing.Etlx.TraceActivity.ActivityKind)">
<summary>
Creation handles ANY creation of a task.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.OnStop(Microsoft.Diagnostics.Tracing.TraceEvent,Microsoft.Diagnostics.Tracing.Etlx.TraceActivity,Microsoft.Diagnostics.Tracing.Etlx.TraceThread)">
<summary>
Activity can be null, which means we could not figure out the activity we are stopping.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.GetTPLRawID(Microsoft.Diagnostics.Tracing.TraceEvent,System.Int32,Microsoft.Diagnostics.Tracing.ActivityComputer.IDType)">
<summary>
Get a trace wide ID for a TPL event. TPL tasks might be 'Scheduled' in the sense
that it might run independently on another thread. Tasks that do 'BeginWait and 'EndWait'
are not scheduled. The same ID might have both operating simultaneously (if you wait
on a scheduled task). Thus you need an independent ID for both.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.GetCallStackWithActivityFrames(Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex,Microsoft.Diagnostics.Tracing.Etlx.TraceActivity,System.Func{Microsoft.Diagnostics.Tracing.Etlx.TraceThread,Microsoft.Diagnostics.Tracing.Stacks.StackSourceCallStackIndex})">
<summary>
if 'activity' has not creator (it is top-level), then return baseStack (near execution) followed by 'top' representing the thread-process frames.
otherwise, find the fragment of 'baseStack' up to the point to enters the threadpool (the user code) and splice it to the stack of the creator
of the activity and return that. (thus returning your full user-stack).
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.TrimETWFrames(Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex)">
<summary>
Trims off frames that call ETW logic and return. If the pattern is not matched, we return callStackIndex
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.IsRecursiveTask(Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex,Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex,Microsoft.Diagnostics.Tracing.Stacks.StackSourceCallStackIndex)">
<summary>
If the stack from 'startStack' (closest to execution) through 'stopStack' is the same as 'baseStack' return a non-invalid frame
indicating that it is recursive and should be dropped. The frame index returned is the name of the task on 'baseStack' that
begins the recursion (so you can update it if necessary)
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.SpliceStack(Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex,Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex,Microsoft.Diagnostics.Tracing.Stacks.StackSourceCallStackIndex)">
<summary>
Create a stack which is executing at 'startStack' and finds the region until 'stopStack', appending that (in order) to 'baseStack'.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.FindThreadPoolTransition(Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex)">
<summary>
Returns the point in 'callStackIndex' where the CLR thread pool transitions from
a thread pool worker to the work being done by the threadpool.
Basically we find the closest to execution (furthest from thread-start) call to a 'Run' method
that shows we are running an independent task.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ActivityComputer.ResolveWellKnownSymbols">
<summary>
Used by TrimETWFrames and FindThreadPoolTransition to find particular frame names and place the information in 'm_methodFlags'
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ActivityComputer.m_methodFlags">
<summary>
We look for various well known methods inside the Task library. This array maps method indexes
and returns a bitvector of 'kinds' of methods (Run, Schedule, ScheduleHelper).
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.GCReferenceID">
<summary>
A small number that you can get from the GetReferenceForGCAddress that is
invariant as the GC address moves around during GCs. Because this index
is small it can be used to store information about the GC reference in a
side growable array.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.GCReferenceID.Dead">
<summary>
Indicates that the address is no longer alive.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.GCReferenceComputer">
<summary>
This computer will keep track of GC references as they change over time
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.GCReferenceComputer.#ctor(Microsoft.Diagnostics.Tracing.TraceEventDispatcher)">
<summary>
Create a new GCRefernece computer from the stream of events 'source'. When 'source' is processed
you can call 'GetReferenceForGCAddress' to get stable ids for GC references.
</summary>
<param name="source"></param>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.GCReferenceComputer.GetReferenceForGCAddress(System.UInt64)">
<summary>
Get a stable ID for a GcAddress. This ID can be compared for object identity.
This only works at the current point in time when scanning the source.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.GCReferenceComputer.DisposeGCReference(Microsoft.Diagnostics.Tracing.GCReferenceID)">
<summary>
If you no longer need to track the GC reference, call this function to remove the tracking.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer">
<summary>
A EventPipeThreadTimeComputer does a simple simulation of what each thread is doing to create stack events that represent
CPU, blocked time
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.#ctor(Microsoft.Diagnostics.Tracing.Etlx.TraceLog,Microsoft.Diagnostics.Symbols.SymbolReader)">
<summary>
Create a new ThreadTimeComputer
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.UseTasks">
<summary>
If set we compute thread time using Tasks
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.IncludeEventSourceEvents">
<summary>
Track additional info on like EventName or so.
Default to true to keep backward compatibility.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.GroupByStartStopActivity">
<summary>
Use start-stop activities as the grouping construct.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.IgnoreApplicationInsightsRequestsWithRelatedActivityId">
<summary>
Reduce nested application insights requests by using related activity id.
</summary>
<value></value>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.GenerateThreadTimeStacks(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.Etlx.TraceEvents)">
<summary>
Generate the thread time stacks, outputting to 'stackSource'.
</summary>
<param name="outputStackSource"></param>
<param name="traceEvents">Optional filtered trace events.</param>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.UpdateThreadToWorkOnStartStopActivity(Microsoft.Diagnostics.Tracing.Etlx.TraceThread,Microsoft.Diagnostics.Tracing.StartStopActivity,Microsoft.Diagnostics.Tracing.TraceEvent)">
<summary>
Updates it so that 'thread' is now working on newStartStop, which can be null which means that it is not working on any
start-stop task.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.OnSampledProfile(Microsoft.Diagnostics.Tracing.TraceEvent)">
<summary>
This can actually be called with any event that has a stack. Basically it will log a CPU sample whose
size is the time between the last such call and the current one.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.GetCallStack(Microsoft.Diagnostics.Tracing.TraceEvent,Microsoft.Diagnostics.Tracing.Etlx.TraceThread)">
<summary>
Get the call stack for 'data' Note that you thread must be data.Thread(). We pass it just to save the lookup.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.GetTopFramesForActivityComputerCase(Microsoft.Diagnostics.Tracing.TraceEvent,Microsoft.Diagnostics.Tracing.Etlx.TraceThread,System.Boolean)">
<summary>
Returns a function that figures out the top (closest to stack root) frames for an event. Often
this returns null which means 'use the normal thread-process frames'.
Normally this stack is for the current time, but if 'getAtCreationTime' is true, it will compute the
stack at the time that the current activity was CREATED rather than the current time. This works
better for await time.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.ThreadState">
<summary>
Represents all the information that we need to track for each thread.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.m_unknownTimeStartMsec">
<summary>
Used to create UNKNOWN frames for start-stop activities. This is indexed by StartStopActivityIndex.
and for each start-stop activity indicates when unknown time starts. However if that activity still
has known activities associated with it then the number will be negative, and its value is the
ref-count of known activities (thus when it falls to 0, it we set it to the start of unknown time.
This is indexed by the TOP-MOST start-stop activity.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.m_threadToStartStopActivity">
<summary>
maps thread ID to the current TOP-MOST start-stop activity running on that thread. Used to updated m_unknownTimeStartMsec
to figure out when to put in UNKNOWN_ASYNC nodes.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.SampleProfilerThreadTimeComputer.m_startStopActivityToAsyncUnknownSamples">
<summary>
Sadly, with AWAIT nodes might come into existence AFTER we would have normally identified
a region as having no thread/await working on it. Thus you have to be able to 'undo' ASYNC_UNKONWN
nodes. We solve this by remembering all of our ASYNC_UNKNOWN nodes on a list (basically provisional)
and only add them when the start-stop activity dies (when we know there can't be another AWAIT.
Note that we only care about TOP-MOST activities.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.ServerRequestComputer">
<summary>
Calculates stacks grouping them by the server request (e.g. ASP.NET) request they are for)
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ServerRequestComputer.#ctor(Microsoft.Diagnostics.Tracing.TraceEventDispatcher)">
<summary>
Create a new ServerRequest Computer.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ServerRequestComputer.GetCurrentRequest(Microsoft.Diagnostics.Tracing.Etlx.TraceThread)">
<summary>
The server request that we currently processing
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.ServerRequest">
<summary>
A ServerRequest contains all the information we know about a server request (e.g. ASP.NET request)
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ServerRequest.Url">
<summary>
Any URL associated with the request
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ServerRequest.ID">
<summary>
If the request has a GUID associated with it to uniquely identify it, this is it
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ServerRequest.StartTime">
<summary>
The time that the request started (or the earliest that we know about it)
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.StartStopActivityComputer">
<summary>
Calculates start-stop activities (computes duration), It uses the 'standard' mechanism of using
ActivityIDs to corelate the start and stop (and any other events between the start and stop,
and use the RelatedActivityID on START events to indicate the creator of the activity, so you can
form nested start-stop activities.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.#ctor(Microsoft.Diagnostics.Tracing.Etlx.TraceLogEventSource,Microsoft.Diagnostics.Tracing.ActivityComputer,System.Boolean)">
<summary>
Create a new ServerRequest Computer.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.GetCurrentStartStopActivity(Microsoft.Diagnostics.Tracing.Etlx.TraceThread,Microsoft.Diagnostics.Tracing.TraceEvent)">
<summary>
The current start-stop activity on the given thread.
If present 'context' is used to look up the current activityID and try to use that to repair missing Starts.
Basically if we can't figure out what StartStop activity the thread from just the threadID we can use the activityID
from the 'context' event to find it as a backup.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.GetStartStopActivityForActivity(Microsoft.Diagnostics.Tracing.Etlx.TraceActivity)">
<summary>
Gets the current Start-Stop activity for a given TraceActivity.
</summary>
<param name="curActivity"></param>
<returns></returns>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.GetCurrentStartStopActivityStack(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.Etlx.TraceThread,Microsoft.Diagnostics.Tracing.Etlx.TraceThread,System.Boolean)">
<summary>
Returns a stack index representing the nesting of Start-Stop activities for the thread 'curThread' at the current time
(At this point of the current event for the computer). The stack starts with a frame for the process of the thread, then
has all the start-stop activity frames, then a frame representing 'topThread' which may not be the same as 'thread' since
'topThread' is the thread that spawned the first task, not the currently executing thread.
Normally this stack is for the current time, but if 'getAtCreationTime' is true, it will compute the
stack at the time that the current activity was CREATED rather than the current time. This works
better for await time
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.GetStartStopActivityStack(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.StartStopActivity,Microsoft.Diagnostics.Tracing.Etlx.TraceProcess)">
<summary>
Gets a stack that represents the nesting of the Start-Stop tasks. curActivity can be null, in which case just he process node is returned.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.Start">
<summary>
If set, called AFTER a Start-Stop activity starts, called with the activity and the event that caused the start.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.Stop">
<summary>
If set, called BEFORE a Start-Stop activity stops, called with the activity and the event that caused the start.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.IsActivityPath(System.Guid,System.Int32)">
<summary>
Returns true if 'guid' follow the EventSouce style activity ID for the process with ID processID.
You can pass a process ID of 0 to this routine and it will do the best it can, but the possibility
of error is significantly higher (but still under .1%)
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.ActivityPathProcessID(System.Guid)">
<summary>
Assuming guid is an Activity Path, extract the process ID from it.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.ActivityPathString(System.Guid,System.Int32)">
<summary>
returns a string representation for the activity path. If the GUID is not an activity path then it returns
the normal string representation for a GUID.
</summary>
<remarks>
0001111d-0000-0000-0000-00007bc7be59 will pass IsActivityPath check only when process Id 2125233 is provided.
</remarks>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.DoStopIfNecessary">
<summary>
We don't do a stop all processing associated with the stop event is done. Thus if we are not 'on'
the stop event, then you can do any deferred processing.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.TryProcessDiagnosticSourceStartEvents(Microsoft.Diagnostics.Tracing.TraceEvent)">
<summary>
Try to process some predefined DiagnosticSource ("Microsoft.EntityFrameworkCore.BeforeExecuteCommand" and "Microsoft.AspNetCore.Hosting.BeginRequest") start events.
This will try to filter the events by "EventName", if failed it will return false without any further processing.
</summary>
<returns>Whether or not succeeded in processing the event</returns>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.FixAndProcessWindowsASP(Microsoft.Diagnostics.Tracing.TraceEvent,System.Collections.Generic.KeyValuePair{System.Guid,System.Guid}[])">
<summary>
fix ASP.NET receiving events
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.GetActiveStartStopActivityTable(System.Guid,System.Int32)">
<summary>
Look up a start-stop activity by its ID. Note that the 'activityID' needs to be unique for that instance
within a process. (across ALL start-stop activities, which means it may need components that encode its
provider and task). We pass the process ID as well so that it will be unique in the whole trace.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.StartStopActivityComputer.NumberListCodes">
<summary>
The encoding for a list of numbers used to make Activity Guids. Basically
we operate on nibbles (which are nice because they show up as hex digits). The
list is ended with a end nibble (0) and depending on the nibble value (Below)
the value is either encoded into nibble itself or it can spill over into the
bytes that follow.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.StartStopActivityIndex">
<summary>
An dense number that defines the identity of a StartStopActivity. Used to create side arrays
for StartStopActivity info.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.StartStopActivityIndex.Illegal">
<summary>
An illegal index, sutable for a sentinal.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.StartStopActivity">
<summary>
A StartStop reresents an activity between a start and stop event as generated by EvetSource.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.Index">
<summary>
The index (small dense numbers suitabilty for array indexing) for this activity.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.Name">
<summary>
The name of the activity (The Task name for the start-stop event as well as the activity ID)
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.KnownType">
<summary>
Known Activity Type
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.ExtraInfo">
<summary>
If the activity has additional information associated with it (e.g. a URL), put it here. Can be null.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.TaskName">
<summary>
The Task name (the name prefix that is common to both the start and stop event)
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.ProcessID">
<summary>
The processID associated with this activity
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.ActivityID">
<summary>
The Activity ID (as a GUID) that matches the start and stop together.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.ActivityPathString">
<summary>
The path of creators that created this activity.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.Creator">
<summary>
The start-stop activity that created this activity (thus it makes a tree)
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.StartEventIndex">
<summary>
The TraceLog event Index, of the start event (you can get addition info)
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.StopEventIndex">
<summary>
The TraceLog event Index, of the stop event (you can get addition info)
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.StartTimeRelativeMSec">
<summary>
The time in MSec from the start of the trace when the start event happened.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.DurationMSec">
<summary>
The duration of activity in MSec (diff between stop and start)
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.StartStopActivity.IsStopped">
<summary>
This activity has completed (the Stop event has been received). Thus Duration is valid.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivity.GetActivityStack(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.Stacks.StackSourceCallStackIndex)">
<summary>
Returns a stack on the outputStackSource which has a frame for each activity that
caused this activity, as well as the root of the given 'rootStack' (often a stack representing the process).
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivity.ToString">
<summary>
override. Gives the name and start time.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.StartStopActivity.RememberStop(Microsoft.Diagnostics.Tracing.EventIndex,System.Double,Microsoft.Diagnostics.Tracing.Etlx.ActivityIndex)">
<summary>
We don't update the state for the stop at the time of the stop, but at the next call to any of the StartStopActivityComputer APIs.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.TcpIpComputer">
<summary>
A TcpIpComputer keeps track of TCP/IP connections so that you can correlate individual reads and
writes with the connection info (like the IP address of each end), as well as data packets being
sent (if you have packet capture turned on).
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.TcpIpComputer.#ctor(Microsoft.Diagnostics.Tracing.TraceEventDispatcher)">
<summary>
Create a new GCRefernece computer from the stream of events 'source'. When 'source' is processed
you can call 'GetReferenceForGCAddress' to get stable ids for GC references.
</summary>
<param name="source"></param>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer">
<summary>
A ThreadTimeComputer does a simple simulation of what each thread is doing to create stack events that represent
CPU, blocked time, disk and Network activity.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.#ctor(Microsoft.Diagnostics.Tracing.Etlx.TraceLog,Microsoft.Diagnostics.Symbols.SymbolReader)">
<summary>
Create a new ThreadTimeComputer
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.UseTasks">
<summary>
If set we compute thread time using Tasks
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.IncludeEventSourceEvents">
<summary>
Track additional info on like EventName or so.
Default to true to keep backward compatibility.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.BlockedTimeOnly">
<summary>
If set we compute blocked time
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.ExcludeReadyThread">
<summary>
If set we don't show ready thread information
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.GroupByAspNetRequest">
<summary>
If set we group by ASP.NET Request
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.MiniumReadiedTimeMSec">
<summary>
If we spend less then this amount of time waiting for the CPU, don't bother showing it.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.GroupByStartStopActivity">
<summary>
LIke the GroupByAspNetRequest but use start-stop activities instead of ASP.NET Requests as the grouping construct.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.IgnoreApplicationInsightsRequestsWithRelatedActivityId">
<summary>
Reduce nested application insights requests by using related activity id.
</summary>
<value></value>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.NoAwaitTime">
<summary>
Don't show AwaitTime. For CPU only traces showing await time is misleading since
blocked time will not show up.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.GenerateThreadTimeStacks(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.Etlx.TraceEvents)">
<summary>
Generate the thread time stacks, outputting to 'stackSource'.
</summary>
<param name="outputStackSource"></param>
<param name="traceEvents">Optional filtered trace events.</param>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.UpdateThreadToWorkOnStartStopActivity(Microsoft.Diagnostics.Tracing.Etlx.TraceThread,Microsoft.Diagnostics.Tracing.StartStopActivity,Microsoft.Diagnostics.Tracing.TraceEvent)">
<summary>
Updates it so that 'thread' is now working on newStartStop, which can be null which means that it is not working on any
start-stop task.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.OnSampledProfile(Microsoft.Diagnostics.Tracing.TraceEvent)">
<summary>
This can actually be called with any event that has a stack. Basically it will log a CPU sample whose
size is the time between the last such call and the current one.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.GetCallStack(Microsoft.Diagnostics.Tracing.TraceEvent,Microsoft.Diagnostics.Tracing.Etlx.TraceThread)">
<summary>
Get the call stack for 'data' Note that you thread must be data.Thread(). We pass it just to save the lookup.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.GetTopFramesForActivityComputerCase(Microsoft.Diagnostics.Tracing.TraceEvent,Microsoft.Diagnostics.Tracing.Etlx.TraceThread,System.Boolean)">
<summary>
Returns a function that figures out the top (closest to stack root) frames for an event. Often
this returns null which means 'use the normal thread-process frames'.
Normally this stack is for the current time, but if 'getAtCreationTime' is true, it will compute the
stack at the time that the current activity was CREATED rather than the current time. This works
better for await time.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.ThreadState">
<summary>
Represents all the information that we need to track for each thread.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.GetAspNetGuid(Microsoft.Diagnostics.Tracing.Etlx.TraceActivity)">
<summary>
Given and activity, return the ASP.NET Guid associated with it (or Guid.Empty if there is not one).
</summary>
<returns></returns>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.GetAspNetFromProcessFrameThroughThreadFrameStack(System.Guid,Microsoft.Diagnostics.Tracing.TraceEvent,Microsoft.Diagnostics.Tracing.Etlx.TraceThread)">
<summary>
Computes the ASP.NET Pseudo frames from the process frame through the thread frame (which includes all
the pseudo-frames for the ASP.NET groupings.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.TransferAspNetRequestToThread(System.Guid,Microsoft.Diagnostics.Tracing.Etlx.ThreadIndex,System.String)">
<summary>
Indicates that the aspNet request represented by aspNetGuid is now being handled by the thread with index
newThreadIndex. Thus any old threads handling this request are 'cleared' and replaced with 'newThreadIndex'
If 'newThreadIndex == Invalid then the entry for aspNetGuid is removed.
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.GenerateReadyThreadNodes(Microsoft.Diagnostics.Tracing.Stacks.MutableTraceEventStackSource,Microsoft.Diagnostics.Tracing.Stacks.StackSourceCallStackIndex,Microsoft.Diagnostics.Tracing.Etlx.CallStackIndex,System.Double,System.Int32)">
<summary>
Generate a stack that from the root looks like 'stackIndex followed by 'READIED BY TID(XXXX)'
followed by frames of 'readyThreadCallStack' (suffixed by READIED_BY)
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.NetworkInfo">
<summary>
NetworkInfo remembers useful information to tag blocked time that seems to be network related.
It is the value of the m_lastPacketForProcess table mapping threads to network information.
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.AspNetRequestInfo">
<summary>
AspNetRequestInfo remembers everything we care about associate with an single ASP.NET request.
It is the value of the m_aspNetRequestInfo table.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.m_unknownTimeStartMsec">
<summary>
Used to create UNKNOWN frames for start-stop activities. This is indexed by StartStopActivityIndex.
and for each start-stop activity indicates when unknown time starts. However if that activity still
has known activities associated with it then the number will be negative, and its value is the
ref-count of known activities (thus when it falls to 0, it we set it to the start of unknown time.
This is indexed by the TOP-MOST start-stop activity.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.m_threadToStartStopActivity">
<summary>
maps thread ID to the current TOP-MOST start-stop activity running on that thread. Used to updated m_unknownTimeStartMsec
to figure out when to put in UNKNOWN_ASYNC nodes.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.m_startStopActivityToAsyncUnknownSamples">
<summary>
Sadly, with AWAIT nodes might come into existence AFTER we would have normally identified
a region as having no thread/await working on it. Thus you have to be able to 'undo' ASYNC_UNKONWN
nodes. We solve this by remembering all of our ASYNC_UNKNOWN nodes on a list (basically provisional)
and only add them when the start-stop activity dies (when we know there can't be another AWAIT.
Note that we only care about TOP-MOST activities.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.m_IRPToThread">
<summary>
m_IRPToThread maps the I/O request to the thread that initiated it. This way we can associate
the disk read size and file with the thread that asked for it.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.m_threadIDUsingProc">
<summary>
Maps processor number to the OS threadID of the thread that is using it. Allows you
to determine how (CPU) idle the machine is.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.ThreadTimeStackComputer.m_numIdleProcs">
<summary>
Using m_threadIDUsingProc, we compute how many processor are current doing nothing
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.NewThreadTimeComputer.Log">
<summary>
Returns the TraceLog that is associated with the computer (at construction time)
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntimeExtensions">
<summary>
Extension methods to enable TraceManagedProcess
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime">
<summary>
Extension properties for TraceProcess that include necessary .NET values
TODO This implementation is poor at idenitfying the ParentPID, 64bitness, and Start/End times
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.RuntimeVersion">
<summary>
Returns the textual version of the .NET Framework
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.StartupFlags">
<summary>
Returns the .NET startup flags
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.RuntimeBuiltTime">
<summary>
Date and time of when the runtime was built
This is useful when a more detailed version is not present
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.GC">
<summary>
Garbage Collector (GC) specific details about this process
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.GCStart">
<summary>
Fired on the start of a GC
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.GCEnd">
<summary>
Fired at the end of the GC. Given the nature of the GC, it is possible that multiple GCs will be inflight at the same time.
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.JIT">
<summary>
Just-in-time compilation (JIT) specific details about this process
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.JITMethodStart">
<summary>
Fired when a managed method is starting to compile (jit)
</summary>
</member>
<member name="E:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.JITMethodEnd">
<summary>
Fired when a managed method is done compiling (jitting). Given the nature of the JIT, it is possible that multiple methods will be compiled at the same time.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.HasAnyKnownOptimizationTier">
<summary>
Indicates whether any of the jitted method code versions have a known optimization tier
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.IsTieredCompilationEnabled">
<summary>
Indicates whether tiered compilation is enabled
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.ToString">
<summary>
An XML representation of the TraceEventProcess (for debugging)
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.Analysis.TraceLoadedDotNetRuntime.SetupCallbacks(Microsoft.Diagnostics.Tracing.TraceEventDispatcher)">
<summary>
Gathers relevant details about the processes in the event source
</summary>
<param name="source"></param>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.Analysis.TraceGarbageCollector">
<summary>
Garbage Collector (GC) specific details about this process
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.Analysis.TraceGarbageCollector.Stats">
<summary>
Process view of GC statistics
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.Analysis.TraceGarbageCollector.Generations">
<summary>
Process view of GC generational statistics
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.Analysis.TraceGarbageCollector.GCs">
<summary>
Process view of all GCs
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.Analysis.TraceJitCompiler">
<summary>
Just-in-time compilation (JIT) specific details about this process
</summary>
</member>
<member name="M:Microsoft.Diagnostics.Tracing.Analysis.TraceJitCompiler.Stats">
<summary>
Process view of JIT statistics
</summary>
</member>
<member name="P:Microsoft.Diagnostics.Tracing.Analysis.TraceJitCompiler.Methods">
<summary>
Process view of all methods jitted
</summary>
</member>
<member name="T:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC">
<summary>
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC.Number">
<summary>
Primary GC information
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC.Type">
<summary>
Type of the GC, eg. NonConcurrent, Background or Foreground
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC.Reason">
<summary>
Reason for the GC, eg. exhausted small heap, etc.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC.Generation">
<summary>
Generation of the heap collected. If you compare Generation at the start and stop GC events they may differ.
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC.StartRelativeMSec">
<summary>
Time relative to the start of the trace. Useful for ordering
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC.DurationMSec">
<summary>
Duration of the GC, excluding the suspension time
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC.PauseDurationMSec">
<summary>
Duration the EE suspended the process
</summary>
</member>
<member name="F:Microsoft.Diagnostics.Tracing.Analysis.GC.TraceGC.SuspendDurationMSec">
<summary>
Time the EE took to suspend all the threads