Exemplo n.º 1
0
        private void UpdateDeltaViewAsync(double startTime, double endTime, TreePerspective perspective)
        {
            this.Invoke((Action) delegate() { m_StripStatus.Text = "Replaying events.."; });

            TraceReplayStateful.StatusDelegate replayCallback = (double ratio) =>
            {
                this.Invoke((Action) delegate()
                {
                    m_ReplayProgress.Value = (int)Math.Round(1000.0 * ratio);
                });
            };

            TreeBuilderBase tree_builder;

            tree_builder = new DeltaTreeBuilder(m_Trace, startTime, endTime, replayCallback, perspective, m_Options);

            this.Invoke((Action) delegate() { m_StripStatus.Text = "Building report tree.."; });

            var root = tree_builder.BuildReportTree();

            this.Invoke((Action) delegate()
            {
                OnTreeUpdated(root);
            });
        }
Exemplo n.º 2
0
 protected TreeBuilderBase(TraceReplayStateful replay, TraceReplayStateful.StatusDelegate status_delegate, TreePerspective perspective, Options options)
 {
     Replay            = replay;
     StatusCallback    = status_delegate;
     Perspective       = perspective;
     Root              = new MemTreeNode(null, "Everything");
     SuppressedSymbols = new HashSet <string>();
     if (options.EnableSuppression)
     {
         foreach (var sym in options.SuppressedSymbols)
         {
             SuppressedSymbols.Add(sym);
         }
     }
 }
Exemplo n.º 3
0
        private void UpdateTree()
        {
            m_RefreshButton.Enabled = false;
            m_TimeControl.Enabled   = false;

            var perspective = (TreePerspective)m_Perspective.SelectedItem;
            var time        = m_TimeControl.CurrentTime;

            Task.Run(() =>
            {
                try
                {
                    TraceReplayStateful.StatusDelegate replay_callback = (double ratio) =>
                    {
                        this.Invoke((Action) delegate()
                        {
                            m_ReplayProgress.Value = (int)Math.Round(1000.0 * ratio);
                        });
                    };

                    this.Invoke((Action) delegate() { m_StripStatus.Text = "Replaying events.."; });

                    TreeBuilderBase tree_builder;
                    tree_builder = new SnapshotTreeBuilder(m_Trace, time, replay_callback, perspective, m_Options);

                    this.Invoke((Action) delegate() { m_StripStatus.Text = "Building report tree.."; });

                    var root = tree_builder.BuildReportTree();

                    this.Invoke((Action) delegate()
                    {
                        OnTreeUpdated(root);
                    });
                }
                catch (Exception ex)
                {
                    this.Invoke((Action) delegate()
                    {
                        // Display an error and give up on this replay.
                        MessageBox.Show(this, ex.Message, "Error");
                        m_ReplayProgress.Value = 0;
                        m_StripStatus.Text     = "Error - badly structured stream. Fix the client application!";
                    });
                }
            });
        }
Exemplo n.º 4
0
        public DeltaTreeBuilder(TraceReplayStateful t, double startTime, double endTime, TraceReplayStateful.StatusDelegate status_delegate, TreePerspective perspective, Options options)
            : base(t, status_delegate, perspective, options)
        {
            m_StartTime = startTime;

            Replay.SeekTo(endTime, StatusCallback);
        }
Exemplo n.º 5
0
 public SnapshotTreeBuilder(TraceReplayStateful t, double time, TraceReplayStateful.StatusDelegate status_delegate, TreePerspective perspective, Options options)
     : base(t, status_delegate, perspective, options)
 {
     Replay.SeekTo(time, StatusCallback);
 }