* adding generated spec files for xpack endpoints and adjusting code to handle the same override logic
* accounting for non URL documentation values
* fixing issue with incorrect override file
* adding support for unknown parameters in path (assuming they are ids)
* fixing autocomplete for get_categories ml API
* fixing issue with autocomplete for get_overall_buckets
* fixing issue with get_overall_buckets autocomplete
* fixing get_overall_buckets autocomplete issue for reals
* fixing __flag__ in body autocomplete specs
* fixing issue with ml put_datafeed autocomplete
* removing unnecessary overrides for rollup put_job
* fix issue with UrlPatternMatcher
* fixing tests
* fixing typos
* overriding rollup get due to bug in ES specs
* 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
* 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
* 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
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)
* 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
* 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.
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';
```
* [Monitoring/No Data] Show a "still waiting" link after 19s
* minor bug fix: spinner if _interval_ updating
* update "we tried"
* some wording changes on activating / trying to activate monitoring
* cancel the setTimeout when component gets unmounted
* more wording tweaks
* update snapshot
To get rid of angular's tooltip="..." code in the header of data cards of the data visualizer, this introduces a ml-field-title-bar directive/component.
- The directive replaces the raw template code in field_data_card.html.
- The directive itself wraps a React component which uses EUI's tooltip instead of angular's tooltip attribute.
- The previous angular template logic (about which classes and fieldnames to display) is also move to the React component
- Fixes an issue with cut off text within aggregation type dropdowns in the multi-metric and population wizard.
- Fixes the style of the dropdown to be consistent across browsers.
- Fixes 1px vertical offset between dropdown and trash-icon.
- Deprecates the use of jQuery to render the swimlanes axis labels and uses d3's axis component instead. We already used d3 features like d3.scale and others to calculate the label positions but the DOM rendering was still done using jQuery.
- Additionally, adds some logic to remove/fix overlapping labels.
1. Increases the top margin to 5 and the right margin to 1 to avoid cutting off the chart because overflow is hidden for the directives mlEventRateChart and mlMultiMetricJobChart. The top margin gives enough room to avoid cutting off y-axis labels. The right margin is a tweak to not cut off the gray border by 1 pixel to the right.
2. Fixes how the domain for mlEventRateChart is calculated. The domain gets now extended by 1 barsInterval, otherwise the last bar will start at the end of vizWidth and overflow the chart (the overflow is hidden so the visible chart missed one bar).
* adding documentation links when the endpoint is known
* making doc link reflect version user is using
* adding documentation links for xpack APIs
* fixing missing argument issue
* removing console log
* fixing issue with lingering documentation after text is deleted
* fixing issue with documentation and multiple commands in the editor
* adding $scope.$apply so documentation changes show up in UI
* removing dead code
* adding missing boost param for match_all
* fixing issue with parameterized endpoint completion
* adding keyboard shortcut for opening documentation for current request
* fixing issue with keyboard docs shortcut when you just move the cursor around
* refactoring to class style and moving components to own files
* making top level components fetch sensitive to HTTP verb
* fixing issue with _ endpoints getting mistaken as index names for autocomplete possibilities:wq:
* removing stray console log
* removing console log
* PR feedback
* accounting for _all in isNotAnIndexName
* upping to EUI 0.0.51 and fixing tests that broke
* upping x-pack eui to 51 and refreshing snapshots
* adjusting onQueryChange API to match EUI
* adding lock files
* updating snapshots
* Move all reporting tests into their own folder to allow for multiple kibana.yml configuration tests, including chromium
* Add debugging and try to skip other tests an jenkins to speed things up
* More debug output
* more logging (remove other line which failed on jenkins)
* Remove no sandbox flag, it doesn't help
* Add fix for socket hangup and clean up tests
* fix path to logstash_functional
* Extend timeout for chromium, add verbose logging, add better comment, conditionally output curl command
* fix path... again
* Ah, other functional tests still need access to reporting page object, put it back
* fix sp err
* Add debug logs for screenshot stitching for png.bitblt error
* Fix tests that don't pass logger to screenshotStitcher
* Fix logger being undefined
* Add more debug output
* png has data, too much info to spit out
* Add comment with link to issue for extra debug messages so they can be left in since so many passes
* Dont use spawnSync with curl, use http.request instead, more support for it
* Comment out chromium tests for now to avoid flakiness
* Wait... lets at least make sure the other fix worked (the http.request instead of spawnsync and curl)
* New http.request code doesn't seem to work on jenkins, timing out after 10 secs maybe
* go back to spawnsync to see if it's an issue with the rxjs code or the http.request code
* I think I figured it out...
* Comment out tests to avoid flaky png error in the screenshot stitcher
* Use a const for OSS archive path
* use path.resolve correctly.
* [X-Pack Usage API] use authentication from request headers
* add test for usage api no-auth
* whitespace / syntax nits
* reduce loc changed
* remove a weird looking comment
* Renaming client to service
* Implementing the SavedObjects service and client provider
* Making saved objects service lazy instantiated so the test server works
* Fixing import
* Fixing another import
* Fixing reporting's usage of the savedObjectsClientFactory
* No longer passing the callCluster function to the kbnTestServer
* Passing empty request...
* Fixing reporting
* Exposing server.savedObjects without a getter
This required me to remove the kbnTestServer.createServer() method and
change all usages to createServerWithCorePlugins since we're reading the
kibana.index, which is part of the core plugins, when configuring the
saved objects service which is attached to the server.
* Don't need to set kibana.index
* Changing more usages of kbnTestServer.createServer
* Revert "Changing more usages of kbnTestServer.createServer"
This reverts commit 464f73abb2.
* Partially reverting 17d36b3e9a
* Fixing headers
* Improving tests
* Addressing some peer review feedback
* Addressing more peer review feedback
* Adding server.log warning when the saved objects can't initialize
* Getting rid of the savedObjectsClientFactory
* Branches are for trees
* Fixing comment to be proper english
* Fixing fat-fingering method call
* Fixing other usages of getScopedSavedObjectsClient
Basic licenses never expire, so they do not have an expiration date at
all according to the Elasticsearch API. When this happens, we should not
attempt to parse the date nor show the expiry date in the log.
* Adding very basic audit logging for auth success/failure
* Extracting security specific audit logger from the AuditLogger
* Using short auditLogger in authenticate in one more place
* Logging some information from the request during success/failure
* Adding AuditLogger tests
* Removing the security audit logger, this is out of scope...
* Better asserts, thanks Aleh
* Adding `audit` to the default events
* Using `info` with the audit logger, emulating with ES does
* update snapshot tests
* Update time ranges
* Add sleeps, adjust time, update snapshots
* Skip TSVB until the issue with vertical line placement and x-axis timestamps is fixed
* fix expectations of time range with saved search creation
* remove debug line
In order to make the license that applies to each file as clear as possible, and to be consistent with elasticsearch, we are adding Apache 2.0 license headers to the top of each file.
Existence of this header is enforced by eslint and tslint and missing headers were automatically added in the last commit by running:
```
node scripts/eslint --fix && node scripts/tslint --fix
```
* Allow pluggable panel actions
* Need to register it as being used in kibana
* Some cleanup
* update snapshots to match new EUI versions, set time range
* Use newer panelActions service
* add missing await
* More clean up and fixes
* bring back window reload
* Show actions in view mode too
* delete now unused files
* Use toggle action to determin if context menu is open
* Fix tests that assume the toggle is hidden in view mode.
* Add some debug logs
* Fix up assumptions
* Previous failing test was legit - we don't want to show remove option when panel is expanded
* Embeddable can be empty before the panel is loaded
* Should look for either visualize or discover page
* Address code comments
* address code review comments
* whoops, get rid of childPanelToOpenOnClick entirely
This adds a notification service to Kibana that can be used to send
asynchronous notifications, such as sending email and Slack messages,
which are intended to be configured via a combination of the
`kibana.yml` and Kibana keystore.
Once configured, the actions are automatically added to the notification
service and can be invoked via the server using the `notificationService`
singleton or HTTP to send it directly. See the included README for more
details.
* [tslint] lint typescript code
* [tslint] filter projects when running specific project
* [dev/ts] use more explicit types
* [dev/ts] add note about why using glob
* [dev/ts] rely on ts, use fewer getters
* Add flatten function and list class.
* Rename functions to be more descriptive.
* WIP moving flatten logic to classes.
* 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.
* Fixed broken test.
* Update classes based on PR feedback.
* Update module exports, remove obsolete file.
This PR is a pretty small change to the Reporting job complete notification service. It converts the actual code to a simple object, instead of a class that needs to be instantiated. This makes the notification service a singleton, and also exports it so it can be used in non-Angular applications.
- Converts `reportingJobCompletionNotifications` factory to a singleton
- Exports the underlying jobCompletionNotifications
- Allow use in non-angular plugins
Example use:
```js
import { jobCompletionNotifications } from 'plugins/reporting/services/job_completion_notifications';
createReportingJob() // pseudo code function that returns a reporting job id
.then(jobId => jobCompletionNotifications.add(jobId));
```
* Update & expand reporting API tests
* remove xpack stuff from oss archive
* wrap "it"s so they are in expected order.
* Update expected recent stats
* url was pointing to a visualization not a csv
* Move comment around
* Merging with changes on master renaming stats to usage
* fix reference to old stats file.
* bad merge
* [XpackMain] Add _xpack/usage API
* add xpack usage http api integration test
* comment
* misc test describe fixes
* fix integration test
* fix reply called twice
* enable api test
* enable kibana collection for integration test to work
* throw error comment
* Add some collector classes for objects that get registered in a CollectorSet
* comment cleanup
* don't pass an inline-defined logger to collectorSet
* add a helper logger function so collector has access to logger at construction
* Revert "[DOCS] Removes redundant index.asciidoc files (#19192)"
This reverts commit d11b5aae9a.
* Revert "[typescript] add typescript support for the server and browser (#19104)"
This reverts commit c6112067fc.
* Revert "Option to run kibana from build for CI (#19125)"
This reverts commit 5969860303.
* [typescript] add typescript support for the server and browser
* [ts-jest] upgrade to latest version
* [jest] support test.tsx files
* [jest/ts] modify `ts-jest.tsConfigFile` config based on filePath
* [types] use correct major version of minimatch types
* [jest] add ts support to x-pack jest config
* [ts/projects] fix tsconfig.json not found error message
* [optimizer/ts] use lowercase jsx option
* [tsconfig] remove ui/* alias
* [plguin-helpers] remove mention of `buildSourcePatterns`
* [plugin-helpers] expect typescript to be a devDep
* [dev/build] place transpile tasks next to each other
* [ts/x-pack] add common and server directories to ts project
* [dev/ts/project] use a limited set of globs to find tsconfig files
* Ensure all true/false statements are nested in IfStatements.
* Simplify nested vertex diffing.
* Rename get vertices function and test it.
* Update tests, add more tests.
* Update prompted by review feedback.
* Update tests - add required props to provided objects.
* Remove unneeded function/tests.
* PR Cleanup.
* [ML] Adding jsconfig file for better code navigation in vscode
* removing allowSyntheticDefaultImports as it is defaulted to true
* cleaning up paths
This fixes the component structure of the file type icon: The container component no longer needs to be wrapped inside a span element for the tooltip to work by using the recommendation to pass on the props to the first inner element (see elastic/eui#839). Also adapted a jest test which tests the hovering behavior and fails when the props are not passed on.
Fixes jest tests for the bucket span estimator button. The tests were not correctly considering the way jest runs tests asynchronously. Now each test is self-contained within the test callback.
Migrates the field-type-icon directive to use EUI/React. Instead of the angular/bootstrap tooltip attribute on the directive's tag, there's now an option tooltip-enabled which when true wraps the component inside EuiToolTip.
This migrates the bucket span estimator button to use React/EUI. The existing mlBucketSpanEstimator is refactored to use React without ngReact to have more detailed control in regards to the $scope being transformed to a trimmed down props object with only the information necessary for the React component. This also allows more control in regards to the $scope attributes being watched. Instead of custom styles and classes this now uses the options available for EuiButton. However, there were some minimal overrides necessary to the EUI styles to replicate the narrower height and padding to fit within the input element.
This replaces the angular based tooltip used in the ml-info-icon directive with one based on React/EuiTooltip. It supports transclusion and rendering of angular template snippets inside the tooltip. Because the DOM structure of the EuiTooltips and the angular/bootstrap tooltips is quite different there is a bit more code involved to achieve this, but the result is that for this we don't have to change the markup in the original angular templates where ml-info-icon is used.
* [Monitoring] Add a yellow status phase in the startup lifecycle
* comments
* more comments
* more comment
* undo register => registerType function name change
* capturing refactoring work in progress
* cleanup
* removing 5.0 API
* updating autocomplete aggregations to supported ones
* adding documentation links to generated specs
* progress on ace upgrade
* further progress
* cleaning up
* adding new minified source for worker
* fixing bug with merging API definitions
* addressing PR feedback
* using raw loader to load worker file
* addressing PR feedback
* fixing bad characters in comments
* removing inadvertent change
* fixing scope links
* fixing a couple of scope links
* adding in exists to query dsl
* adding slop param for match_phrase query
* adding autocomplete support for search params
* Revert "using raw loader to load worker file"
This reverts commit 16d33c189c.
* adding rescore API support for autocomplete
* adding index boost API support for autocomplete
* adding collapse to autocomplete
* adding highlight property support to autocomplete
* fixing issue with highlight
* adding support for common terms query
* adding inner hits support for autocomplete
* adding support for newer match options to match and multi_match
* better solution for worker
* [kuery] Remove `byName` dependency
* Remove $http from kuery
* Fix test
* Add request headers
* Replace byName with getFieldByName; add isFilterable
* Replace Angular mock with static mock
* Update index pattern for query bar
* manually attach format.convert method to field
* Use KBN_FIELD_TYPES to determine isFilterable
* Bump yarn.lock file
* Add kfetch (Kibana fetch)
* Moved `getFromLegacyIndexPattern` to static index pattern functions
* Fix tests
* Mock out kfetch
* Move value formatting from getRangeScript to buildRangeFilter
* Remove getFieldByName (over abstraction)
* Split kfetch options into two
* [Monitoring/React] Render ES Indices Listing with Base Controller
Refactors the ES Indices Listing to use Base Controller and a React component instead of an Angular directive
* fix functional tests
* fix another test
* better default for summary status component
* nicer code for whitespace after label
* apiFn => apiUrlFn
* Deleted / Closed
Restructure testing with kbn-test package
- Run with multiple configs, move cli options to config
- Package-ify kbn-test
- Eventually we'll have functional_test_runner live in a package
of its own, and then this kbn-test will use that as a dependency,
probably still as a devDependency.
- Implement functional_tests_server
- Collapse single and multiple config apis into one command
Use kbn-es
Replace es_test_cluster + es_test_config with kbn/test utils
Implement new createEsTestCluster
Improve scripts, jsdocs, cli top-level tools
Lift error handling to the top level
This re-enables the feature flag to support selecting a range of cells in the anomaly explorer. Follow-ups to this PR will tackle limiting the allowed cells to select to avoid problems with too wide selections.
* [Monitoring/Beats] Telemetry Data from Beats
* filter apm-server
* ignore results payload if hitsLength === 0
* process each payload as stats are saved to clusters object
Fixes the data binding of focusForecastData to renderFocusChart(). An update to focusForecastData in MlTimeSeriesExplorerController wasn't correctly picked up by the directive mlTimeseriesChart because the relevant data wasn't being watched.
The mlChartTooltipService's hide() method was inside the show() method scope. If hide() was called before show() was called for the first time this would result in an error. This could have happened in angular directive's which called hide() on some cleanup action without a previous call to show(). This fix moves the hide() method outside the show() method's scope and adds a unit test to check for the correct structure of mlChartTooltipService.
* [x-pack/ftr] call fatalErrorHandler when functional tests fail
* [kbn/dev-tools/withProcRunner] require a log as the first arg
* [kbn/dev-tools/procRunner] use correct promise, convert to getter
* [x-pack/ftr] avoid race condition that prevents success message logging
When starting the kibana server it is possible for log messages to come
after the server is started, so we added a pause that waits for 5
seconds of logging silence before logging the success message. The
observable used fails to complete though if a log message is never
written AFTER the Kibana server starts. To counter this the observable
is started with `null` so it will always start at least one 5 second
timer and always complete even if there is no log data after Kibana
server starts.
* fix typo
* Change pipeline editor markup so bottom border doesn't hide text on last line.
* Add constants for scroll margin size.
* Add comments to editor constants.
* Add PX units to constant names.
* Update to grok debugger editors: let them grow taller and stop hiding half of bottom line input.
* Update custom pattern size to 10 LOC.
* Remove unnecessary options, add constants for scroll margin.
* Encapsulate editor options in mutate function.
* Move editor helper file and prefer "function" declaration over ES6 const.
* Add test for new helper function.
* [ML] Convert Explorer Influencers List to EUI/React
* [ML] Remove unused abbreviate_whole_number Angular filter
* [ML] Convert React Influencers List to stateless function
* [uiExports] migrate uiApp "uses" to explicit imports in apps
* [uiApp] update tests for getModules() method
* [optimize/uiExports] improve naming and comments
* [uiExports] sort imports so they load in the same order as before
* [testHarness] load hacks when testing in the browser
* [x-pack/uiExports] use new uiExports modules
* [testHarness] describe why we import uiExports/hacks
* [optimize] remove needless [].concat()
* [optimize/createUiExportsModule] string.includes > string.indexOf
* [uiExports/createUiExportsModule] remove needless capture of module exports
Fixes an issue with the anomaly table not correctly updating in the anomaly explorer and the anomaly markers not showing up in the time series viewer.
- moves the initialization of scope.anomalyRecords = []; to the controllers of anomaly explorer and time series viewer. having it in the anomaly table directive caused a race condition to overwrite already fetched records.
- use $watchCollection instead of $watch to track anomalyRecords and focusChartData changes.
replaces $timeouts with scope.$evalAsync
- fixes how focusChartData gets updated correctly to fix missing anomaly markers in the time series viewer.
* [ML] Removing angular from services
* removing commented out code
* fix include path for tests
* adding flag to initPromise
* moving job service for jest tests to pass
* moving initPromise to its own file
Fixes an issue where the anomaly table wouldn't load because a broadcast to renderTable was triggered before the anomaly table directive initialized the corresponding listener. This change replaces the use of broadcast and instead uses $watch to listen on scope changes on the specific attributes relevant to the updates. The updating of code in parent scopes was moved inside the $timeouts instead of the broadcast event.
This adds an additional check and corresponding error message to the validation of the model memory limit. If the parsing of the memory model limit results in 0 bytes the message will be triggered. This behaviour catches both correctly formatted but invalid strings (like 0mb) and invalid strings (like asdf).
Updates the behaviour of the job validation's model memory limit checks: The success messages success_mml gets only returned if the checks were actually run. This omits the success message for example in the single metric and population wizard.
Inconcistencies between AppState and derived custom states for UI components like mlSelectLimit and mlSelectInterval could trigger errors because the parent of a nested object attribute could become undefined. This PR adds additional checks to state_factory.js's get/set/reset methods to reinitialize itself with AppState and fall back to its default state should it not be present within AppState anymore. The original issues were hard to reproduce consistently using the UI only. However the error could be triggered when creating a malformed URL, like replacing the mlSelectInterval:(interval:(display:Auto,val:auto)) part of the URL to something like mlSelectInterval:(undefined). This PR includes additional unit tests which simulate this behaviour and fail without the additional checks provided by this PR.
* [console_extensions] disable when console is disabled
* [console extensions] has console and enabled
* [console_extensions] fix console_extensions.enabled
* Adding basic syntax highlighting for grok expressions
* Use EUI color palette
* Handle regex tokens, escaped and unescaped
* Return token for escaped content
* Add functional test
* Using higher-contrast colors
* Removing comment I used for developing the highlight rules
* Using object destructuring
* Removing unnecessary method
* Extracting constant for reuse
* Keep track of recently-deleted pipelines until Monitoring stops reporting them
* Adding explanatory comment for constant
This reduces the output from the clusters API in the data processing stage.
Mainly, it throws away a lot of unused fields in `elasticsearch.cluster_stats` and `elasticsearch.cluster_state`
cc @rasroh
* update to eui 0.0.44
* keep eui dependency in x-pack
* wrap EuiBasic table column in span to avoid className prop from getting overridden
* remove brittle functional tests that are no longer needed with EUI components
* filter field list instead of chaning table size
* update x-pack snapshots
* [Monitoring/React] Render ES Nodes Listing with Base Controller
Refactors the ES Nodes Listing to use Base Controller and a React component instead of an Angular directive
* remove another obsolete file
This changes the Advanced Node page for Elasticsearch to recognize the
"write" threadpool, while also incorporating the deprecated "index"
threadpool and renamed "bulk" usage (renamed to "write").
This sums the three writing threadpools together and displays it as a
unified view.