mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-19 16:20:50 +00:00
Fix tests visualizer
This commit is contained in:
parent
15d0379e2c
commit
d945089df8
@ -20,9 +20,7 @@
|
|||||||
width: 130px;
|
width: 130px;
|
||||||
display: block;
|
display: block;
|
||||||
margin: 30px auto;
|
margin: 30px auto;
|
||||||
-webkit-animation: spin 2s ease-in-out infinite;
|
animation: spin 10s ease-in-out infinite;
|
||||||
-moz-animation: spin 2s ease-in-out infinite;
|
|
||||||
animation: spin 2s ease-in-out infinite;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
@ -45,16 +43,9 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@-moz-keyframes spin {
|
|
||||||
100% { -moz-transform: rotate(360deg); }
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes spin {
|
|
||||||
100% { -webkit-transform: rotate(360deg); }
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes spin {
|
@keyframes spin {
|
||||||
100% { transform:rotate(360deg); }
|
50% { transform:scale(150%); }
|
||||||
|
100% { transform:scale(100%); }
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
@ -67,33 +58,26 @@
|
|||||||
</div>
|
</div>
|
||||||
<canvas id="canvas"></canvas>
|
<canvas id="canvas"></canvas>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
///////////////////////
|
let start_date = '2021-12-01';
|
||||||
// GLOBAL VARIABLES
|
|
||||||
///////////////////////
|
|
||||||
let start_date = '2020-06-13';
|
|
||||||
const canvasNode = document.getElementById('canvas');
|
const canvasNode = document.getElementById('canvas');
|
||||||
const infoNode = document.getElementById('info');
|
const infoNode = document.getElementById('info');
|
||||||
const loadingNode = document.getElementById('loading');
|
const loadingNode = document.getElementById('loading');
|
||||||
const failMessageNode = document.getElementById('fail-message');
|
const failMessageNode = document.getElementById('fail-message');
|
||||||
|
|
||||||
///////////////////////
|
|
||||||
// QUERIES
|
|
||||||
///////////////////////
|
|
||||||
let render_data_query = `
|
let render_data_query = `
|
||||||
WITH '${start_date}'::Date AS start_date
|
WITH '${start_date}'::Date AS start_date
|
||||||
SELECT groupArray([d, n, fail]) FROM
|
SELECT groupArray([d, n, fail]) FROM
|
||||||
(
|
(
|
||||||
SELECT n, check_start_time::Date - start_date AS d, max(test_status LIKE 'F%' OR test_status LIKE 'E%') AS fail
|
SELECT n, check_start_time::Date - start_date AS d, max(test_status LIKE 'F%' OR test_status LIKE 'E%') AS fail
|
||||||
FROM "default".checks
|
FROM checks
|
||||||
|
|
||||||
INNER JOIN
|
INNER JOIN
|
||||||
(
|
(
|
||||||
SELECT test_name, toUInt16(rowNumberInAllBlocks()) AS n FROM
|
SELECT test_name, toUInt16(row_number() OVER (ORDER BY test_name)) AS n FROM
|
||||||
(
|
(
|
||||||
SELECT DISTINCT test_name
|
SELECT DISTINCT test_name
|
||||||
FROM "default".checks
|
FROM checks
|
||||||
WHERE match(test_name, '^\\d+_') AND check_name ILIKE '%stateless%' AND check_start_time > now() - INTERVAL 1 DAY
|
WHERE match(test_name, '^\\d+_') AND check_name ILIKE '%stateless%' AND check_start_time > now() - INTERVAL 1 DAY
|
||||||
ORDER BY test_name
|
|
||||||
)
|
)
|
||||||
) AS nums
|
) AS nums
|
||||||
|
|
||||||
@ -109,25 +93,20 @@ let render_data_query = `
|
|||||||
FORMAT TSV`;
|
FORMAT TSV`;
|
||||||
|
|
||||||
let test_names_query = `
|
let test_names_query = `
|
||||||
SELECT test_name, toUInt16(rowNumberInAllBlocks()) AS n FROM
|
SELECT test_name, toUInt16(row_number() OVER (ORDER BY test_name)) AS n FROM
|
||||||
(
|
(
|
||||||
SELECT DISTINCT test_name
|
SELECT DISTINCT test_name
|
||||||
FROM "default".checks
|
FROM checks
|
||||||
WHERE match(test_name, '^\\d+_') AND check_name ILIKE '%stateless%' AND check_start_time > now() - INTERVAL 1 DAY
|
WHERE match(test_name, '^\\d+_') AND check_name ILIKE '%stateless%' AND check_start_time > now() - INTERVAL 1 DAY
|
||||||
ORDER BY test_name
|
|
||||||
) FORMAT JSONCompact`;
|
) FORMAT JSONCompact`;
|
||||||
|
|
||||||
///////////////////////
|
|
||||||
// MAIN
|
|
||||||
///////////////////////
|
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
try {
|
try {
|
||||||
const [render_data, test_names_data] = await Promise.all([
|
const [render_data, test_names_data] = await Promise.all([
|
||||||
loadDataByQuery(render_data_query),
|
loadDataByQuery(render_data_query),
|
||||||
loadDataByQuery(test_names_query),
|
loadDataByQuery(test_names_query),
|
||||||
]);
|
]);
|
||||||
// we good
|
|
||||||
renderResponse(render_data);
|
renderResponse(render_data);
|
||||||
saveTestNames(test_names_data);
|
saveTestNames(test_names_data);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -138,10 +117,6 @@ let test_names_query = `
|
|||||||
}
|
}
|
||||||
})()
|
})()
|
||||||
|
|
||||||
///////////////////////
|
|
||||||
// SPECIAL FUNCTIONS
|
|
||||||
///////////////////////
|
|
||||||
|
|
||||||
async function loadDataByQuery(query) {
|
async function loadDataByQuery(query) {
|
||||||
const response = await fetch(
|
const response = await fetch(
|
||||||
"https://play.clickhouse.com?user=play&add_http_cors_header=1",
|
"https://play.clickhouse.com?user=play&add_http_cors_header=1",
|
||||||
|
Loading…
Reference in New Issue
Block a user