chore(NA): rename journeys folder into journeys_e2e inside x-pack/performance to correctly classify journey e2e files (#178340)

The source code classifier we currently have was incorrectly classifying
e2e journey files as `non-package` instead of `tests or mocks` as it was
not using the name standards we used for FTR files.

We could have created a `functional-tests` package for the performance
folder (which is what we want to do in the future) but because we don't
have the feature to create ownerless packages it would not be easy to
find a given owner for that folder.

As such I'm just opting for a second solution which is applying the same
name standards to this journeys folder as we have for FTR and changing a
little the classifier to recognise it.

This should fix the problem found at
https://github.com/elastic/kibana/pull/178017.

Co-authored-by: Alex Szabo <alex.szabo@elastic.co>
This commit is contained in:
Tiago Costa 2024-03-14 21:15:57 +00:00 committed by GitHub
parent f1d0cd145e
commit 3a040a170a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 31 additions and 30 deletions

View file

@ -446,24 +446,24 @@ enabled:
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group4.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group5.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group6.ts
- x-pack/performance/journeys/ecommerce_dashboard.ts
- x-pack/performance/journeys/ecommerce_dashboard_map_only.ts
- x-pack/performance/journeys/flight_dashboard.ts
- x-pack/performance/journeys/login.ts
- x-pack/performance/journeys/many_fields_discover.ts
- x-pack/performance/journeys/many_fields_lens_editor.ts
- x-pack/performance/journeys/many_fields_transform.ts
- x-pack/performance/journeys/tsdb_logs_data_visualizer.ts
- x-pack/performance/journeys/promotion_tracking_dashboard.ts
- x-pack/performance/journeys/web_logs_dashboard.ts
- x-pack/performance/journeys/data_stress_test_lens.ts
- x-pack/performance/journeys/ecommerce_dashboard_saved_search_only.ts
- x-pack/performance/journeys/ecommerce_dashboard_tsvb_gauge_only.ts
- x-pack/performance/journeys/dashboard_listing_page.ts
- x-pack/performance/journeys/tags_listing_page.ts
- x-pack/performance/journeys/cloud_security_dashboard.ts
- x-pack/performance/journeys/apm_service_inventory.ts
- x-pack/performance/journeys/infra_hosts_view.ts
- x-pack/performance/journeys_e2e/ecommerce_dashboard.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
- x-pack/performance/journeys_e2e/many_fields_discover.ts
- x-pack/performance/journeys_e2e/many_fields_lens_editor.ts
- x-pack/performance/journeys_e2e/many_fields_transform.ts
- x-pack/performance/journeys_e2e/tsdb_logs_data_visualizer.ts
- x-pack/performance/journeys_e2e/promotion_tracking_dashboard.ts
- x-pack/performance/journeys_e2e/web_logs_dashboard.ts
- x-pack/performance/journeys_e2e/data_stress_test_lens.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
- x-pack/performance/journeys_e2e/tags_listing_page.ts
- x-pack/performance/journeys_e2e/cloud_security_dashboard.ts
- x-pack/performance/journeys_e2e/apm_service_inventory.ts
- x-pack/performance/journeys_e2e/infra_hosts_view.ts
- x-pack/test/custom_branding/config.ts
- x-pack/test/profiling_api_integration/cloud/config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/actions/trial_license_complete_tier/configs/ess.config.ts

View file

@ -15,7 +15,7 @@ OUTPUT_DIR="${KIBANA_DIR}/${OUTPUT_REL}"
.buildkite/scripts/bootstrap.sh
echo "--- Extract APM metrics"
for journey in x-pack/performance/journeys/*; do
for journey in x-pack/performance/journeys_e2e/*; do
echo "Looking for journey=${journey} and BUILD_ID=${BUILD_ID} in APM traces"
node scripts/extract_performance_testing_dataset \

View file

@ -184,7 +184,7 @@
"tags": [],
"label": "Constructor",
"description": [
"\nCreate a Journey which should be exported from a file in the\nx-pack/performance/journeys directory."
"\nCreate a Journey which should be exported from a file in the\nx-pack/performance/journeys_e2e directory."
],
"signature": [
"any"
@ -1409,4 +1409,4 @@
}
]
}
}
}

View file

@ -23,7 +23,7 @@ Let's assume we instrumented dashboard with load time metrics and want to track
Journey supports loading test data with esArchiver or kbnArchiver. Similar to functional tests, it might require to implement custom wait
for UI rendering to be completed.
Simply create a new file in `x-pack/performance/journeys` with the following code:
Simply create a new file in `x-pack/performance/journeys_e2e` with the following code:
```
export const journey = new Journey({
@ -51,7 +51,7 @@ In oder to get correct and consistent metrics, it is important to design journey
### Running performance journey locally for troubleshooting purposes
Use the Node script:
`node scripts/run_performance.js --journey-path x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts`
`node scripts/run_performance.js --journey-path x-pack/performance/journeys_e2e/$YOUR_JOURNEY_NAME.ts`
Scripts steps include:
- start Elasticsearch

View file

@ -108,7 +108,7 @@ export TEST_CLOUD=1
Run your journey with the command:
```
node scripts/functional_test_runner.js --config x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts`
node scripts/functional_test_runner.js --config x-pack/performance/journeys_e2e/$YOUR_JOURNEY_NAME.ts`
```
APM & Telemetry labels will be updated on the fly and metrics/traces should be available in Telemetry Staging and kibana-ops-e2e-perf cluster.

View file

@ -88,7 +88,7 @@ export class Journey<CtxExt extends object> {
/**
* Create a Journey which should be exported from a file in the
* x-pack/performance/journeys directory.
* x-pack/performance/journeys_e2e directory.
*/
constructor(opts?: JourneyConfigOptions<CtxExt>) {
const path = callsites().at(1)?.getFileName();

View file

@ -53,6 +53,7 @@ export const TEST_DIR = new Set([
'stub',
'e2e',
'ftr_e2e',
'journeys_e2e',
'storybook',
'.storybook',
'integration_tests',

View file

@ -14,7 +14,7 @@ import { ToolingLog } from '@kbn/tooling-log';
import fs from 'fs';
import path from 'path';
const JOURNEY_BASE_PATH = 'x-pack/performance/journeys';
const JOURNEY_BASE_PATH = 'x-pack/performance/journeys_e2e';
export interface Journey {
name: string;
@ -126,7 +126,7 @@ run(
if (journeyPath && fs.statSync(journeyPath).isFile()) {
journeys.push({ name: path.parse(journeyPath).name, path: journeyPath });
} else {
// default dir is x-pack/performance/journeys
// default dir is x-pack/performance/journeys_e2e
const dir = journeyPath ?? path.resolve(REPO_ROOT, JOURNEY_BASE_PATH);
readFilesRecursively(dir, (filePath: string) =>
journeys.push({

View file

@ -236,8 +236,8 @@ Run all tests from the `x-pack` root directory
- Run `node scripts/functional_tests_server`
- Run `node ../scripts/functional_test_runner.js --config ./test/api_integration/config.ts --grep=Lens`
- Performance journeys:
- Run `node scripts/functional_tests_server.js --config x-pack/test/performance/journeys/data_stress_test_lens/config.ts`
- Run `node scripts/functional_test_runner --config x-pack/test/performance/journeys/data_stress_test_lens/config.ts`
- Run `node scripts/functional_tests_server.js --config x-pack/test/performance/journeys_e2e/data_stress_test_lens/config.ts`
- Run `node scripts/functional_test_runner --config x-pack/test/performance/journeys_e2e/data_stress_test_lens/config.ts`
## Developing tips

View file

@ -42,7 +42,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
}
const journey: ScalabilityJourney = JSON.parse(fs.readFileSync(scalabilityJsonPath, 'utf8'));
const configPath = journey.configPath ?? 'x-pack/performance/journeys/login.ts';
const configPath = journey.configPath ?? 'x-pack/performance/journeys_e2e/login.ts';
const baseConfig = (await readConfigFile(path.resolve(REPO_ROOT, configPath))).getAll();