Пример #1
0
        public async void EndTrackTiming(TimingCategory category, TimingVariable variable, string label = null)
        {
            DateTime            start;
            TimingDictionaryKey key = ToTimingKey(category, variable);

            if (timingDictionary.TryGetValue(key, out start))
            {
                timingDictionary.Remove(key);

                List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> >
                {
                    new KeyValuePair <string, string>(GAResources.UserTimingCategoryKey, category.ToString()),
                    new KeyValuePair <string, string>(GAResources.UserTimingVariableKey, variable.ToString()),
                    new KeyValuePair <string, string>(GAResources.UserTimingTimeKey, ((int)(DateTime.Now - start).TotalMilliseconds).ToString()),
                };

                if (!string.IsNullOrWhiteSpace(label))
                {
                    parameters.Add(new KeyValuePair <string, string>(GAResources.UserTimingLabelKey, label));
                }

                await Track(HitTypes.Timing, parameters.ToArray());
            }
            else
            {
                TrackException(string.Format(GAResources.TimingTrackingWasNotStartedFormat, category, variable));
            }
        }
        public async void EndTrackTiming(TimingCategory category, TimingVariable variable, string label = null)
        {
            DateTime start;
            TimingDictionaryKey key = ToTimingKey(category, variable);

            if (timingDictionary.TryGetValue(key, out start))
            {
                timingDictionary.Remove(key);

                List<KeyValuePair<string, string>> parameters = new List<KeyValuePair<string, string>>
                {
                    new KeyValuePair<string, string>(GAResources.UserTimingCategoryKey, category.ToString()),
                    new KeyValuePair<string, string>(GAResources.UserTimingVariableKey, variable.ToString()),
                    new KeyValuePair<string, string>(GAResources.UserTimingTimeKey, ((int)(DateTime.Now-start).TotalMilliseconds).ToString()),
                };

                if (!string.IsNullOrWhiteSpace(label))
                    parameters.Add(new KeyValuePair<string, string>(GAResources.UserTimingLabelKey, label));

                await Track(HitTypes.Timing, parameters.ToArray());
            }
            else
            {
                TrackException(string.Format(GAResources.TimingTrackingWasNotStartedFormat, category, variable));
            }
        }
Пример #3
0
 private TimingDictionaryKey ToTimingKey(TimingCategory category, TimingVariable variable)
 {
     return(new TimingDictionaryKey
     {
         Category = category,
         Variable = variable
     });
 }
Пример #4
0
        public void StartTrackTiming(TimingCategory category, TimingVariable variable)
        {
            TimingDictionaryKey key = ToTimingKey(category, variable);

            if (timingDictionary.ContainsKey(key))
            {
                TrackException(string.Format(GAResources.TimingTrackingHasBeenStartedFormat, category, variable));
            }
            else
            {
                timingDictionary.Add(key, DateTime.Now);
            }
        }
        public void StartTrackTiming(TimingCategory category, TimingVariable variable)
        {
            TimingDictionaryKey key = ToTimingKey(category, variable);

            if (timingDictionary.ContainsKey(key))
            {
                TrackException(string.Format(GAResources.TimingTrackingHasBeenStartedFormat, category, variable));
            }
            else
            {
                timingDictionary.Add(key, DateTime.Now);
            }
        }
 private TimingDictionaryKey ToTimingKey(TimingCategory category, TimingVariable variable)
 {
     return new TimingDictionaryKey
     {
         Category = category,
         Variable = variable
     };
 }