# Backport
This will backport the following commits from `main` to `8.6`:
- [[APM] Add parallel builds for cypress tests
(#142598)](https://github.com/elastic/kibana/pull/142598)
<!--- Backport version: 8.9.7 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Giorgos
Bamparopoulos","email":"georgios.bamparopoulos@elastic.co"},"sourceCommit":{"committedDate":"2022-12-21T15:36:08Z","message":"[APM]
Add parallel builds for cypress tests (#142598)\n\n- Tests runs
initiated by the flaky test runner are not recorded
or\r\nparallelized","sha":"042403e606e59468024b9a822ab7a9c199a487f5","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:APM","release_note:skip","v8.6.0","v8.7.0"],"number":142598,"url":"https://github.com/elastic/kibana/pull/142598","mergeCommit":{"message":"[APM]
Add parallel builds for cypress tests (#142598)\n\n- Tests runs
initiated by the flaky test runner are not recorded
or\r\nparallelized","sha":"042403e606e59468024b9a822ab7a9c199a487f5"}},"sourceBranch":"main","suggestedTargetBranches":["8.6"],"targetPullRequestStates":[{"branch":"8.6","label":"v8.6.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/142598","number":142598,"mergeCommit":{"message":"[APM]
Add parallel builds for cypress tests (#142598)\n\n- Tests runs
initiated by the flaky test runner are not recorded
or\r\nparallelized","sha":"042403e606e59468024b9a822ab7a9c199a487f5"}}]}]
BACKPORT-->
Co-authored-by: Giorgos Bamparopoulos <georgios.bamparopoulos@elastic.co>
* Rename `getSearchAggregatedTransactions` to `getSearchTransactionsEvents`
* Rename getHasAggregatedTransactions to getHasTransactionsEvents
* Rename getSearchAggregatedServiceMetrics to getSearchServiceMetrics
* Rename getHasAggregatedServicesMetrics to getHasServicesMetrics
* Update readme to include service metrics example
* Update x-pack/plugins/apm/dev_docs/apm_queries.md
Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>
* Fix example document
Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>
* Add per_service telemetry (cloud_provider + cloud_region)
* Clean up types and add availability_zone
* Add top_hits for agent version/name
* Use top_metrics instead of top_hits
* Switch to metrics index + clean up constants
* Add service.framework/language/runtime, plus kubernetes
* Add container ID
* Add faas trigger-type
* Add timed_out
* Update the schema
Also switched to an array of dictionaries since I couldn't figure
out how to make a dictionary with arbitrary keys in the schema.
* Use the correct (?) syntax for the per_service schema
* Fix bad unions and generate schema
* Use flatmap+map to create the data immutably
* Force string to match types
* Generate schema
* Add note about updating the jest snapshot
* [APM] Add telemetry to service groups quries
* Add service groups in telemetry schema
* Add an internal route to test apm telemetry
* Update endpoint to run telemetry jobs and display data
* Update telemetry README
* Move service_groups task work to another PR
* Clean up
* Use versioned link in x-pack/plugins/apm/dev_docs/telemetry.md
Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>
* Update x-pack/plugins/apm/server/routes/debug_telemetry/route.ts
Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>
* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'
Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
* [ftr] automatically determine config run order
* split lens config into two groups
* support ftr configs always running against CI
* Split detection_engine_api_integration rule exception list tests
* Add configs from previous commit
* [ftr] remove testMetadata and maintain a unique lifecycle instance per run
* Revert "[ftr] remove testMetadata and maintain a unique lifecycle instance per run"
This reverts commit d2b4fdb824.
* Split alerting_api_integration/security_and_spaces tests
* Add groups to yaml
* Revert "Revert "[ftr] remove testMetadata and maintain a unique lifecycle instance per run""
This reverts commit 56232eea68.
* stop ES more forcefully and fix timeout
* only cleanup lifecycle phases when the cleanup is totally complete
* only use kill when cleaning up an esTestInstance
* fix broken import
* fix runOptions.alwaysUseSource implementation
* fix config access
* fix x-pack/ccs config
* fix ml import file paths
* update kibana build id
* revert array.concat() change
* fix baseConfig usage
* fix pie chart data
* split up maps tests
* pull in all of group5 so that es archives are loaded correctly
* add to ftr configs.yml
* fix pie chart data without breaking legacy version
* fix more pie_chart stuff in new vis lib
* restore normal PR tasks
* bump kibana-buildkite-library
* remove ciGroup validation
* remove the script which is no longer called from checks.sh
* [CI] Auto-commit changed files from 'yarn kbn run build -i @kbn/pm'
* adapt flaky test runner scripts to handle ftrConfig paths
* fix types in alerting_api_integration
* improve flaky config parsing and use non-local var name for passing explicit configs to ftr_configs.sh
* Split xpack dashboard tests
* Add configs
* [flaky] remove key from ftr-config steps
* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'
* restore cypress builds
* remove ciGroups from FTR config files
* fixup some docs
* add temporary script to hunt for FTR config files
* use config.base.js naming for clarity
* use script to power ftr_configs.yml
* remove usage of removed x-pack/scripts/functional_tests
* fix test names in dashboard snapshots
* bump kibana-buildkite-library
* Try retrying only failed configs
* be a little quieter about trying to get testStats from configs with testRunners defined
* Remove test code
* bump kibana-buildkite-library
* update es_snapshot and on_merge jobs too
* track duration and exit code for each config and print it at the end of the script
* store results in order, rather than by key, in case there are duplicates in $config
* bash is hard
* fix env source and use +e rather than disabling e for whole file
* bash sucks
* print config summary in jest jobs too
* define results in jest_parallel.sh
* simplify config summary print, format times a little better
* fix reference to unbound time variable, use better variable name
* skip the newline between each result
* finish with the nitpicking
* sync changes with ftr_configs.sh
* refuse to execute config files which aren't listed in the .buildkite/ftr_configs.yml
* fix config.edge.js base config import paths
* fix some readmes
* resolve paths from ftr_configs manifest
* fix readConfigFile tests
* just allow __fixtures__ configs
* list a few more cypress config files
* install the main branch of kibana-buildkite-library
* split up lens group1
* move ml data_visualizer tests to their own config
* fix import paths
* fix more imports
* install specific commit of buildkite-pipeline-library
* sort configs in ftr_configs.yml
* bump kibana-buildkite-library
* remove temporary script
* fix env var for limiting config types
* Update docs/developer/contributing/development-functional-tests.asciidoc
Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>
* produce a JUnit report for saved objects field count
* apply standard concurrency limits from flaky test runner
* support customizing FTR concurrency via the env
Co-authored-by: Brian Seeders <brian.seeders@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>
* Add links to field references and GET requests to the examples
* Add troubleshooting info for failed requests
* Add data model and running examples section
* Add GET requests for query examples
* Add `metricset` possible values
Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>
* Add transaction based and metric based queries
Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>
All endpoints except annotations, source maps, and agent configuration are now at /internal/apm instead of /api/apm.
None of the UX endpoints have been updated, only APM.
If you search for "/api/apm" in the codebase, you should only see the above endpoints.
Fixes#113383.
Allow selecting any service name, transaction type (where appropriate), and environment when creating and editing rules, both in APM and Stack Management.
- Create /internal/apm/suggestions endpoint that uses `terms_enum`
- Use combo box for environment, service name, and transaction type with suggestions endpoint on all alerts
- Remove "Go to APM" callouts on new alert creation
- Wrap calls to `createCallApmApi` in alert triggers with `useEffect`
- Use `getEnvironmentLabel` for value in environment field expression
- Make all `AlertParams` fields optional (except in latency threshold alert)
- Add e2e tests for creating an alert
- Remove `NewAlertEmptyPrompt` component and `isNewApmRuleFromStackManagement` helper
- Replace `maxServiceEnvironments` and `maxServiceSelections` config options with `maxSuggestions` advanced setting.

Fixes#106786
* [APM] @kbn/typed-router-config
* [APM] typed route config
* Breadcrumbs, wildcards
* Migrate settings, home
* Migrate part of service detail page
* Migrate remaining routes, tests
* Set maxWorkers for precommit script to 4
* Add jest types to tsconfigs
* Make sure transaction distribution data is fetched
* Fix typescript errors
* Remove usage of react-router's useParams
* Add route() utility function
* Don't use ApmServiceContext for alert flyouts
* Don't add onClick handler for breadcrumb
* Clarify ts-ignore
* Remove unused things
* Update documentation
* Use useServiceName() in ServiceMap component