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); } }
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); }
public void Add(ProfileMarker marker) { markers.Add(marker); }