With my multi sort PR I changed the sort property on saved searches to contain a nested array. Discover and Dashboard were backwards compatible with the old format but it turns out the nested array caused issues for CSV export. Instead of trying to support single and two dimension arrays everywhere, this PR simply adds a migration for saved searches in 7.4 and updates our sample data sets so that we can always expect sort objects to be two dimensional arrays. I also cleaned up the backwards compatibility code in Discover and Dashboard.
* Add snapshot tests for query search params
* Use projections to fetch data
* Add configuration and aggregations for local filters
* Add endpoints for local filters
* UseLocalUIFilters hook
* Parse Local UI filters from URL params
* LocalUIFilters component
* TransactionTypeFilter
* replace useServiceTransactionTypes with useTransactionTypes
* Support transactionType for trace projection/api
* Configure Local UI Filters
* Use units instead of hardcoded px
* Fix i18n error
* Remove unused labels from translation files
* Update URL of API integration test for transaction_types API call
* Revert "replace useServiceTransactionTypes with useTransactionTypes"
This reverts commit bae7fa44a0fc1ace0b498cc78626fabb2d310437.
* Revert "Support transactionType for trace projection/api"
This reverts commit 2edb32cf04ca2c38885c457ba57ce0a1547fd199.
* Remove transaction type filter for traces,error groups
* Address review feedback
* Don't clone in mergeProjection; add tests
* Address review feedback
* Revert transaction_types API path in functional tests
* More review feedback
* More review feedback:
- Add transactions projection
- Merge traces/transaction groups projections
* Don't persist local UI filters in HistoryTabs
* Move projections to server folder
* Move transactionName into options
* Use pod name instead of pod uid
* EUIficate pointe-series and grid
* Apply TS
* Show grid on a panel
* Remove extra space
* Add TS
* Use BasicOptions
* Adjust func test
* Add dataTestSubj prop to SelectOption
* Use id instead of data-sest-subj
* Disable show x-axis lines when there is histogram agg
* Add tooltip for disabled 'Show x-axis lines' config
* Remove extra space
* disable job link if ml not enabled in space
* add analytics table in managment page
* update css for analytics table
* only show ML section if license if trial/platinum
* remove actions column for analytics list in KM
* fix typescript error on columns
* update props interface for analytics table
* plain text instead of disabled link if not enabled in space
We collect the boolean configurations which can be derived by any
end-user of Kibana by making any HTTP request. Since the rules
configuration involves strings that can leak identifiable information,
we only collect whether the rules have been changed from their defaults.
* fixing issue with dashboard csv download
* fixing test fixture to match new sort storage format for saved searches
* fixing sort in additional fixtures
This PR contains enhancements to the `Cypress` end-to-end (e2e) testing support in the SIEM app, as discussed with @spalger
Note: this PR depends on test refactorings in https://github.com/elastic/kibana/pull/42766
Cypress tests may now be run against a remote Elastic Cloud instance
(override `baseUrl`), interactively or via the command line.
Credentials are specified via `kibna.dev.yml` or environment variables.
Run tests on the command line (override `baseUrl` and pass credentials via
the `CYPRESS_ELASTICSEARCH_USERNAME` and `CYPRESS_ELASTICSEARCH_PASSWORD`
environment variables), via command line.
Reports are configured to include:
- An HTML report, suitable for e-mail notifications
- Screenshots
- Junit reports (for integration with Kibana CI)
- Videos (optional)
Reports generated when `Cypress` tests are run on the command line are output
to the `target` directory, which follows specific conventions used by the
Kibana CI process:
* Any directory under `target` that begins with `kibana-`, e.g. `kibana-siem` will be uploaded as an artifact to a bucket
* Junit reports are picked up from the `target/junit` directory
The artifacts generated by running `Cypress` tests on the command line conform to the above conventions.
An HTML report (e.g. for email notifications) is output to:
```
target/kibana-siem/cypress/results/output.html
```
Screenshots of failed tests are output to:
```
target/kibana-siem/cypress/screenshots
```
The Kibana CI process reports `junit` test results from the `target/junit` directory.
Cypress `junit` reports are generated in `target/kibana-siem/cypress/results`
and copied to the `target/junit` directory.
Videos are disabled by default, but can optionally be enabled by setting the
`CYPRESS_video=true` environment variable:
```
CYPRESS_video=true yarn cypress:run
```
Videos are (optionally) output to:
```
target/kibana-siem/cypress/videos
```
The full details and instructions for running Cypress tests are in the
`siem/cypress/README.md`, which was updated to reflect the changes
in this in this PR, but in a nutshell, you may run tests interactively with
the following (new) environment variables:
```sh
cd x-pack/legacy/plugins/siem
CYPRESS_baseUrl=http://localhost:5601 CYPRESS_ELASTICSEARCH_USERNAME=elastic CYPRESS_ELASTICSEARCH_PASSWORD=<password> yarn cypress:open
```
Running the command line version of the tests, which will output
the reports described above, is a similar experence:
```sh
cd x-pack/legacy/plugins/siem
CYPRESS_baseUrl=http://localhost:5601 CYPRESS_ELASTICSEARCH_USERNAME=elastic CYPRESS_ELASTICSEARCH_PASSWORD=<password> yarn cypress:run
```
https://github.com/elastic/siem-team/issues/435https://github.com/elastic/siem-team/issues/437
- regen yarn.lock
* Add ml module with hard-coded timestamp field
* Fix data_recognizer test
* Parameterize the bucket span normalization
* Remove max agg which will be specified during setup
The overrides are recursively merged and therefore additive. Therefore
we can't specify the timestamp agg here, because it could not be
overridden later with a different field and agg name. It needs to be
solely specified at setup time.
* Update index.asciidoc
More tidying up
* Partial commit, still very much work in progress
* Work in progress
* More partial changes
* More partial changes
* Yet more changes
* More changes to infrastructure section
* Some more tidying up of topics.
* More changes, adjusting links, proof-reading etc.
* Some review comments from @bmorelli25 and @gchaps
* Another review change
* Adding redirect for deleted bookmark
* More review changes
“application” is “app” apparently in this context
* Review comments from Brandon
- Fixes a regression where values were not properly extracted from nested objects.
- Moves inline code we had to solve this to a utility function getNestedProperty(). Kibana's idx is a lodash-get replacement with TypeScript support. However, it requires that you'd know the accessor up front, it doesn't work with dynamic string values. getNestedProperty() allows you to pass a string like lodash-get, but it uses idx on the inside so you still get TypeScript support.
* Update metrics-explorer.asciidoc
Partial commit. Adding missing chapter title and tidying up the tutorial a bit.
* Update metrics-explorer.asciidoc
Addressing review comments from @bmorelli25.
Also changed "drop-down" to "dropdown" to meet style guide and added link for reference to KBL.
* Addressing review comments from @simianhacker and @gchaps.
- moves use_create_analytics_form.ts inside a use_create_analytics_form directory to be able to split up the large file
- moves code related to the plain reducer function from ``use_create_analytics_form.tsto its own filereducer.ts`
- adds unit tests for use_create_analytics_form.ts and reducer.ts.
- Changes the button and modal header text from 'Create data frame analytics job' to 'Create outlier detection job'.
The previous implementation of `schema.nullable()` ends up having
a problem - it only works right for `schema.nullable(schema.string())`.
For other types, like `schema.number()` and `schema.boolean()`, a `null`
value passed in does not validate.
I poked around a bit, but "it's complicated". So, went with the
suggested approach of using a `schema.maybe([V, null])` validation,
which works for number and boolean.
Added some additional tests on the `nullable` type.
* [Maps] reposition tooltip when tooltip size changes
* review feedback
* fix jest tests
* add check to ensure tooltip state location is still provided
* Excluding code from base privileges
* Allowing individual privileges to be excluded
* Only returning a boolean for directlyAssigned... for space feature privileges
* We are now called directlyAssignedPrivilegeMorePermissiveThanBase
* An even longer and potentially more accurate name
* Fixing KibanaPrivilegeCalculator tests
* Fixing KibanaAllowedPrivilegesCalculator tests
* Adding privilege space table tests
* Updating privilegesFactory tests
* Removing code's usage
* Updating snapshot
* Update x-pack/legacy/plugins/security/public/lib/kibana_privilege_calculator/kibana_feature_privilege_calculator.test.ts
Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>
* Add cloudId to metrics graphql query.
* Add server-side TSVB model for aws cpu utilization
* Use cloud id for cloud metrics
* Add AWS layout to host page
* Add cloudId to useMetadata
* Refactor: move aws modules into separate directory
* Add AWS network chart to node details
* Add AWS Overview to node details
* Add aws network packets chart to node details
* Add TODO reference to aws network bytes model
* Add AWS diskio ops to node details
* Add AWS diskio bytes to node details
* Check that cloudId is given when needed
* Use network packets on node details AWS overview
* Remove requires on layout level.
* Fix layout creator type signature.
* Add gaugeMax to layout types