mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
[kbn-journey] add journeys running Kibana server with http2 (#194732)
## Summary This PR introduces two performance journey-replicas of the existing `ecommerce_dashboard` and `data_stress_test_lens` executed with the Kibana server running HTTP/2. The goal is to monitor and compare performance between HTTP/1.1 and HTTP/2 perf pipeline is triggered https://buildkite.com/elastic/kibana-single-user-performance/builds/14561 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
2a786b88a1
commit
77102c1854
6 changed files with 70 additions and 0 deletions
|
@ -39,6 +39,9 @@ disabled:
|
|||
- x-pack/test/fleet_cypress/config.space_awareness.ts
|
||||
- x-pack/test/fleet_cypress/visual_config.ts
|
||||
|
||||
# Default http2 config to use for performance journeys
|
||||
- x-pack/performance/configs/http2_config.ts
|
||||
|
||||
defaultQueue: 'n2-4-spot'
|
||||
enabled:
|
||||
- test/accessibility/config.ts
|
||||
|
@ -345,6 +348,7 @@ enabled:
|
|||
- x-pack/test/usage_collection/config.ts
|
||||
- x-pack/performance/journeys_e2e/aiops_log_rate_analysis.ts
|
||||
- x-pack/performance/journeys_e2e/ecommerce_dashboard.ts
|
||||
- x-pack/performance/journeys_e2e/ecommerce_dashboard_http2.ts
|
||||
- x-pack/performance/journeys_e2e/ecommerce_dashboard_map_only.ts
|
||||
- x-pack/performance/journeys_e2e/flight_dashboard.ts
|
||||
- x-pack/performance/journeys_e2e/login.ts
|
||||
|
@ -358,6 +362,7 @@ enabled:
|
|||
- x-pack/performance/journeys_e2e/web_logs_dashboard_esql.ts
|
||||
- x-pack/performance/journeys_e2e/web_logs_dashboard_dataview.ts
|
||||
- x-pack/performance/journeys_e2e/data_stress_test_lens.ts
|
||||
- x-pack/performance/journeys_e2e/data_stress_test_lens_http2.ts
|
||||
- x-pack/performance/journeys_e2e/ecommerce_dashboard_saved_search_only.ts
|
||||
- x-pack/performance/journeys_e2e/ecommerce_dashboard_tsvb_gauge_only.ts
|
||||
- x-pack/performance/journeys_e2e/dashboard_listing_page.ts
|
||||
|
|
|
@ -47,6 +47,7 @@ const journeyTargetGroups: JourneyTargetGroups = {
|
|||
maps: ['ecommerce_dashboard_map_only'],
|
||||
ml: ['aiops_log_rate_analysis', 'many_fields_transform', 'tsdb_logs_data_visualizer'],
|
||||
esql: ['many_fields_discover_esql', 'web_logs_dashboard_esql'],
|
||||
http2: ['data_stress_test_lens_http2', 'ecommerce_dashboard_http2'],
|
||||
};
|
||||
|
||||
const readFilesRecursively = (dir: string, callback: Function) => {
|
||||
|
|
20
x-pack/performance/configs/http2_config.ts
Normal file
20
x-pack/performance/configs/http2_config.ts
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import type { FtrConfigProviderContext } from '@kbn/test';
|
||||
import { configureHTTP2 } from '@kbn/test-suites-src/common/configure_http2';
|
||||
|
||||
// eslint-disable-next-line import/no-default-export
|
||||
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
||||
const xpackFunctionalConfig = await readConfigFile(
|
||||
require.resolve('@kbn/test-suites-xpack/functional/config.base')
|
||||
);
|
||||
|
||||
return configureHTTP2({
|
||||
...xpackFunctionalConfig.getAll(),
|
||||
});
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { Journey } from '@kbn/journeys';
|
||||
|
||||
export const journey = new Journey({
|
||||
kbnArchives: ['test/functional/fixtures/kbn_archiver/stress_test'],
|
||||
esArchives: ['test/functional/fixtures/es_archiver/stress_test'],
|
||||
ftrConfigPath: 'x-pack/performance/configs/http2_config.ts',
|
||||
}).step('Go to dashboard', async ({ page, kbnUrl, kibanaServer, kibanaPage }) => {
|
||||
await kibanaServer.uiSettings.update({ 'histogram:maxBars': 100 });
|
||||
await page.goto(kbnUrl.get(`/app/dashboards#/view/92b143a0-2e9c-11ed-b1b6-a504560b392c`));
|
||||
await kibanaPage.waitForVisualizations({ count: 1 });
|
||||
});
|
25
x-pack/performance/journeys_e2e/ecommerce_dashboard_http2.ts
Normal file
25
x-pack/performance/journeys_e2e/ecommerce_dashboard_http2.ts
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { Journey } from '@kbn/journeys';
|
||||
import { subj } from '@kbn/test-subj-selector';
|
||||
|
||||
export const journey = new Journey({
|
||||
esArchives: ['x-pack/performance/es_archives/sample_data_ecommerce'],
|
||||
kbnArchives: ['x-pack/performance/kbn_archives/ecommerce_no_map_dashboard'],
|
||||
ftrConfigPath: 'x-pack/performance/configs/http2_config.ts',
|
||||
})
|
||||
|
||||
.step('Go to Dashboards Page', async ({ page, kbnUrl, kibanaPage }) => {
|
||||
await page.goto(kbnUrl.get(`/app/dashboards`));
|
||||
await kibanaPage.waitForListViewTable();
|
||||
})
|
||||
|
||||
.step('Go to Ecommerce Dashboard', async ({ page, kibanaPage }) => {
|
||||
await page.click(subj('dashboardListingTitleLink-[eCommerce]-Revenue-Dashboard'));
|
||||
await kibanaPage.waitForVisualizations({ count: 13 });
|
||||
});
|
|
@ -22,5 +22,6 @@
|
|||
"@kbn/expect",
|
||||
"@kbn/dev-utils",
|
||||
"@kbn/apm-synthtrace-client",
|
||||
"@kbn/test-suites-src",
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue