コード例 #1
0
ファイル: Comparison.cs プロジェクト: chargen/PerformanceTest
        public Comparison(ComparableExperiment jX, ComparableExperiment jY, string prefix = "", Tags tags = null)
        {
            _jX = jX;
            _jY = jY;
            if (prefix != "" && !prefix.EndsWith("/"))
            {
                prefix += "/";
            }
            _prefix       = prefix;
            _prefixLength = prefix.Length;
            if (tags != null)
            {
                _tags = tags;
            }

            if (_jX != null)
            {
                _tmeX = _jX.MaxTimeout;
                _memX = _tmeX + 1000;
                _errX = _memX + 2000;
                _maxX = _errX;
            }

            if (_jY != null)
            {
                _tmeY = _jY.MaxTimeout;
                _memY = _tmeY + 1000;
                _errY = _memY + 2000;
                _maxY = _errY;
            }
        }
コード例 #2
0
        protected async void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string summaryName = Request.Params.Get("summary");
                summaryName = summaryName == null ? Settings.Default.SummaryName : summaryName;

                string connectionString = await SiteMaster.GetConnectionString();

                AzureSummaryManager summaryManager = new AzureSummaryManager(connectionString, Helpers.GetDomainResolver());

                string px = null, py = null;
                Tags   tags = await Helpers.GetTags(summaryName, summaryManager);

                if (!IsPostBack)
                {
                    var last2 = await Helpers.GetTwoLastExperimentsId(summaryName, summaryManager);

                    string penultimate = last2.Item1.ToString();
                    string latest      = last2.Item2.ToString();

                    lstTagX.Items.Add(new ListItem("Latest (" + latest + ")", latest));
                    lstTagX.Items.Add(new ListItem("Penultimate (" + penultimate + ")", penultimate));
                    //lstTagX.Items.Add(new ListItem("Records (best ever)", "RECORDS"));
                    lstTagY.Items.Add(new ListItem("Latest (" + latest + ")", latest));
                    lstTagY.Items.Add(new ListItem("Penultimate (" + penultimate + ")", penultimate));

                    foreach (KeyValuePair <string, int> kvp in tags)
                    {
                        lstTagX.Items.Add(new ListItem(kvp.Key + " (" + kvp.Value.ToString() + ")", kvp.Value.ToString()));
                        lstTagY.Items.Add(new ListItem(kvp.Key + " (" + kvp.Value.ToString() + ")", kvp.Value.ToString()));
                    }

                    px     = Request.Params.Get("jobX");
                    py     = Request.Params.Get("jobY");
                    Prefix = Request.Params.Get("prefix");

                    if (px == null)
                    {
                        rbnTagX.Checked = true;
                    }
                    else
                    {
                        txtIDX.Text = px; rbnIDX.Checked = true;
                    }
                    if (py == null)
                    {
                        rbnTagY.Checked = true;
                    }
                    else
                    {
                        txtIDY.Text = py; rbnIDY.Checked = true;
                    }

                    if (px != null)
                    {
                        if (tags.HasID(int.Parse(px, CultureInfo.InvariantCulture)))
                        {
                            rbnTagX.Checked       = true;
                            lstTagX.SelectedValue = px;
                        }
                        else
                        {
                            lstTagX.SelectedValue = penultimate;
                        }
                    }
                    else
                    {
                        lstTagX.SelectedValue = penultimate;
                    }

                    if (py != null)
                    {
                        if (tags.HasID(int.Parse(py, CultureInfo.InvariantCulture)))
                        {
                            rbnTagY.Checked = true;
                            lstTagY.Items.FindByText(py.ToString());
                            lstTagY.SelectedValue = py.ToString();
                        }
                        else
                        {
                            lstTagY.SelectedValue = latest;
                        }
                    }
                    else
                    {
                        lstTagY.SelectedValue = latest;
                    }
                }

                JX = px != null ? px : rbnTagX.Checked ? lstTagX.SelectedValue : txtIDX.Text;
                JY = py != null ? py : rbnTagY.Checked ? lstTagY.SelectedValue : txtIDY.Text;

                ComparableExperiment jX = null, jY = null;

                try
                {
                    AzureExperimentManager expMan = AzureExperimentManager.Open(connectionString);
                    var t1 = Task.Run(() => Helpers.GetComparableExperiment(int.Parse(JX, CultureInfo.InvariantCulture), expMan));
                    var t2 = Task.Run(() => Helpers.GetComparableExperiment(int.Parse(JY, CultureInfo.InvariantCulture), expMan));

                    jX = await t1;
                    jY = await t2;
                }
                catch (Exception)
                {
                }

                txtIDX.Text = JX;
                txtIDY.Text = JY;

                cmp = new Comparison(jX, jY, Prefix.Replace('|', '/'), tags);

                phPre.Controls.Add(buildHeader("CHART_PRE", ""));
                phChart.Controls.Add(Charts.BuildComparisonChart(Prefix, cmp));
                phHisto.Controls.Add(Charts.BuildComparisonHistogramm(cmp));
                phMain.Controls.Add(buildTabPanels());
                //phMain.Controls.Add(buildFooter());
            }
            catch (Exception ex)
            {
                Label l = new Label();
                l.Text = "Error loading dataset: " + ex.Message;
                phMain.Controls.Add(l);
                l      = new Label();
                l.Text = "Stacktrace: " + ex.StackTrace;
                phMain.Controls.Add(l);
            }
        }