Skip to content

Commit

Permalink
[8.x] [kbn-journey] add journeys running Kibana server with http2 (#1…
Browse files Browse the repository at this point in the history
…94732) (#197847)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[kbn-journey] add journeys running Kibana server with http2
(#194732)](#194732)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-17T15:24:27Z","message":"[kbn-journey]
add journeys running Kibana server with http2 (#194732)\n\n##
Summary\r\n\r\nThis PR introduces two performance journey-replicas of
the existing\r\n`ecommerce_dashboard` and `data_stress_test_lens`
executed with the\r\nKibana server running HTTP/2.\r\n\r\nThe goal is to
monitor and compare performance between HTTP/1.1
and\r\nHTTP/2\r\n\r\nperf pipeline is
triggered\r\nhttps://buildkite.com/elastic/kibana-single-user-performance/builds/14561\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>","sha":"77102c1854bba7253da5363168e8aafb66a34579","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","wg:performance","v8.16.0","backport:version","v8.17.0"],"title":"[kbn-journey]
add journeys running Kibana server with
http2","number":194732,"url":"https://github.com/elastic/kibana/pull/194732","mergeCommit":{"message":"[kbn-journey]
add journeys running Kibana server with http2 (#194732)\n\n##
Summary\r\n\r\nThis PR introduces two performance journey-replicas of
the existing\r\n`ecommerce_dashboard` and `data_stress_test_lens`
executed with the\r\nKibana server running HTTP/2.\r\n\r\nThe goal is to
monitor and compare performance between HTTP/1.1
and\r\nHTTP/2\r\n\r\nperf pipeline is
triggered\r\nhttps://buildkite.com/elastic/kibana-single-user-performance/builds/14561\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>","sha":"77102c1854bba7253da5363168e8aafb66a34579"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/194732","number":194732,"mergeCommit":{"message":"[kbn-journey]
add journeys running Kibana server with http2 (#194732)\n\n##
Summary\r\n\r\nThis PR introduces two performance journey-replicas of
the existing\r\n`ecommerce_dashboard` and `data_stress_test_lens`
executed with the\r\nKibana server running HTTP/2.\r\n\r\nThe goal is to
monitor and compare performance between HTTP/1.1
and\r\nHTTP/2\r\n\r\nperf pipeline is
triggered\r\nhttps://buildkite.com/elastic/kibana-single-user-performance/builds/14561\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>","sha":"77102c1854bba7253da5363168e8aafb66a34579"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/196729","number":196729,"state":"MERGED","mergeCommit":{"sha":"4105d351bf6ac244318056fa9504ac14b7645d6c","message":"[8.16]
[kbn-journey] add journeys running Kibana server with http2 (#194732)
(#196729)\n\n# Backport\n\nThis will backport the following commits from
`main` to `8.16`:\n- [[kbn-journey] add journeys running Kibana server
with
http2\n(#194732)](https://github.com/elastic/kibana/pull/194732)\n\n<!---
Backport version: 9.4.3 -->\n\n### Questions ?\nPlease refer to the
[Backport
tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT
[{\"author\":{\"name\":\"Dzmitry\nLemechko\",\"email\":\"[email protected]\"},\"sourceCommit\":{\"committedDate\":\"2024-10-17T15:24:27Z\",\"message\":\"[kbn-journey]\nadd
journeys running Kibana server with http2
(#194732)\\n\\n##\nSummary\\r\\n\\r\\nThis PR introduces two performance
journey-replicas of\nthe existing\\r\\n`ecommerce_dashboard` and
`data_stress_test_lens`\nexecuted with the\\r\\nKibana server running
HTTP/2.\\r\\n\\r\\nThe goal is to\nmonitor and compare performance
between HTTP/1.1\nand\\r\\nHTTP/2\\r\\n\\r\\nperf pipeline
is\ntriggered\\r\\nhttps://buildkite.com/elastic/kibana-single-user-performance/builds/14561\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nkibanamachine\n<[email protected]>\",\"sha\":\"77102c1854bba7253da5363168e8aafb66a34579\",\"branchLabelMapping\":{\"^v9.0.0$\":\"main\",\"^v8.17.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"wg:performance\",\"v8.16.0\",\"backport:version\"],\"title\":\"[kbn-journey]\nadd
journeys running Kibana server
with\nhttp2\",\"number\":194732,\"url\":\"https://github.com/elastic/kibana/pull/194732\",\"mergeCommit\":{\"message\":\"[kbn-journey]\nadd
journeys running Kibana server with http2
(#194732)\\n\\n##\nSummary\\r\\n\\r\\nThis PR introduces two performance
journey-replicas of\nthe existing\\r\\n`ecommerce_dashboard` and
`data_stress_test_lens`\nexecuted with the\\r\\nKibana server running
HTTP/2.\\r\\n\\r\\nThe goal is to\nmonitor and compare performance
between HTTP/1.1\nand\\r\\nHTTP/2\\r\\n\\r\\nperf pipeline
is\ntriggered\\r\\nhttps://buildkite.com/elastic/kibana-single-user-performance/builds/14561\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nkibanamachine\n<[email protected]>\",\"sha\":\"77102c1854bba7253da5363168e8aafb66a34579\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"8.16\"],\"targetPullRequestStates\":[{\"branch\":\"main\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v9.0.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/194732\",\"number\":194732,\"mergeCommit\":{\"message\":\"[kbn-journey]\nadd
journeys running Kibana server with http2
(#194732)\\n\\n##\nSummary\\r\\n\\r\\nThis PR introduces two performance
journey-replicas of\nthe existing\\r\\n`ecommerce_dashboard` and
`data_stress_test_lens`\nexecuted with the\\r\\nKibana server running
HTTP/2.\\r\\n\\r\\nThe goal is to\nmonitor and compare performance
between HTTP/1.1\nand\\r\\nHTTP/2\\r\\n\\r\\nperf pipeline
is\ntriggered\\r\\nhttps://buildkite.com/elastic/kibana-single-user-performance/builds/14561\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nkibanamachine\n<[email protected]>\",\"sha\":\"77102c1854bba7253da5363168e8aafb66a34579\"}},{\"branch\":\"8.16\",\"label\":\"v8.16.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"}]}]\nBACKPORT-->\n\nCo-authored-by:
Dzmitry Lemechko
<[email protected]>"}},{"branch":"8.x","label":"v8.17.0","branchLabelMappingKey":"^v8.17.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Dzmitry Lemechko <[email protected]>
  • Loading branch information
kibanamachine and dmlemeshko authored Oct 25, 2024
1 parent 1cf8b9d commit 9f5ff83
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .buildkite/ftr_platform_stateful_configs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -346,6 +349,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
Expand All @@ -359,6 +363,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
Expand Down
1 change: 1 addition & 0 deletions src/dev/performance/run_performance_cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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) => {
Expand Down
20 changes: 20 additions & 0 deletions x-pack/performance/configs/http2_config.ts
Original file line number Diff line number Diff line change
@@ -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(),
});
}
18 changes: 18 additions & 0 deletions x-pack/performance/journeys_e2e/data_stress_test_lens_http2.ts
Original file line number Diff line number Diff line change
@@ -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 changes: 25 additions & 0 deletions x-pack/performance/journeys_e2e/ecommerce_dashboard_http2.ts
Original file line number Diff line number Diff line change
@@ -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 });
});
1 change: 1 addition & 0 deletions x-pack/performance/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,6 @@
"@kbn/expect",
"@kbn/dev-utils",
"@kbn/apm-synthtrace-client",
"@kbn/test-suites-src",
]
}

0 comments on commit 9f5ff83

Please sign in to comment.