Exemplo n.º 1
0
        private CustomTiming CreateCustomTiming(SerializableCustomTiming sourceCustomTiming)
        {
            // ensure parentId
            ProfilingSession.ProfilingSessionContainer.CurrentSessionStepId = sourceCustomTiming.ParentId;

            var customTiming = new CustomTiming(this, sourceCustomTiming.Type, sourceCustomTiming.Name)
            {
                DurationMilliseconds = sourceCustomTiming.DurationMilliseconds,
                ExecuteType = sourceCustomTiming.ExecuteType,
                StartMilliseconds = sourceCustomTiming.StartMilliseconds,
                Sort = sourceCustomTiming.Sort,
                Tags = sourceCustomTiming.Tags == null ? null : new TagCollection(sourceCustomTiming.Tags),
                InputData = sourceCustomTiming.InputData,
                InputSize = sourceCustomTiming.InputSize,
                OutputSize = sourceCustomTiming.OutputSize,
                OutputStartMilliseconds = sourceCustomTiming.OutputStartMilliseconds
            };

            ProfilingSession.ProfilingSessionContainer.CurrentSessionStepId = null;

            return customTiming;
        }
Exemplo n.º 2
0
 void IProfiler.AddCustomTiming(CustomTiming customTiming)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 3
0
 void IProfiler.AddCustomTiming(CustomTiming customTiming)
 {
     AddCustomTiming(customTiming);
 }
Exemplo n.º 4
0
        /// <summary>
        /// Saves a custom timing.
        /// </summary>
        /// <param name="profiler">The profiler.</param>
        /// <param name="customTiming">The custom timing.</param>
        protected virtual void SaveCustomTiming(IProfiler profiler, CustomTiming customTiming)
        {
            if (profiler == null || customTiming == null)
            {
                return;
            }

            try
            {
                var customData = new CustomTimingData();
                SetBasicTimingProperties(customTiming, customData);

                customData.SessionId = profiler.Id;
                customData.InputSize = customTiming.InputSize;
                customData.InputData = customTiming.InputData;
                customData.OutputSize = customTiming.OutputSize;
                customData.OutputStartMilliseconds = customTiming.OutputStartMilliseconds;

                LogTimingData(customData);
            }
            catch (Exception ex)
            {
                _logger.Value.Error(ex, ex.Message);
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// Adds a custom timing to the raw custom timing collection.
 /// </summary>
 /// <param name="customTiming"></param>
 public virtual void AddCustomTiming(CustomTiming customTiming)
 {
     if (customTiming != null && _stopwatch.IsRunning)
     {
         _customTimings.Enqueue(customTiming);
     }
 }