blob: 04148fc430f374ac5b7baa98e2c1158f3047320a [file] [log] [blame]
import './index';
import { $ } from '../../../infra-sk/modules/dom';
import { PlotGoogleChartSk } from './plot-google-chart-sk';
import { ChartAxisFormat, ChartData } from '../common/plot-builder';
import { Anomaly } from '../json';
document.querySelector('plot-google-chart-sk')!.addEventListener('some-event-name', (e) => {
document.querySelector('#events')!.textContent = JSON.stringify(e, null, ' ');
});
const dummyAnomaly = (): Anomaly => ({
id: '0',
test_path: '',
bug_id: -1,
start_revision: 0,
end_revision: 3,
is_improvement: false,
recovered: true,
state: '',
statistic: '',
units: '',
degrees_of_freedom: 0,
median_before_anomaly: 0,
median_after_anomaly: 0,
p_value: 0,
segment_size_after: 0,
segment_size_before: 0,
std_dev_before_anomaly: 0,
t_statistic: 0,
subscription_name: '',
bug_component: '',
bug_labels: null,
bug_cc_emails: null,
bisect_ids: [],
});
window.customElements.whenDefined('plot-google-chart-sk').then(() => {
const chartData: ChartData = {
xLabel: 'Dates',
yLabel: 'Regression Values',
chartAxisFormat: ChartAxisFormat.Date,
// It's assumed that the length of x axis values will always be consistent
// meaning that because all traces aren't generated daily, there could be
// a lot of NaN values as a result of MISSING_DATA_SENTINEL.
lines: {
trace_1: [
{ x: new Date('2023/10/1'), y: 1, anomaly: null },
{ x: new Date('2023/10/2'), y: NaN, anomaly: null },
{ x: new Date('2023/10/3'), y: 1, anomaly: null },
{ x: new Date('2023/10/4'), y: 4, anomaly: null },
{ x: new Date('2023/10/5'), y: 6, anomaly: null },
{ x: new Date('2023/10/6'), y: 3, anomaly: null },
{ x: new Date('2023/10/7'), y: 2, anomaly: null },
{ x: new Date('2023/10/8'), y: 1, anomaly: null },
{ x: new Date('2023/10/9'), y: 1, anomaly: null },
{ x: new Date('2023/10/10'), y: 1, anomaly: null },
{ x: new Date('2023/10/11'), y: 4, anomaly: null },
{ x: new Date('2023/10/12'), y: 6, anomaly: dummyAnomaly() },
{ x: new Date('2023/10/13'), y: 3, anomaly: null },
{ x: new Date('2023/10/14'), y: 2, anomaly: null },
{ x: new Date('2023/10/15'), y: 1, anomaly: null },
],
trace_2: [
{ x: new Date('2023/10/1'), y: 2, anomaly: null },
{ x: new Date('2023/10/2'), y: 2, anomaly: null },
{ x: new Date('2023/10/3'), y: 2, anomaly: null },
{ x: new Date('2023/10/4'), y: 4, anomaly: null },
{ x: new Date('2023/10/5'), y: 6, anomaly: null },
{ x: new Date('2023/10/6'), y: 4, anomaly: null },
{ x: new Date('2023/10/7'), y: 4, anomaly: null },
{ x: new Date('2023/10/8'), y: 4, anomaly: null },
{ x: new Date('2023/10/9'), y: 1, anomaly: null },
{ x: new Date('2023/10/10'), y: NaN, anomaly: null },
{ x: new Date('2023/10/11'), y: NaN, anomaly: null },
{ x: new Date('2023/10/12'), y: NaN, anomaly: null },
{ x: new Date('2023/10/13'), y: NaN, anomaly: null },
{ x: new Date('2023/10/14'), y: 9, anomaly: dummyAnomaly() },
{ x: new Date('2023/10/15'), y: 1, anomaly: null },
],
},
start: new Date('2023/10/1'),
end: new Date('2023/10/15'),
};
$<PlotGoogleChartSk>('plot-google-chart-sk').forEach((plot) => {
plot.updateChartData(chartData);
});
});