Пример #1
0
        public static string GetAbstractStringOf(IDEEvent @event)
        {
            Func <IDEEvent, string> mapToString;

            return(ToStringMappings.TryGetValue(@event.GetType(), out mapToString)
                ? FormatString(@event.GetType().Name, mapToString(@event))
                : FormatString(@event.GetType().Name, "no mapping found"));
        }
Пример #2
0
        private void processBasic(IDEEvent e)
        {
            var eventType   = e.GetType().Name;
            var triggerTime = e.TriggeredAt ?? DateTime.MinValue;

            Console.Write("found an {0} that has been triggered at: {1})\n", eventType, triggerTime);
        }
Пример #3
0
        private String processBasic(IDEEvent e, out Event vsEvent)
        {
            var eventType   = e.GetType().Name;
            var triggerTime = e.TriggeredAt ?? DateTime.MinValue;

            vsEvent = new Event(eventType);

            //writer.WriteLine("found an " + eventType + " that has been triggered at: " + triggerTime + ")");

            return(e.IDESessionUUID);
        }
Пример #4
0
        public IDEEvent Anonymize(IDEEvent ideEvent)
        {
            var clone      = ideEvent.ToCompactJson().ParseJsonTo <IDEEvent>();
            var settings   = _settingsStore.GetSettings <AnonymizationSettings>();
            var anonymizer = GetAnonymizerFor(ideEvent.GetType());

            if (settings.RemoveStartTimes)
            {
                anonymizer.AnonymizeStartTimes(clone);
            }
            if (settings.RemoveDurations)
            {
                anonymizer.AnonymizeDurations(clone);
            }
            if (settings.RemoveCodeNames)
            {
                anonymizer.AnonymizeCodeNames(clone);
            }
            return(clone);
        }
        private T CreateEventData <T>(IDEEvent ie, ref object e) where T : class
        {
            var je = e as Event;

            var session = FindSession(ie);

            je.Session             = session;
            je.SequenceId          = ++_sessions[session];
            je.Type                = ie.GetType().Name;
            je.TriggeredAt         = ie.TriggeredAt ?? SqlDateTime.MinValue.Value;
            je.TimeStamp           = (long)je.TriggeredAt.Value.Subtract(new DateTime(2010, 01, 01)).TotalMilliseconds;
            je.TriggeredBy         = ie.TriggeredBy.ToString("G");
            je.Duration            = ie.Duration?.TotalMilliseconds.ToString();
            je.ActiveDocumentName  = ie.ActiveDocument?.FileName ?? "";
            je.ActiveDocumentType  = ie.ActiveDocument?.Language;
            je.ActiveWindowCaption = ie.ActiveWindow?.Caption;
            je.ActiveWindowType    = ie.ActiveWindow?.Type;

            session.Events.Add(je);

            return(je as T);
        }
Пример #6
0
 private IDEEvent Anonymize(IDEEvent e)
 {
     try
     {
         var anonymizedEvent = _anonymizer.Anonymize(e);
         // ReSharper disable once ReturnValueOfPureMethodIsNotUsed
         anonymizedEvent.GetHashCode();
         return(anonymizedEvent);
     }
     catch (Exception ex)
     {
         try
         {
             var errorEvent = new ErrorEvent
             {
                 TriggeredAt    = e.TriggeredAt,
                 TerminatedAt   = e.TerminatedAt,
                 Duration       = e.Duration,
                 IDESessionUUID = e.IDESessionUUID,
                 ActiveDocument = e.ActiveDocument,
                 ActiveWindow   = e.ActiveWindow,
                 Id             = e.Id,
                 KaVEVersion    = e.KaVEVersion,
                 TriggeredBy    = e.TriggeredBy,
                 Content        = string.Format("An error occured during anonymization of {0}.", e.GetType()),
                 StackTrace     = ex.StackTrace.Split('\n')
             };
             var anonymizedEvent = _anonymizer.Anonymize(errorEvent);
             // ReSharper disable once ReturnValueOfPureMethodIsNotUsed
             anonymizedEvent.GetHashCode();
             return(anonymizedEvent);
         }
         catch
         {
             return(new ErrorEvent
             {
                 Content = string.Format("An unrecoverable error occured during anonymization of {0}.", e.GetType()),
             });
         }
     }
 }