Exemple #1
0
 private void BgCancelTrace_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     ProfilerTraceStatusTextBox.AppendText("\r\nDropped trace database and deleted files successfully.\r\nTrace file is not yet imported to database table for analysis.  Import to perform analysis.\r\n");
     AnalysisMessagePumpTimer.Stop();
     tbCollection.ForeColor = SystemColors.ControlText;
     tcCollectionAnalysisTabs.Refresh();
     tbCollection.Enabled           = true;
     btnAnalysisFolder.Enabled      = true;
     btnImportProfilerTrace.Enabled = true;
     btnImportProfilerTrace.Text    = "Import and &Analyze";
 }
Exemple #2
0
 private void bgImportProfilerTraceComplete(object sender, RunWorkerCompletedEventArgs e)
 {
     Debug.WriteLine("Import Trace Complete");
     if (!bCancelProfilerImport)  // We take care of cleanup and completion in cancellation worker if we're cancelled.
     {
         if (File.Exists(m_analysisPath + "\\Analysis\\" + AnalysisTraceID + ".mdf"))
         {
             btnImportProfilerTrace.Visible = false;
             splitProfilerAnalysis.Visible  = true;
         }
         tbCollection.ForeColor = SystemColors.ControlText;
         tcCollectionAnalysisTabs.Refresh();
         tbCollection.Enabled           = true;
         btnAnalysisFolder.Enabled      = true;
         btnImportProfilerTrace.Enabled = true;
         btnImportProfilerTrace.Text    = "Import and &Analyze";
         LogFeatureUse("Profiler Analysis", "Completed");
         AnalysisMessagePumpTimer.Stop();
     }
 }
Exemple #3
0
        private void btnImportProfilerTrace_Click(object sender, EventArgs e)
        {
            if (btnImportProfilerTrace.Text == "Import and &Analyze")
            {
                bCancelProfilerImport  = false;
                tbCollection.ForeColor = SystemColors.ControlDark;
                tcCollectionAnalysisTabs.Refresh();
                tbCollection.Enabled        = false;
                btnAnalysisFolder.Enabled   = false;
                btnImportProfilerTrace.Text = "&Cancel Import";
                LogFeatureUse("Profiler Analysis", "Started");
                if (!ValidateProfilerTraceDBConnectionStatus())
                {
                    tbCollection.ForeColor = SystemColors.ControlText;
                    tcCollectionAnalysisTabs.Refresh();
                    tbCollection.Enabled           = true;
                    btnAnalysisFolder.Enabled      = true;
                    btnImportProfilerTrace.Enabled = true;
                    btnImportProfilerTrace.Text    = "Import and &Analyze";
                    return;
                }
                AnalysisMessagePumpTimer.Interval = 1000;
                AnalysisMessagePumpTimer.Start();
                try
                {
                    BackgroundWorker bg = new BackgroundWorker();
                    bg.DoWork             += bgImportProfilerTrace;
                    bg.RunWorkerCompleted += bgImportProfilerTraceComplete;
                    bg.RunWorkerAsync(new object[] { ProfilerTraceStatusTextBox, "Initial Catalog=" + AnalysisTraceID + ";Persist Security Info=False;" + connSqlDb.ConnectionString });
                }
                catch (SqlException ex)
                {
                    LogException(ex);
                    if (ex.Message == "ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.")
                    {
                        ProfilerTraceStatusTextBox.Text = "Trace file is not yet imported to database table for analysis.  No SQL Server was available to perform import.";
                        btnImportProfilerTrace.Visible  = true;
                    }
                    else
                    {
                        ProfilerTraceStatusTextBox.Text = "Error loading profiler trace: \r\n" + ex.Message;
                    }

                    ProfilerTraceStatusTextBox.AppendText("\r\nImport trace to database failed.  Dropping trace database...");
                    LogFeatureUse("Profiler Analysis", "Failed: " + ex.Message);
                    BackgroundWorker bgCancelTrace = new BackgroundWorker();
                    bgCancelTrace.DoWork             += BgCancelTrace_DoWork;
                    bgCancelTrace.RunWorkerCompleted += BgCancelTrace_RunWorkerCompleted;
                    bgCancelTrace.RunWorkerAsync();
                }
            }
            else
            {
                bCancelProfilerImport          = true;
                btnImportProfilerTrace.Enabled = false;
                ProfilerTraceStatusTextBox.AppendText("\r\nUser cancelled loading of trace to table.  Dropping trace database...");
                LogFeatureUse("Profiler Analysis", "User cancelled import");
                BackgroundWorker bgCancelTrace = new BackgroundWorker();
                bgCancelTrace.DoWork             += BgCancelTrace_DoWork;
                bgCancelTrace.RunWorkerCompleted += BgCancelTrace_RunWorkerCompleted;
                bgCancelTrace.RunWorkerAsync();
            }
        }