public static void Initialize(string traceFilePath) { if (session != null) { throw new InvalidOperationException("Already initialized"); } FileStream stream = new FileStream(traceFilePath, FileMode.Create, FileAccess.ReadWrite); session = new SystraceSession(stream); }
internal BeginEventScope(SystraceSession session, string name, string categories) { this.systraceEvent = new SystraceEvent( session, name, categories, SystraceEventTypes.DurationBegin, session.GetCurrentTimestampMicroseconds(), session.processID, Thread.CurrentThread.ManagedThreadId); this.systraceEvent.Session.writer.WriteEvent(this.systraceEvent); this.systraceEvent.Session.stream.Flush(false); }
// TODO: Arguments // TODO: cname (color name) public SystraceEvent( SystraceSession session, string name, string categories, char eventType, long timestampMicroseconds, int processID, int threadID) { this.Session = Validate.IsNotNull(session, nameof(session)); this.Name = Validate.IsNotNull(name, nameof(name)); this.Categories = Validate.IsNotNull(categories, nameof(categories)); this.EventType = eventType; this.TimestampMicroseconds = timestampMicroseconds; this.ProcessID = processID; this.ThreadID = threadID; }