Skip to content

Commit

Permalink
[obsUX][APM] Migrate APM metrics tests to agnostic deployment tests (e…
Browse files Browse the repository at this point in the history
…lastic#200175)

### Summary
Closes elastic#198976
Part of elastic#193245

This PR contains the changes to migrate metrics test folder to
Deployment-agnostic testing strategy.

#### How to test
Serverless
```
node scripts/functional_tests_server --config x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.serverless.config.ts
node scripts/functional_test_runner --config x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.serverless.config.ts --grep="APM"
```
It's recommended to be run against
[MKI](https://github.com/crespocarlos/kibana/blob/main/x-pack/test_serverless/README.md#run-tests-on-mki)

Stateful
```
node scripts/functional_tests_server --config x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.stateful.config.ts
node scripts/functional_test_runner --config x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.stateful.config.ts --grep="APM"
```
Checks

- [ ] (OPTIONAL, only if a test has been unskipped) Run flaky test suite
- [x]  local run for serverless
- [x]  local run for stateful
- [x]  MKI run for serverless
  • Loading branch information
MiriamAparicio authored and CAWilson94 committed Nov 18, 2024
1 parent 2dbd042 commit 76e7565
Show file tree
Hide file tree
Showing 14 changed files with 948 additions and 933 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ export default function apmApiIntegrationTests({
loadTestFile(require.resolve('./correlations'));
loadTestFile(require.resolve('./entities'));
loadTestFile(require.resolve('./cold_start'));
loadTestFile(require.resolve('./metrics'));
loadTestFile(require.resolve('./services'));
loadTestFile(require.resolve('./historical_data'));
loadTestFile(require.resolve('./observability_overview'));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* 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 { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context';

export default function ({ loadTestFile }: DeploymentAgnosticFtrProviderContext) {
describe('metrics', () => {
loadTestFile(require.resolve('./metrics_charts.spec.ts'));
loadTestFile(require.resolve('./memory/memory_metrics.spec.ts'));
loadTestFile(require.resolve('./serverless/serverless_active_instances.spec.ts'));
loadTestFile(require.resolve('./serverless/serverless_functions_overview.spec.ts'));
loadTestFile(require.resolve('./serverless/serverless_metrics_charts.spec.ts'));
loadTestFile(require.resolve('./serverless/serverless_summary.spec.ts'));
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
*/

import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../common/ftr_provider_context';
import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace';
import { config, generateData } from './generate_data';
import { DeploymentAgnosticFtrProviderContext } from '../../../../../ftr_provider_context';

export default function ApiTest({ getService }: FtrProviderContext) {
const registry = getService('registry');
const apmApiClient = getService('apmApiClient');
const apmSynthtraceEsClient = getService('apmSynthtraceEsClient');
export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) {
const apmApiClient = getService('apmApi');
const synthtrace = getService('synthtrace');

const start = new Date('2023-01-01T00:00:00.000Z').getTime();
const end = new Date('2023-01-01T00:15:00.000Z').getTime() - 1;
Expand All @@ -33,9 +33,10 @@ export default function ApiTest({ getService }: FtrProviderContext) {
});
}

// FLAKY: https://github.com/elastic/kibana/issues/176990
registry.when('Memory', { config: 'trial', archives: [] }, () => {
describe('Memory', () => {
let apmSynthtraceEsClient: ApmSynthtraceEsClient;
before(async () => {
apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient();
await generateData({ start, end, apmSynthtraceEsClient });
});

Expand Down
Loading

0 comments on commit 76e7565

Please sign in to comment.