mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-12 17:26:00 +00:00
* Testing visualization generation * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Adding dummy test data * Update Jenkinsfile * Update Jenkinsfile * Adding notifications * Testing * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Image compression * Update Jenkinsfile * Moving capture logic to main Jenkins file * Testing generation * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Fixing curl request * Update Jenkinsfile * Clean up * Fix * Fixing notification * Testing message creation * Adjusting message payload * Testing notification generation * Updating main jenkinsfile * Fixing cleanup call * Removing test pipeline code * Comment clean up * Testing pipeline * Update Jenkinsfile * Update Jenkinsfile * Update Jenkinsfile * Moving archive Moving trace archive to safe location before source checkout * Removing test pipeline * Testing pipeline with unique file names * Update Jenkinsfile * Removing test files Updated main pipeline
53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
const puppeteer = require('puppeteer');
|
|
|
|
(async () => {
|
|
try {
|
|
// Launch the browser
|
|
const browser = await puppeteer.launch({
|
|
args: [
|
|
'--no-sandbox',
|
|
'--headless',
|
|
'--disable-gpu',
|
|
'--window-size=1920x1080'
|
|
]});
|
|
const page = await browser.newPage();
|
|
await page.setViewport({ width: 1920, height: 1080 });
|
|
await page.goto('https://ui.perfetto.dev');
|
|
// Wait for the home page to be visible
|
|
console.log('Waiting for page to load...');
|
|
await page.waitForSelector('.pf-home-page', { visible: true, timeout: 30000 });
|
|
// Locate and click the Open trace button
|
|
const elements = await page.$$('li');
|
|
let element = null;
|
|
for (const el of elements) {
|
|
const text = await el.evaluate(node => node.textContent);
|
|
if (text && text.includes('Open trace file')) {
|
|
element = el;
|
|
break;
|
|
}
|
|
}
|
|
if (element) {
|
|
const [fileChooser] = await Promise.all([
|
|
page.waitForFileChooser(),
|
|
element.click()
|
|
]);
|
|
await fileChooser.accept(['/workspace/ck_build_trace.json']);
|
|
} else {
|
|
throw new Error('Element not found');
|
|
}
|
|
console.log('Waiting for data to load...');
|
|
// Wait for the timeline element to be visible
|
|
await page.waitForSelector('.pf-track', { timeout: 30000 });
|
|
// Wait for the data to finish loading
|
|
await page.waitForFunction(() => {
|
|
return !document.body.textContent.includes('Loading...');
|
|
}, { timeout: 30000 });
|
|
console.log('Capturing screenshot...');
|
|
await page.screenshot({path: '/workspace/perfetto_snapshot_build.png'});
|
|
console.log('Done capturing screenshot...');
|
|
await browser.close();
|
|
} catch (err) {
|
|
console.error(err);
|
|
process.exit(1);
|
|
}
|
|
})(); |