Exemplo n.º 1
0
        private static void ProcessEvent(TraceEvent e)
        {
            ++processedEvents;

            if (options.ProcessID != -1 && options.ProcessID != e.ProcessID)
            {
                return;
            }
            if (options.ThreadID != -1 && options.ThreadID != e.ThreadID)
            {
                return;
            }
            if (options.Events.Count > 0 && !options.Events.Contains(e.EventName))
            {
                return;
            }

            if (options.ParsedRawFilter != null)
            {
                string s = e.AsRawString();
                if (options.ParsedRawFilter.IsMatch(s))
                {
                    eventProcessor.TakeEvent(e, s);
                    ++notFilteredEvents;
                }
            }
            else if (options.ParsedFilters.Count > 0)
            {
                foreach (var filter in options.ParsedFilters)
                {
                    string payloadName = filter.Key;
                    Regex  valueRegex  = filter.Value;

                    object payloadValue = e.PayloadByName(payloadName);
                    if (payloadValue == null)
                    {
                        continue;
                    }

                    if (valueRegex.IsMatch(payloadValue.ToString()))
                    {
                        eventProcessor.TakeEvent(e);
                        ++notFilteredEvents;
                        break;
                    }
                }
            }
            else
            {
                eventProcessor.TakeEvent(e);
                ++notFilteredEvents;
            }
        }
Exemplo n.º 2
0
        private static void ProcessEvent(TraceEvent e)
        {
            ++processedEvents;

            if (options.ProcessID != -1 && options.ProcessID != e.ProcessID)
            {
                return;
            }
            if (options.ThreadID != -1 && options.ThreadID != e.ThreadID)
            {
                return;
            }
            if (options.Events.Count > 0 && !options.Events.Contains(e.EventName))
            {
                return;
            }

            if (options.ParsedRawFilter != null)
            {
                string s = e.AsRawString();
                if (options.ParsedRawFilter.IsMatch(s))
                {
                    TakeEvent(e, s);
                }
            }
            else if (options.ParsedFilters.Count > 0)
            {
                foreach (var filter in options.ParsedFilters)
                {
                    if (filter.IsMatch(e))
                    {
                        TakeEvent(e);
                        break;
                    }
                }
            }
            else
            {
            }
            {
                TakeEvent(e);
            }
        }
Exemplo n.º 3
0
 public void TakeEvent(TraceEvent e)
 {
     TakeEvent(e, e.AsRawString());
 }