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; } }
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); } }