public BacktraceNodeStore(TimeData data, Profile p, BacktraceTabulator bt) : base(typeof (BacktraceNode)) { this.data = data; this.p = p; this.bt = bt; foreach (AllocNode an in bt.type_nodes) { BacktraceNode n = new BacktraceNode (data, p, an); ProcessNode (n); AddNode (n); } }
public AllocNode(int t, int [] bt, int bt_len, BacktraceTabulator tab) { this.type = t; this.bt = bt; this.bt_len = bt_len; this.tab = tab; tab.nodes.Add (this, this); if (bt_len != 0) { Parent = tab.LookupNode (t, bt, bt_len - 1); if (Parent.Children == null) Parent.Children = new ArrayList (); Parent.Children.Add (this); } else { tab.type_nodes.Add (this); } }
public BacktraceViewerComponent(TimeData data, Profile p) { this.data = data; this.p = p; this.bt = new BacktraceTabulator (p, p.GetContextObjsForTime (data.Time)); Title = string.Format ("Heap at {0} ms", data.Time); box = new VBox (); box.Spacing = 12; this.Add (box); box.PackStart (CreateHeader (), false, false, 0); ns = new BacktraceNodeStore (data, p, bt); ScrolledWindow sw = new ScrolledWindow (); sw.Add (ns.GetNodeView ()); box.PackStart (sw, true, true, 0); }