Exemple #1
0
        private void ProcessStartEvent(TraceEvent data)
        {
            var parentID = getParentID(data) ?? NONE;

            bool watchThis = (trackedProcessIDs.Contains(parentID)) ||
                             !filters.Any() ||
                             filters.Any(filter => data.ProcessName.Contains(filter, StringComparison.OrdinalIgnoreCase));

            if (!watchThis)
            {
                return;
            }

            trackedProcessIDs.Add(data.ProcessID);
            var entry = new BeginEntry(NONE, NONE, data.TimeStampRelativeMSec * 1000.0, data.ProcessName);

            entry.ThreadID = processes.AddChild(data.ProcessID, parentID);
            entry.Args     = buildArgs(data).ToList();
            writer.AddEntry(entry);
        }