Пример #1
0
 protected bool ParseCustomEvent(GCEvent gcEvent)
 {
     switch (gcEvent.Type) {
         case GCEventType.CUSTOM_EVENT_START: {
             custom_event_start = gcEvent.Timestamp;
             return true;
         }
         case GCEventType.CUSTOM_EVENT_END: {
             custom_event_end = gcEvent.Timestamp;
             return true;
         }
         default:
             return false;
     }
 }
Пример #2
0
    private static GCEvent Parse(string line, Stack<GCEvent> noTimestamp, ref double timestamp)
    {
        double stamp = GCEventTypeMatcher.MatchTimestamp (line);
        GCEventTypeMatcher eventTypeMatch = GCEventTypeMatcher.Match (line);
        GCEvent gcEvent = null;

        if (stamp != default(double) && noTimestamp.Count > 0) {
            while (noTimestamp.Count > 0) {
                noTimestamp.Pop ().Timestamp = stamp;
            }
        }

        if (eventTypeMatch != null) {
            gcEvent = new GCEvent ();
            gcEvent.Type = eventTypeMatch.type;
            switch (eventTypeMatch.timestampType) {
                case GCEventTimestampType.BEFORE:
                    Utils.Assert (timestamp != default(double));
                    gcEvent.Timestamp = timestamp;
                    break;
                case GCEventTimestampType.INCLUDED:
                    Utils.Assert (stamp != default(double));
                    gcEvent.Timestamp = stamp;
                    break;
                case GCEventTimestampType.AFTER:
                    noTimestamp.Push (gcEvent);
                    break;
            }
        }

        if (stamp != default(double))
            timestamp = stamp;

        return gcEvent;
    }
Пример #3
0
 public virtual void Visit(GCEvent ev)
 {
 }