Пример #1
0
        private void AddMarkers(ProfileThread thread, Sample sample, int depth, long frequency)
        {
            var nameIndex = GetOrCreateMarker(sample.Name);
            var totalMS   = sample.CalcElapsedMilliseconds(frequency);
            var marker    = new ProfileMarker(nameIndex, totalMS, depth);

            thread.Add(marker);

            foreach (var child in sample.Children)
            {
                AddMarkers(thread, child, depth + 1, frequency);
            }
        }
Пример #2
0
        public static ProfileThread ReadFrom(BinaryReader reader)
        {
            var threadIndex = reader.ReadInt32();
            var thread      = new ProfileThread(threadIndex);

            int count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                var marker = ProfileMarker.ReadFrom(reader);
                thread.markers.Add(marker);
            }

            return(thread);
        }
Пример #3
0
 public void Add(ProfileMarker marker)
 {
     markers.Add(marker);
 }