Commit graph

27 commits

Author SHA1 Message Date
Kibana Machine
d75b20ed8b
[8.12] [UX INP] Fix label casing (#173605) (#173655)
# Backport

This will backport the following commits from `main` to `8.12`:
- [[UX INP] Fix label casing
(#173605)](https://github.com/elastic/kibana/pull/173605)

<!--- Backport version: 8.9.7 -->

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

<!--BACKPORT
[{"author":{"name":"Shahzad","email":"shahzad31comp@gmail.com"},"sourceCommit":{"committedDate":"2023-12-19T15:20:37Z","message":"[UX
INP] Fix label casing (#173605)\n\n## Summary\r\n\r\nFix label casing
!!","sha":"86561c2ace1924abb1d36c0c7abfd16b46a135c8","branchLabelMapping":{"^v8.13.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","Team:obs-ux-infra_services","Team:obs-ux-management","v8.13.0"],"number":173605,"url":"https://github.com/elastic/kibana/pull/173605","mergeCommit":{"message":"[UX
INP] Fix label casing (#173605)\n\n## Summary\r\n\r\nFix label casing
!!","sha":"86561c2ace1924abb1d36c0c7abfd16b46a135c8"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.13.0","labelRegex":"^v8.13.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/173605","number":173605,"mergeCommit":{"message":"[UX
INP] Fix label casing (#173605)\n\n## Summary\r\n\r\nFix label casing
!!","sha":"86561c2ace1924abb1d36c0c7abfd16b46a135c8"}}]}] BACKPORT-->

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
2023-12-20 02:59:29 -07:00
Shahzad
96959395b0
[RUM Dashboard] Replace FID with INP (#172467) 2023-12-05 16:57:05 -07:00
Dzmitry Lemechko
f6a90974e9
[es_archives] add 'auto_expand_replicas: 0-1' in index mappings (#162499)
Currently, if you try loading archive with index mappings not having
replica set into stateless ES, it won't work properly: you will get 503
error on calling `GET <index_name>/_stats`:
```
{
  "error": {
    "root_cause": [
      {
        "type": "no_shard_available_action_exception",
        "reason": null
      }
    ],
    "type": "search_phase_execution_exception",
    "reason": "all shards failed",
    "phase": "query",
    "grouped": true,
    "failed_shards": [
      {
        "shard": 0,
        "index": "indices-stats",
        "node": null,
        "reason": {
          "type": "no_shard_available_action_exception",
          "reason": null
        }
      }
    ]
  },
  "status": 503
}
```
In stateless replica is
[required](https://elastic.slack.com/archives/C037J0RKRAN/p1690218904855299)
in order to perform search requests (the "search shard").

This PR updates index mappings in es_archives with
`"auto_expand_replicas": "0-1"`, in order to be compatible with
stateless ES and so that we can re-use existing data sets rather than
creating new ones.

I checked with Core Team that we should fine to just adapt all mapping
files, but let me know if that doesn't work for you.
The same value is used to create the "real" SO
[indices](c79c09c3d0/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/constants.ts (L21))
in Kibana.
2023-07-26 14:30:54 +01:00
Shahzad
0ea97e2e8c
[Synthetics/Uptime] Separate e2e tests by app (#152197)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-07 17:33:56 +02:00
Coen Warmer
0ee23684e3
Remove Playwright e2e test from Observability (#153934) 2023-03-29 17:01:35 +02:00
Shahzad
ded5f9a2ca
[Synthetics] Failed tests by step panel (#149322)
## Summary

Failed tests by step panel

Fixes https://github.com/elastic/kibana/issues/145368

<img width="1523" alt="image"
src="https://user-images.githubusercontent.com/3505601/214053308-458c023e-aaab-4db6-8aa4-a18ce150ce19.png">
2023-01-24 19:22:46 +01:00
Spencer
d6be4a4b06
Implement package linter (#148496)
This PR implements a linter like the TS Project linter, except for
packages in the repo. It does this by extracting the reusable bits from
the TS Project linter and reusing them for the project linter. The only
rule that exists for packages right now is that the "name" in the
package.json file matches the "id" in Kibana.jsonc. The goal is to use a
rule to migrate kibana.json files on the future.

Additionally, a new rule for validating the indentation of tsconfig.json
files was added.

Validating and fixing violations is what has triggered review by so many
teams, but we plan to treat those review requests as notifications of
the changes and not as blockers for merging.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-01-09 16:49:29 -07:00
Shahzad
af7dd7fc56
[Synthetics] Custom reporter for e2e testing (#148251) 2023-01-04 08:25:44 +01:00
Shahzad
86527753a2
[Synthetics] Initial monitor status alert (#147672)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Fixes https://github.com/elastic/kibana/issues/145980
2022-12-29 13:46:53 +01:00
Spencer
afb09ccf8a
Transpile packages on demand, validate all TS projects (#146212)
## Dearest Reviewers 👋 

I've been working on this branch with @mistic and @tylersmalley and
we're really confident in these changes. Additionally, this changes code
in nearly every package in the repo so we don't plan to wait for reviews
to get in before merging this. If you'd like to have a concern
addressed, please feel free to leave a review, but assuming that nobody
raises a blocker in the next 24 hours we plan to merge this EOD pacific
tomorrow, 12/22.

We'll be paying close attention to any issues this causes after merging
and work on getting those fixed ASAP. 🚀

---

The operations team is not confident that we'll have the time to achieve
what we originally set out to accomplish by moving to Bazel with the
time and resources we have available. We have also bought ourselves some
headroom with improvements to babel-register, optimizer caching, and
typescript project structure.

In order to make sure we deliver packages as quickly as possible (many
teams really want them), with a usable and familiar developer
experience, this PR removes Bazel for building packages in favor of
using the same JIT transpilation we use for plugins.

Additionally, packages now use `kbn_references` (again, just copying the
dx from plugins to packages).

Because of the complex relationships between packages/plugins and in
order to prepare ourselves for automatic dependency detection tools we
plan to use in the future, this PR also introduces a "TS Project Linter"
which will validate that every tsconfig.json file meets a few
requirements:

1. the chain of base config files extended by each config includes
`tsconfig.base.json` and not `tsconfig.json`
1. the `include` config is used, and not `files`
2. the `exclude` config includes `target/**/*`
3. the `outDir` compiler option is specified as `target/types`
1. none of these compiler options are specified: `declaration`,
`declarationMap`, `emitDeclarationOnly`, `skipLibCheck`, `target`,
`paths`

4. all references to other packages/plugins use their pkg id, ie:
	
	```js
    // valid
    {
      "kbn_references": ["@kbn/core"]
    }
    // not valid
    {
      "kbn_references": [{ "path": "../../../src/core/tsconfig.json" }]
    }
    ```

5. only packages/plugins which are imported somewhere in the ts code are
listed in `kbn_references`

This linter is not only validating all of the tsconfig.json files, but
it also will fix these config files to deal with just about any
violation that can be produced. Just run `node scripts/ts_project_linter
--fix` locally to apply these fixes, or let CI take care of
automatically fixing things and pushing the changes to your PR.

> **Example:** [`64e93e5`
(#146212)](64e93e5806)
When I merged main into my PR it included a change which removed the
`@kbn/core-injected-metadata-browser` package. After resolving the
conflicts I missed a few tsconfig files which included references to the
now removed package. The TS Project Linter identified that these
references were removed from the code and pushed a change to the PR to
remove them from the tsconfig.json files.

## No bazel? Does that mean no packages??
Nope! We're still doing packages but we're pretty sure now that we won't
be using Bazel to accomplish the 'distributed caching' and 'change-based
tasks' portions of the packages project.

This PR actually makes packages much easier to work with and will be
followed up with the bundling benefits described by the original
packages RFC. Then we'll work on documentation and advocacy for using
packages for any and all new code.

We're pretty confident that implementing distributed caching and
change-based tasks will be necessary in the future, but because of
recent improvements in the repo we think we can live without them for
**at least** a year.

## Wait, there are still BUILD.bazel files in the repo
Yes, there are still three webpack bundles which are built by Bazel: the
`@kbn/ui-shared-deps-npm` DLL, `@kbn/ui-shared-deps-src` externals, and
the `@kbn/monaco` workers. These three webpack bundles are still created
during bootstrap and remotely cached using bazel. The next phase of this
project is to figure out how to get the package bundling features
described in the RFC with the current optimizer, and we expect these
bundles to go away then. Until then any package that is used in those
three bundles still needs to have a BUILD.bazel file so that they can be
referenced by the remaining webpack builds.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-12-22 19:00:29 -06:00
Shahzad
802d8eaeb2
[Synthetics] Add private locations in synthetics settings (#146986)
Fixes https://github.com/elastic/kibana/issues/137486
2022-12-07 13:45:18 +01:00
Nathan Reese
04360839cd
[maps] Ability to offset point labels on maps (#145773)
Resolves https://github.com/elastic/kibana/issues/143677

PR adds "Label position" style setting allowing users to position labels
at top, center, or bottom.

<img width="800" alt="Screen Shot 2022-11-18 at 12 55 44 PM"
src="https://user-images.githubusercontent.com/373691/202792466-b899df1a-60b2-4967-91c3-03c59a8e448a.png">

<img width="800" alt="Screen Shot 2022-11-18 at 12 55 32 PM"
src="https://user-images.githubusercontent.com/373691/202792501-ec0c24da-699d-4394-a7b2-6e2fbd340073.png">

<img width="800" alt="Screen Shot 2022-11-18 at 12 55 14 PM"
src="https://user-images.githubusercontent.com/373691/202792533-28e1a18a-d7c8-48dc-90ca-e67f42a6f9d3.png">

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-11-29 09:08:54 -07:00
Shahzad
b78f785b3c
[Synthetics] User experience and monitor details, load when in view (#144385)
Co-authored-by: Abdul Zahid <awahab07@yahoo.com>
2022-11-04 11:44:01 +01:00
spalger
52f2b33a07
[auto] migrate existing plugin/package configs 2022-10-28 14:06:46 -05:00
Dominique Clarke
286a7c9aa7
[Observability] [UX] add synthetics e2e documentation (#139749) 2022-09-14 18:31:38 +09:30
Justin Kambic
2f98d556c2
Introduce e2e test for page views chart. (#135352) 2022-06-29 09:28:52 -07:00
Shahzad
d6f2dc1042
[Exploratory view] Add e2e tests (#135148)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-06-28 13:31:12 +02:00
Emilio Alvarez Piñeiro
56512e1d41
[UX] Migrate visitor breakdown chart to lens embeddable (#134684)
* Migrate visitor breakdown chart to lens embeddable

* Remove visitor breakdown from APM

Co-authored-by: shahzad31 <shahzad.muhammad@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-06-27 17:57:52 +02:00
Shahzad
7c8b8f8cf3
[Synthetics] Fix getting started e2e test (#133861) 2022-06-27 12:50:06 +02:00
Emilio Alvarez Piñeiro
ce02f07d09
[UX] Migrate long task metric to UX (#134711)
* Migrate long task metric query to ux plugin

* Add e2e test

* Clean up integration tests

* Update e2e test user

Co-authored-by: Shahzad <shahzad.muhammad@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-06-24 10:31:53 +02:00
Emilio Alvarez Piñeiro
705e516701
Fix Client Metrics e2e user (#135056) 2022-06-23 20:26:52 +02:00
Søren Louv-Jansen
60e7f1dcd1
Rename viewer_user to viewer (#134294) 2022-06-22 20:39:18 +02:00
Emilio Alvarez Piñeiro
69e125fb8b
Migrate client metrics from APM to UX (#133322)
* Migrate client metrics from APM to UX

* Add e2e test
2022-06-21 10:18:08 +02:00
Justin Kambic
24312e7eda
[UX Dashboard] Make core web vitals test more reliable (#134401)
* Make core web vitals test more reliable.

* Remove strict numeric comparison from test.

* Fix regex string.

* Remove unneeded explicit timeout value.
2022-06-15 09:34:57 -07:00
Justin Kambic
34fa750da5
[UX Dashboard] Move core web vitals query from APM routes to UX plugin (#133974)
* Migrate service list query out of APM.

* Rename non-snakecase files.

* Migrate service list query out of APM.

* Rename non-snakecase files.

* Move core web vitals query out of APM routes.

* Delete obsolete snapshot.

* Refactor o11y overview registration to not rely on deleted APM route.

* Fix some types.

* Delete obsolete API test.

* Delete obsolete APM API tests.

* Delete CWV test from APM API suite.

* Add test journey for core web vitals.

Co-authored-by: Shahzad <shahzad.muhammad@elastic.co>
2022-06-13 03:33:22 -07:00
Emilio Alvarez Piñeiro
ccea9773e2
Move UX JS Errors out of APM UI (#133040)
* Migrate Ux-jsErrors query to Ux plugin

* Add untracked files

* Clean up old query

* Clean up jsErrors api from apm

* Remove stale snapshot

* Add e2e test for JsErrors chart
2022-06-06 18:36:41 +02:00
Abdul Wahab Zahid
eab8ece3fb
[User Experience] Synthetics e2e tests. (#132896)
Co-authored-by: shahzad31 <shahzad.muhammad@elastic.co>
2022-05-31 18:03:25 +02:00