Commit graph

17639 commits

Author SHA1 Message Date
Tim Roes
a5810bad98
Add AggTypeFilters to filter out aggs in editor (#19913)
* Add AggTypeFilters to filter out aggs in editor

* Add documentation

* Implement CJ's feedback

* Add link to missing vis variable

* Fix for RxJS 6

* Add babel-core types and fix tests

* Pass index pattern instead of vis

* Fix documentation
2018-06-25 10:34:18 +02:00
Spencer
8fc0fcacc0
[optimizer] allow prod optimizations when running source (#20174) 2018-06-22 14:44:36 -07:00
Justin Kambic
65ce9f0f15
Merge updates from dirty yarn.lock created by 'kbn bootstrap'. (#20169) 2018-06-22 16:44:15 -04:00
Spencer
7f0308b700
[plugin-helpers] use execa so that errors include stdout with helpful info (#20110) 2018-06-22 13:17:10 -07:00
Spencer
d9b31710d0
[dev/precommitHook] log all failures, don't stop at first (#19271) 2018-06-22 12:41:31 -07:00
Shaunak Kashyap
da2da74a08
EUIFication: Grok Debugger (#20027)
* Move <kbn-dev-tools-app> Angular wrapper directive usage into route template

* Move sole directive into new directives folder

* WIP checkin: basic conversion to React components

* Fix sample custom patterns indentation

* Remove custom CSS

* Wrap button in EuiFormRow + define isSimulateDisabled

* Wire up simulate

* Cleanup

* Ace formatting options

* Better styling

* Adding spacing between custom patterns and simulate button

* Fixing form row widths

* Removing form row around button

* Add indentation/newlines in structured output

* Error handling

* Use constants

* Removing no-longer-used code

* Implement syntax highlighting via custom mode

* Making functional tests pass

* Adding trailing comma back

* Removing fixed heights

* Removing unnecessary styles

* Make Event Output form row full width as well

* Wrapping EuiCodeEditors in EuiPanels

* Adding spacer before callout; making spacing around callout consistent

* Clear out custom patterns from request if field is cleared out

* Clear out simulation results before attempting simulation

* Set state with untrimmed value
2018-06-22 11:51:27 -07:00
Rashmi Kulkarni
1ab14f1637
Conversion to ES6 - Discover tests (#20112)
Discover Tests conversion to ES6
2018-06-22 09:38:47 -07:00
Tyler Smalley
3b983e9c22
Include Node.js version in notice file (#20133)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-06-22 07:55:16 -07:00
Stacey Gammon
2c1fcf9604
Typescript-ify screenshot stitcher code in reporting (#20061)
* typescript screenshot stitcher

* Throw an error if the data captured is not of the expected width and height.

* Import babel-core types

* Add babel-core types to x-pack package.json

* Dimensions => Rectangle
2018-06-22 09:18:29 -04:00
Pete Harverson
36d29e4fcc
[ML] Fix link to Single Metric Viewer zoom for sparse data (#20144) 2018-06-22 12:16:17 +01:00
Tyler Smalley
699fb251eb
Adds SCSS support for plugins (#19643)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-06-21 16:25:29 -07:00
Shaunak Kashyap
29f7e4c12b
Updating EUI to 0.0.55 (#20126) 2018-06-21 16:21:10 -07:00
Tyler Smalley
937d14126f
Skip flaky vega test (#20127)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-06-21 13:50:13 -07:00
Tim Sullivan
d0595fdc4b
Separate bulk upload behavior from CollectorSet (#19691)
* Separate bulk upload behavior from CollectorSet

 - takes out a lot of behavior from CollectorSet and moves it to a class called BulkUploader
 - simplifies kibana monitoring init by taking out the indirection that startCollectorSet / createCollectorSet had
 - removes start() method from CollectorSet and calls the collector objects' init() functions from CollectorSet.register()
 - removes cleanup method from collectorSet since that was doing work for bulk uploading

* remove cleanup and fetchAfterInit methods

* test for bulk_uploader class

* improve test for collector_set

* fix reporting

* expose collectorSet if there actually is a collectorSet

* comment for enclosed function

* make collectorSet creation/expose unconditional, bulkUploader more conditional

* fix collector_set tests

* lifecycle events

* stab at collectorSet error logging from the API call

* clean up comments

* clean up comments

* fix BulkUploader mocha test

* check kibanaCollectionEnabled config before registering bulk upload and the plugin status listeners

* no singleton timer object

* just log a warning if bulk uploader start called twice

* normal quotes

* check if bulk is enabled inside of the _fetchAndUpload method

* log for stopping bulk stats

* call bulkUploader.start with the collectorSet object

* call bulkUploader.start with the collectorSet object

* roll back change for module scoped variable

* oops I broke init

* init and logging: if / elseif / elseif

* remove unnecessary check/log

* help log

* remove redundant, use data.filter.map

* use xpackInfo.onLicenseInfoChange not xpackMainPlugin.status.on('green')

* help logging

* fix unit test

* remove handler that stops upload when connection is lost
2018-06-21 13:08:32 -07:00
Justin Kambic
55a43b2805
Fix capitalization typo for className attribute. (#20104) 2018-06-21 10:04:38 -04:00
Pete Harverson
a87c376826
[ML] Fix alignment of text in job wizard remove split button (#20118) 2018-06-21 14:09:09 +01:00
Pete Harverson
c267b4d9e1
[ML] Add missing aria-label attribute to various components (#20117) 2018-06-21 12:21:03 +01:00
John Dorlus
fea9c42d28
[Management] Relationships API test coverage (#19737)
* Added coverage around search and dashboard tests.

* Added tests to check for whether the resource is available. If not, return 404.

* Skipped two tests due to https://github.com/elastic/kibana/issues/19713. Added error handling for relationships API for when no result is found. Return 404.

* Applied patch file per PR.

* Applied Chris patch and tested locally. No failures.

* Removed ajv and utilised joi for schema validation.

* Fixed package.json.

* Copied package.json description from master.

* Reverted package.json and made proper edit.
2018-06-20 15:57:02 -04:00
Stacey Gammon
036d046559
Sync yarn.lock with latest, after running yarn kbn bootstrap on master (#20088) 2018-06-20 14:56:56 -04:00
spalger
53cb1712f4 [kbn-es] update yarn.lock 2018-06-20 11:49:13 -07:00
Spencer
103d71556c
[xpack_main/status] update the plugin status anytime the license changes (#20018)
Fixes #20017 

Currently the xpack_main plugin only sets its status when the elasticsearch plugin changes status, which is a fine signal that the plugin should recheck for the license info, but not the only time it can be updated. At some point recently a race condition became more likely to be triggered, which is detailed in https://github.com/elastic/kibana/issues/20017#issuecomment-398209354 and causes the xpack_main plugin to set its status to red and never return it to green, even after the license info is successfully fetched from Elasticsearch.

To fix this the `XpackInfo` class now exposes the `onLicenseInfoChange(handler)` method which will call the handler whenever the xpack info changes. This way the xpack_main plugin can reflect the current state of the license info in its status and doesn't have to wait for the elasticsearch plugin to change status again.

To test this I recommend running kibana with `--elasticsearch.healthCheck.delay=500` or even `250`, and then starting Elasticsearch after Kibana has started. Without this change Kibana is very likely to attempt a healthcheck between the time that Elasticsearch is "started" and the x-pack license info is completely loaded, triggering the race condition. With this change you should see the xpack info plugin (and all other xpack plugins) go red with a more informative message, and then after the first request or 30 second polling timer, the plugins should go green again.

![screen shot 2018-06-18 at 3 25 47 pm](https://user-images.githubusercontent.com/1329312/41565769-ff032dc0-730c-11e8-978e-3e28ced18448.png)
2018-06-20 11:47:26 -07:00
Chris Earle
75125b49e8
Remove Duplicated Close button from Flyout (#20055)
This removes the now-duplicated Close button from the `EuiFlyout` now that
EUI automatically adds a close button.
2018-06-20 14:42:35 -04:00
Bill McConaghy
aa4cf42b04
adding data-test-subj to buttons and updating snapshots (#20080)
* adding data-test-subj to buttons and updating snapshots

* PR feedback

* updating snapshots
2018-06-20 14:33:48 -04:00
Tim Roes
9f1fd9b93c
Fix one inspector test (#20072) 2018-06-20 14:11:53 +02:00
Tim Roes
2885e871e3
Replace spy panels by Inspector (#16387)
* Add Inspector feature

* So long, and thanks for all the fish, spy panel

* Fix several functional tests

* Fix unit tests

* Fix spy panel button tests

* Replace old spy panel documentation

* Disable test temporarily until we have dashboard triggers

* Enter edit mode for dark theme test

* Fix some more functional tests

* Fix more functional tests

* More test fixing

* Fix more functional tests

* Allow opening the inspector via loader handler

* Refactor InspectorViewChooser, remove unused CSS

* Remove dead code

* Fix data download button style

* Remove redundant code

* Load inspectorViews for dashboard_viewer

* Extract inspector views to custom core_plugin

* Switch API to TypeScript 🎉

* Design changes

* Remove icons from views

* Design changes

* Improve typings of API

* Add typing to all adapters

* Show loading spinner in request selector

* Rewrite InspectorView to TypeScript

* Fix help text for data view

* Remove deprecated React lifecycle methods

* Embed inspector into dashboard panel actions

* Remove temporary inspector trigger

* Remove old CSS

* Fix dashboard trigger for new panel action

* Add tests for InspectorPanel and DataAdapter

* Produce a hierarchical table if the vis is hierarchical

* Remove allowJs option again

* Add missing Apache license headers

* Close inspector on dashboard when navigating away

* Use proper title for dashboard panels

* Fix functional tests

* Skip broken test for now

* Flush view chooser button

* Add request adapter tests

* Skip more tests, broken due to typescript

* Add Request Time description

* Add description for courier request

* Fix tests

* Replace icon by new (not yet released) icon

* Finalize design of inspector

* Remove discover test, that relied on spy panels

* Change API to be properly mockable in tests

* Add aria-live region for request status

* Replace old method in functional tests

* Replace abitrary magic number

* Use object destructuring in vis

* Fix issue with crashing requests view

* Add request time tooltip

* Get request body of correct search source

* Make filter buttons properly keyboard accessible

* Follow Dave's design suggestions

* Remove redundant request from name

* Remove unneeded comments

* WIP raw-formatted values

* Fix filtering issue

* Fix tests and more license headers

* Add data view tests

* Remove search from table

* Fix typos

* Implement review suggestion

* Remove artificial delays for testing

* Fix new panel action structure

* Minor design adjustments

* Fix failing functional test

* Update failing snapshot test

* Implement final wording

* Apply new EUI styling

* Fix closing inspector in tests

* Fix sorting of table

* Align punctuation between tooltips
2018-06-20 11:07:44 +02:00
Peter Pisljar
53e83b5535
fixes filtering on other bucket outside of vislib (#19860) 2018-06-20 08:42:27 +02:00
CJ Cenizal
89e7266853
Remove close buttons from Saved Object relationship and Index Management flyouts. (#20043) 2018-06-19 21:07:18 -07:00
lcawl
92245ac688 [DOCS] Removes 6.0 breaking changes page 2018-06-19 15:16:51 -07:00
Jonathan Budzenski
f40dbd0d26
[build] Remove more files (#19603)
* [build] Remove more files

* rename, add ts and tsx
2018-06-19 15:38:55 -05:00
Stacey Gammon
e35b40e946
Fix flaky test where modal dialog isn't loaded when enter key is pressed (#20035) 2018-06-19 16:04:04 -04:00
Rashmi Kulkarni
4661d8543c
ES6 conversion on Console Test (#20009)
* ES6 conversion
2018-06-19 11:15:57 -07:00
Shaunak Kashyap
64d28b955b
Remove explicit close button (#20044) 2018-06-19 23:43:24 +05:30
Tim Roes
58257c2734
Update EUI to 0.0.53 (#20005)
* Update to EUI 0.0.53

* Remove input vis specific styling

* remove double close button in dashboard add panel flyout (#2)

* Fix functional tests

* fix x-pack snapshots

* EUI 0.0.53 no longer closes combo box when clear btn is pressed (#3)
2018-06-19 17:43:26 +02:00
Pete Harverson
eb45fd1bc5
[ML] Fix overflowing content in anomalies table cells (#20029) 2018-06-19 15:30:29 +01:00
Stacey Gammon
26da49e129
Typescriptify dashboard redux code (#19857)
* Typescriptify dashboard redux code

* Address code review comments

* minor fixes

* move all type dependencies to dev
2018-06-19 09:41:12 -04:00
Tim Roes
fbbd5c111e
Skip flaky test for now (#20033) 2018-06-19 14:07:10 +02:00
Tim Roes
6c5df733e3
Fix prop fail in MetricVisValue (#19991) 2018-06-19 09:57:43 +02:00
Spencer
b25ab869f7
[ftr/confirmModal] assert expected state rather than just reading (#20019)
I've seen a few failures recently like https://kibana-ci.elastic.co/job/elastic+kibana+pull-request+multijob-selenium/4940/console which are caused by the modal not being visible, but if you look at the screenshot you can see the the modal was just about to be displayed but the find didn't wait quite long enough. ~~To fix this temporarily I've increased the `isConfirmModalOpen()` timeout from 2 to 5 seconds.~~

These tests are actually trying to assert that the modal is gone, so rather than simply checking the state of the modal once, the `CommonPage#isConfirmModalOpen()` method has been renamed to `CommonPage#expectConfirmModalOpenState()` which expects a boolean and will assert the state of the confirm modal within a retry, so that as long as the modal eventually transitions to that state it will eventually resolve.

![dashboard app using legacy data dashboard listing page delete default confirm action is cancel 1](https://user-images.githubusercontent.com/1329312/41569272-3215b4aa-731f-11e8-864a-0c0022228245.png)
2018-06-18 21:05:21 -07:00
Justin Kambic
6f7dfcfff2
[Monitoring] [Logstash] Add Config View (#18597)
* Patch ConfigView changes from x-pack-kibana to OSS Kibana.

* Remove old css.

* Update style for queue statement.

* WIP modifying based on designer feedback.

* Add flatten function and list class.

* Rename functions to be more descriptive.

* WIP checkin. Modify components to handle flattened object list.

* Finish moving flatten logic into classes, add tests.

* Simplify flattening, remove non-native dependency. Add more tests.

* Add defaults to simplify function call.

* Refactor two blocks into a function.

* Begin adapting components for list.

* Add collapse functionality.

* Add expand functionality.

* Nested collapsed elements remain collapsed on parent expansion.

* Style section headers.

* Update Plugin statement styles.

* Add DetailDrawer support.

* Update statement formatting.

* Add stats to plugin element rows.

* Resolve conflicts.

* Remove obsolete code.

* Reorganize code.

* Remove warnings.

* Add PropTypes. Add keys to arrays and iterables.

* Update color for borders/buttons.

* Add stat class. Clean up code.

* Convert plugin statement component from class to function.

* Update queue metrics message.

* Update style to make view more responsive.

* Change section heading size.

* Remove gutter from metrics group.

* Change name "stat" to "metric".

* Remove obsolete export line, simplify declaration, based on PR feedback.

* Add new functional component in place of model class.

* Add PropTypes to several components. Rename a function. Add keys to metrics.

* Convert stateless classes to functional components.

* Prefer ES6 syntax over bindings for Component methods.

* Do not render statement section if there are no statements.

* design cleanup for pipeline viewer

* Update CSS to add min-height to page.

* Rename "elements" to "statements". Delete unused LESS variables.

* Revert naming of "statements" to "elements" for StatementList component.

* Update jest snapshots for DetailDrawer.
2018-06-18 23:42:12 -04:00
liza-mae
61a3c9f1ca
Make timelion tests less flaky (#19996)
* Update sleeps in timelion tests

* Add comment
2018-06-18 12:54:54 -06:00
Spencer
304a9f6fca
[build][optimize] don't rely on env for build-based decisions (#19972)
There are several cases where we want to do different things in the
optimizer based on whether we are running in the distributable version
of Kibana or running from source. Historically we have handled this by
relying on the env, but as we start to prebuild things, like TypeScript
and soon SCSS, we actually need to know if the version of Kibana running
was a result of the build process or not. To address this the src/utils
module now exports a constant: `IS_KIBANA_DISTRIBUTABLE`. This constant
will be based on the build.distributable flag being set in Kibana's
package.json, which is done automatically in the build process.
2018-06-18 11:19:33 -07:00
Spencer
6a429d7fa3
[npm] upgrade to RxJS 6 (#18885)
This PR upgrades RxJS to version 6 and switches to a fork of `stream-to-observable` which includes an updated version of `any-observable` that supports RxJS 6 until https://github.com/jamestalmage/stream-to-observable/pull/10 is merged. The primary change in this version of RxJS is the movement of stream operators from `Obersable.prototype` to the `rxjs/operators` module. Some of the operators, like `catch` and `do`, have been renamed (`catchError`, and `tap`). The Obsevable factories have also been moved from static methods on the `Observable` class to named exports of the root `rxjs` module. Some of those factories have also changed slightly, like `fromEvent` which now emits arrays if the event handler is called with multiple arguments.

```js
// import the Rx namespace to get the Observable factories
import * as Rx from 'rxjs';
// import the operators as named imports
import { map, tap, switchMap } from 'rxjs/operators';
```
2018-06-18 10:16:38 -07:00
Nathan Reese
e40e64126b
Migrate dashboard save error from old toast message to new EUI toast (#19956)
* Migrate dashboard save error from old toast message to new EUI toast

* save function does not need to exist on  anymore

* account for error in onSave

* update clone

* lint errors
2018-06-18 11:03:04 -06:00
wispxjtu
0945154302
Code example miss single quotes (#19783) 2018-06-18 11:12:54 -05:00
Larry Gregory
efc97a7ad0
Add plugin disclaimer (#19989)
Adds a disclaimer to the Known Plugins section of our documentation, which notes that we do not evaluate them.
2018-06-18 10:49:45 -04:00
Søren Louv-Jansen
bb047a4aaa
[APM] Fix JSON in Watcher assistant (#19987) 2018-06-18 16:17:48 +02:00
Larry Gregory
8e9d776f54
[Flaky Test] - Role Management Screen (#19988)
Fixes a flaky test by waiting for Kibana to finish all pending requests before continuing
2018-06-18 09:54:31 -04:00
Tim Roes
b39b5209e4
Fix broken migration for old gauge format (#19853)
* Fix broken migration for old gauge format

* Fix broken unit tests

* Assume Metric as default
2018-06-18 15:00:02 +02:00
Felix Stürmer
cf16b801fd
[Context view] Incrementally increase context time window (#16878)
This PR tries to reduce the Elasticsearch cluster load for index patterns with many indices.

**Theory of operation**

Before this PR, Elasticsearch had to perform the query and sorting for every shard matching the index pattern. In order to avoid that in a time-base indexing scheme, the queries should include a `range` filter. This enables Elasticsearch to rewrite most of the shard accesses to `match_none`. But since the context view operates on document counts, the time intervals need to be determined heuristically:

* start of the interval is the second end of the previous query iteration or `anchor_time` if it is the first iteration
* end of the interval is `interval_start +/- n days` with `n in {1, 7, 30, 365, 10000}` or unlimited if insufficient hits were returned for all `n`

This date arithmetic introduces the assumption that the primary sorting field is a date or at least numeric. Therefore, the `sortingField` has been renamed to `timeField` to make those new assumptions explicit.

**Other notes**

As an additional optimization, the queries are now executed in a `constant_score` filter context to enable caching by Elasticsearch.

Tests for `fetchSuccessors` and `fetchPredecessors` were added.

Changes in ElasticSearch required a concurrent fix of #17696, which is also included. It now splits up the anchor `uid` into `anchorType` and `anchorId` and uses them in an `ids` query.

**Testing**

The fact that only a small subset of the shards are involved in a query should be observable using the `skipped` shard count in the response.

fixes #15143
fixes #17696
2018-06-18 12:31:54 +02:00
Tim Roes
ef29b891a4
Allow overwriting filters when adding via queryFilter (#19754)
* Allow overwriting filters

* Add another test
2018-06-18 12:28:53 +02:00