1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
6 using System.Collections.Generic;
8 namespace Mono.Profiler.Log {
10 public sealed class AppDomainLoadEvent : LogEvent {
12 public long AppDomainId { get; internal set; }
14 internal override void Accept (LogEventVisitor visitor)
20 public sealed class AppDomainUnloadEvent : LogEvent {
22 public long AppDomainId { get; internal set; }
24 internal override void Accept (LogEventVisitor visitor)
30 public sealed class AppDomainNameEvent : LogEvent {
32 public long AppDomainId { get; internal set; }
34 public string Name { get; internal set; }
36 internal override void Accept (LogEventVisitor visitor)
42 public sealed class ContextLoadEvent : LogEvent {
44 public long ContextId { get; internal set; }
46 public long AppDomainId { get; internal set; }
48 internal override void Accept (LogEventVisitor visitor)
54 public sealed class ContextUnloadEvent : LogEvent {
56 public long ContextId { get; internal set; }
58 public long AppDomainId { get; internal set; }
60 internal override void Accept (LogEventVisitor visitor)
66 public sealed class ThreadStartEvent : LogEvent {
68 public long ThreadId { get; internal set; }
70 internal override void Accept (LogEventVisitor visitor)
76 public sealed class ThreadEndEvent : LogEvent {
78 public long ThreadId { get; internal set; }
80 internal override void Accept (LogEventVisitor visitor)
86 public sealed class ThreadNameEvent : LogEvent {
88 public long ThreadId { get; internal set; }
90 public string Name { get; internal set; }
92 internal override void Accept (LogEventVisitor visitor)
98 public sealed class ImageLoadEvent : LogEvent {
100 public long ImagePointer { get; internal set; }
102 public string Name { get; internal set; }
104 internal override void Accept (LogEventVisitor visitor)
106 visitor.Visit (this);
110 public sealed class ImageUnloadEvent : LogEvent {
112 public long ImagePointer { get; internal set; }
114 public string Name { get; internal set; }
116 internal override void Accept (LogEventVisitor visitor)
118 visitor.Visit (this);
122 public sealed class AssemblyLoadEvent : LogEvent {
124 public long AssemblyPointer { get; internal set; }
126 public long ImagePointer { get; internal set; }
128 public string Name { get; internal set; }
130 internal override void Accept (LogEventVisitor visitor)
132 visitor.Visit (this);
136 public sealed class AssemblyUnloadEvent : LogEvent {
138 public long AssemblyPointer { get; internal set; }
140 public long ImagePointer { get; internal set; }
142 public string Name { get; internal set; }
144 internal override void Accept (LogEventVisitor visitor)
146 visitor.Visit (this);
150 public sealed class ClassLoadEvent : LogEvent {
152 public long ClassPointer { get; internal set; }
154 public long ImagePointer { get; internal set; }
156 public string Name { get; internal set; }
158 internal override void Accept (LogEventVisitor visitor)
160 visitor.Visit (this);
164 public sealed class JitEvent : LogEvent {
166 public long MethodPointer { get; internal set; }
168 public long CodePointer { get; internal set; }
170 public long CodeSize { get; internal set; }
172 public string Name { get; internal set; }
174 internal override void Accept (LogEventVisitor visitor)
176 visitor.Visit (this);
180 public sealed class JitHelperEvent : LogEvent {
182 public LogJitHelper Type { get; internal set; }
184 public long BufferPointer { get; internal set; }
186 public long BufferSize { get; internal set; }
188 public string Name { get; internal set; }
190 internal override void Accept (LogEventVisitor visitor)
192 visitor.Visit (this);
196 public sealed class AllocationEvent : LogEvent {
198 public long ClassPointer { get; internal set; }
200 public long ObjectPointer { get; internal set; }
202 public long ObjectSize { get; internal set; }
204 public IReadOnlyList<long> Backtrace { get; internal set; }
206 internal override void Accept (LogEventVisitor visitor)
208 visitor.Visit (this);
212 public sealed class HeapBeginEvent : LogEvent {
214 internal override void Accept (LogEventVisitor visitor)
216 visitor.Visit (this);
220 public sealed class HeapEndEvent : LogEvent {
222 internal override void Accept (LogEventVisitor visitor)
224 visitor.Visit (this);
228 public sealed class HeapObjectEvent : LogEvent {
230 public struct HeapObjectReference {
232 public long Offset { get; internal set; }
234 public long ObjectPointer { get; internal set; }
237 public long ObjectPointer { get; internal set; }
239 public long ClassPointer { get; internal set; }
241 public long ObjectSize { get; internal set; }
243 public IReadOnlyList<HeapObjectReference> References { get; internal set; }
245 internal override void Accept (LogEventVisitor visitor)
247 visitor.Visit (this);
251 public sealed class HeapRootsEvent : LogEvent {
253 public struct HeapRoot {
255 public long ObjectPointer { get; internal set; }
257 public LogHeapRootAttributes Attributes { get; internal set; }
259 public long ExtraInfo { get; internal set; }
262 public long MaxGenerationCollectionCount { get; internal set; }
264 public IReadOnlyList<HeapRoot> Roots { get; internal set; }
266 internal override void Accept (LogEventVisitor visitor)
268 visitor.Visit (this);
272 public sealed class GCEvent : LogEvent {
274 public LogGCEvent Type { get; internal set; }
276 public byte Generation { get; internal set; }
278 internal override void Accept (LogEventVisitor visitor)
280 visitor.Visit (this);
284 public sealed class GCResizeEvent : LogEvent {
286 public long NewSize { get; internal set; }
288 internal override void Accept (LogEventVisitor visitor)
290 visitor.Visit (this);
294 public sealed class GCMoveEvent : LogEvent {
296 public IReadOnlyList<long> OldObjectPointers { get; internal set; }
298 public IReadOnlyList<long> NewObjectPointers { get; internal set; }
300 internal override void Accept (LogEventVisitor visitor)
302 visitor.Visit (this);
306 public sealed class GCHandleCreationEvent : LogEvent {
308 public LogGCHandleType Type { get; internal set; }
310 public long Handle { get; internal set; }
312 public long ObjectPointer { get; internal set; }
314 public IReadOnlyList<long> Backtrace { get; internal set; }
316 internal override void Accept (LogEventVisitor visitor)
318 visitor.Visit (this);
322 public sealed class GCHandleDeletionEvent : LogEvent {
324 public LogGCHandleType Type { get; internal set; }
326 public long Handle { get; internal set; }
328 public IReadOnlyList<long> Backtrace { get; internal set; }
330 internal override void Accept (LogEventVisitor visitor)
332 visitor.Visit (this);
336 public sealed class GCFinalizeBeginEvent : LogEvent {
338 internal override void Accept (LogEventVisitor visitor)
340 visitor.Visit (this);
344 public sealed class GCFinalizeEndEvent : LogEvent {
346 internal override void Accept (LogEventVisitor visitor)
348 visitor.Visit (this);
352 public sealed class GCFinalizeObjectBeginEvent : LogEvent {
354 public long ObjectPointer { get; internal set; }
356 internal override void Accept (LogEventVisitor visitor)
358 visitor.Visit (this);
362 public sealed class GCFinalizeObjectEndEvent : LogEvent {
364 public long ObjectPointer { get; internal set; }
366 internal override void Accept (LogEventVisitor visitor)
368 visitor.Visit (this);
372 public sealed class ThrowEvent : LogEvent {
374 public long ObjectPointer { get; internal set; }
376 public IReadOnlyList<long> Backtrace { get; internal set; }
378 internal override void Accept (LogEventVisitor visitor)
380 visitor.Visit (this);
384 public sealed class ExceptionClauseEvent : LogEvent {
386 public LogExceptionClause Type { get; internal set; }
388 public long Index { get; internal set; }
390 public long MethodPointer { get; internal set; }
392 public long ObjectPointer { get; internal set; }
394 internal override void Accept (LogEventVisitor visitor)
396 visitor.Visit (this);
400 public sealed class EnterEvent : LogEvent {
402 public long MethodPointer { get; internal set; }
404 internal override void Accept (LogEventVisitor visitor)
406 visitor.Visit (this);
410 public sealed class LeaveEvent : LogEvent {
412 public long MethodPointer { get; internal set; }
414 internal override void Accept (LogEventVisitor visitor)
416 visitor.Visit (this);
420 public sealed class ExceptionalLeaveEvent : LogEvent {
422 public long MethodPointer { get; internal set; }
424 internal override void Accept (LogEventVisitor visitor)
426 visitor.Visit (this);
430 public sealed class MonitorEvent : LogEvent {
432 public LogMonitorEvent Event { get; internal set; }
434 public long ObjectPointer { get; internal set; }
436 public IReadOnlyList<long> Backtrace { get; internal set; }
438 internal override void Accept (LogEventVisitor visitor)
440 visitor.Visit (this);
444 public sealed class SampleHitEvent : LogEvent {
446 public LogSampleHitType Type { get; internal set; }
448 public long ThreadId { get; internal set; }
450 public IReadOnlyList<long> UnmanagedBacktrace { get; internal set; }
452 public IReadOnlyList<long> ManagedBacktrace { get; internal set; }
454 internal override void Accept (LogEventVisitor visitor)
456 visitor.Visit (this);
460 public sealed class CounterSamplesEvent : LogEvent {
462 public struct CounterSample {
464 public long Index { get; internal set; }
466 public LogCounterType Type { get; internal set; }
468 public object Value { get; internal set; }
471 public IReadOnlyList<CounterSample> Samples { get; internal set; }
473 internal override void Accept (LogEventVisitor visitor)
475 visitor.Visit (this);
479 public sealed class CounterDescriptionsEvent : LogEvent {
481 public struct CounterDescription {
483 public LogCounterSection Section { get; internal set; }
485 public string SectionName { get; internal set; }
487 public string CounterName { get; internal set; }
489 public LogCounterType Type { get; internal set; }
491 public LogCounterUnit Unit { get; internal set; }
493 public LogCounterVariance Variance { get; internal set; }
495 public long Index { get; internal set; }
498 public IReadOnlyList<CounterDescription> Descriptions { get; internal set; }
500 internal override void Accept (LogEventVisitor visitor)
502 visitor.Visit (this);
506 public sealed class UnmanagedBinaryEvent : LogEvent {
508 public long SegmentPointer { get; internal set; }
510 public long SegmentOffset { get; internal set; }
512 public long SegmentSize { get; internal set; }
514 public string FileName { get; internal set; }
516 internal override void Accept (LogEventVisitor visitor)
518 visitor.Visit (this);
522 public sealed class UnmanagedSymbolEvent : LogEvent {
524 public long CodePointer { get; internal set; }
526 public long CodeSize { get; internal set; }
528 public string Name { get; internal set; }
530 internal override void Accept (LogEventVisitor visitor)
532 visitor.Visit (this);
536 public sealed class AssemblyCoverageEvent : LogEvent {
538 public string AssemblyName { get; internal set; }
540 public Guid Guid { get; internal set; }
542 public string FileName { get; internal set; }
544 public long NumberOfMethods { get; internal set; }
546 public long FullyCovered { get; internal set; }
548 public long PartiallyCovered { get; internal set; }
550 internal override void Accept (LogEventVisitor visitor)
552 visitor.Visit (this);
556 public sealed class ClassCoverageEvent : LogEvent {
558 public string AssemblyName { get; internal set; }
560 public string ClassName { get; internal set; }
562 public long NumberOfMethods { get; internal set; }
564 public long FullyCovered { get; internal set; }
566 public long PartiallyCovered { get; internal set; }
568 internal override void Accept (LogEventVisitor visitor)
570 visitor.Visit (this);
574 public sealed class MethodCoverageEvent : LogEvent {
576 public string AssemblyName { get; internal set; }
578 public string ClassName { get; internal set; }
580 public string MethodName { get; internal set; }
582 public string MethodSignature { get; internal set; }
584 public string FileName { get; internal set; }
586 public ulong MetadataToken { get; internal set; }
588 public long MethodId { get; internal set; }
590 public long NumberOfStatements { get; internal set; }
592 internal override void Accept (LogEventVisitor visitor)
594 visitor.Visit (this);
598 public sealed class StatementCoverageEvent : LogEvent {
600 public long MethodId { get; internal set; }
602 public long RelativeILOffset { get; internal set; }
604 public ulong Counter { get; internal set; }
606 public long Line { get; internal set; }
608 public long Column { get; internal set; }
610 internal override void Accept (LogEventVisitor visitor)
612 visitor.Visit (this);
616 public sealed class SynchronizationPointEvent : LogEvent {
618 public LogSynchronizationPoint Type { get; internal set; }
620 internal override void Accept (LogEventVisitor visitor)
622 visitor.Visit (this);