コード例 #1
0
        private void SetPerformanceInfo(PerformanceRecord Record)
        {
            isLoading = true;
            if (objectMode == ObjectModes.Server)
            {
                var cpu_busy_current    = Record.Value1;
                var io_busy_current     = Record.Value2;
                var current_read        = Record.Value3;
                var current_write       = Record.Value4;
                var connections_current = Record.Value7;
                var io_busy_total       = Record.Value8;
                txtPerformanceIO.Text = string.Format("{0} / {1}", io_busy_total, io_busy_current);

                var cpu_busy_total = Record.Value9;
                txtPerformanceCPU.Text = string.Format("{0} / {1}", cpu_busy_total, cpu_busy_current);

                var total_read = Record.Value10;
                txtPerformanceRead.Text = string.Format("{0} / {1}", total_read, current_read);

                var total_write = Record.Value11;
                txtPerformanceWrite.Text = string.Format("{0} / {1}", total_write, current_write);

                var packets_received_total = Record.Value12;
                var packets_sent_total     = Record.Value13;
                txtPerformancePackets.Text = string.Format("{0} / {1}", packets_received_total, packets_sent_total);

                var connections_total = Record.Value14;
                txtPerformanceConnections.Text = string.Format("{0} / {1}", connections_total, connections_current);
            }
            else
            {
                var dbIsStall      = Record.Value13;
                var dbNumberReads  = Record.Value1;
                var dbBytesRead    = Record.Value2;
                var dbNumberWrites = Record.Value3;
                var dbBytesWritten = Record.Value4;
                var dbStartDate    = Record.Value16;
                var dbFileCount    = Record.Value15;

                var logIsStall      = Record.Value14;
                var logNumberReads  = Record.Value7;
                var logBytesRead    = Record.Value8;
                var logNumberWrites = Record.Value9;
                var logBytesWritten = Record.Value10;

                txtPerformanceCPU.Text = dbStartDate.ToString();
                txtPerformanceIO.Text  = string.Format("{0} / {1}", dbIsStall, logIsStall);
                ResetPerformanceIO();
                if (dbIsStall >= QueryEngine.DBStallThreshold ||
                    logIsStall >= QueryEngine.DBStallThreshold)
                {
                    txtPerformanceIO.BackColor = Color.Red;
                    ttInfo.SetToolTip(txtPerformanceIO, "Potential performance bottleneck due to hard disk IO delay, check using database analysis.");
                    llPerformanceIO.Enabled = true;
                }
                txtPerformanceRead.Text        = string.Format("{0} / {1}", dbNumberReads, Utils.FormatSize(dbBytesRead));
                txtPerformanceWrite.Text       = string.Format("{0} / {1}", dbNumberWrites, Utils.FormatSize(dbBytesWritten));
                txtPerformancePackets.Text     = string.Format("{0} / {1}", logNumberReads, Utils.FormatSize(logBytesRead));
                txtPerformanceConnections.Text = string.Format("{0} / {1}", logNumberWrites, Utils.FormatSize(logBytesWritten));
            }
            if (Record.Value16 > DateTime.MinValue)
            {
                dtpPerformanceStartDate.Value = Record.Value16;
            }
            isLoading = false;
        }
コード例 #2
0
        private void AddPerformanceHistoryRecord(PerformanceRecord Record, DateTime Date, DateTime Min, DateTime Max)
        {
            if (objectMode == ObjectModes.Server)
            {
                var    cpu_busy_current         = Record.Value1;
                var    io_busy_current          = Record.Value2;
                var    current_read             = Record.Value3;
                var    current_write            = Record.Value4;
                var    packets_received_current = Record.Value5;
                var    packets_sent_current     = Record.Value6;
                var    connections_current      = Record.Value7;
                Series cpu;
                Series io;
                Series read;
                Series write;
                Series packets_sent;
                Series packets_received;
                Series connections;
                if (chPerformance.Series.Count == 0)
                {
                    chPerformance.ChartAreas[0].AxisX.Minimum = Min.ToOADate();
                    chPerformance.ChartAreas[0].AxisX.Maximum = Max.ToOADate();

                    cpu              = AddPerformanceSerie("CPU", Color.Green);
                    io               = AddPerformanceSerie("IO", Color.Blue);
                    read             = AddPerformanceSerie("Read", Color.Red);
                    write            = AddPerformanceSerie("Write", Color.Salmon);
                    packets_received = AddPerformanceSerie("Packet Received", Color.Tan);
                    packets_sent     = AddPerformanceSerie("Packet Sent", Color.Pink);
                    connections      = AddPerformanceSerie("Connections", Color.Yellow);
                }
                else
                {
                    cpu              = chPerformance.Series[0];
                    io               = chPerformance.Series[1];
                    read             = chPerformance.Series[2];
                    write            = chPerformance.Series[3];
                    packets_received = chPerformance.Series[4];
                    packets_sent     = chPerformance.Series[5];
                    connections      = chPerformance.Series[6];
                }
                AddPerformanceValue(Date, cpu, cpu_busy_current);
                AddPerformanceValue(Date, io, io_busy_current);
                AddPerformanceValue(Date, read, current_read);
                AddPerformanceValue(Date, write, current_write);
                AddPerformanceValue(Date, packets_received, packets_received_current);
                AddPerformanceValue(Date, packets_sent, packets_sent_current);
                AddPerformanceValue(Date, connections, connections_current);
            }
            else
            {
                var dbCurrentNumberReads  = Record.Value5;
                var dbCurrentNumberWrites = Record.Value6;

                long logCurrentNumberReads  = Record.Value11;
                long logCurrentNumberWrites = Record.Value12;

                Series dbReads;
                Series dbWrites;
                Series logReads;
                Series logWrites;
                if (chPerformance.Series.Count == 0)
                {
                    chPerformance.ChartAreas[0].AxisX.Minimum = Min.ToOADate();
                    chPerformance.ChartAreas[0].AxisX.Maximum = Max.ToOADate();

                    dbReads   = AddPerformanceSerie("DB Read", Color.Red);
                    dbWrites  = AddPerformanceSerie("DB Write", Color.Salmon);
                    logReads  = AddPerformanceSerie("Log Read", Color.Green);
                    logWrites = AddPerformanceSerie("Log Write", Color.Blue);
                }
                else
                {
                    dbReads   = chPerformance.Series[0];
                    dbWrites  = chPerformance.Series[1];
                    logReads  = chPerformance.Series[2];
                    logWrites = chPerformance.Series[3];
                }
                AddPerformanceValue(Date, dbReads, dbCurrentNumberReads);
                AddPerformanceValue(Date, dbWrites, dbCurrentNumberWrites);
                AddPerformanceValue(Date, logReads, logCurrentNumberReads);
                AddPerformanceValue(Date, logWrites, logCurrentNumberWrites);
            }
        }