public void ReportTimings(Mono.TextEditor.TextDocument document) { if (count == 0) { // No timings recorded. return; } string extension = document.FileName.Extension; var average = totalTime.TotalMilliseconds / count; var metadata = new TypingTimingMetadata { Average = average, First = firstTime.Value.TotalMilliseconds, Maximum = maxTime.TotalMilliseconds, Dropped = droppedEvents }; if (!string.IsNullOrEmpty(extension)) { metadata.Extension = extension; } metadata.AddBuckets(buckets); MonoDevelop.SourceEditor.Counters.Typing.Inc(metadata); }
internal TypingTimingMetadata GetTypingTimingMetadata(string extension) { var average = totalTime.TotalMilliseconds / count; var metadata = new TypingTimingMetadata { Average = average, First = firstTime.Value.TotalMilliseconds, Maximum = maxTime.TotalMilliseconds, Dropped = droppedEvents }; if (!string.IsNullOrEmpty(extension)) { metadata.Extension = extension; } metadata.AddBuckets(buckets); return(metadata); }
internal TypingTimingMetadata GetTypingTimingMetadata(string extension, ITextEditorOptions options, int lengthAtEnd, int lineCountAtEnd) { double totalMillis = totalTime.TotalMilliseconds; var average = totalMillis / count; var metadata = new TypingTimingMetadata { Average = average, First = firstTime.Value.TotalMilliseconds, Maximum = maxTime.TotalMilliseconds, Dropped = droppedEvents, PercentAnimation = totalTimeAnimationDrawing.TotalMilliseconds / totalMillis * 100, PercentDrawCaret = totalTimeCaretDrawing.TotalMilliseconds / totalMillis * 100, PercentDrawMargin = totalTimeMarginDrawing.TotalMilliseconds / totalMillis * 100, PercentExtensionKeypress = totalTimeExtensionKeyPress.TotalMilliseconds / totalMillis * 100, SessionKeypressCount = count, SessionLength = GetCurrentTime().TotalMilliseconds - openTime.TotalMilliseconds, LengthAtStart = lengthAtStart, LengthDelta = lengthAtEnd - lengthAtStart, LineCountAtStart = lineCountAtStart, LineCountDelta = lineCountAtEnd - lineCountAtStart, }; if (options != null) { metadata.FoldMarginShown = options.ShowFoldMargin; metadata.NumberMarginShown = options.ShowLineNumberMargin; metadata.ShowIconMargin = options.ShowIconMargin; metadata.ShowWhiteSpaces = options.ShowWhitespaces; metadata.IncludeWhitespaces = options.IncludeWhitespaces; } if (!string.IsNullOrEmpty(extension)) { metadata.Extension = extension; } bucketTimings.AddTo(metadata); return(metadata); }