* Adding es query alert type to server with commented out executor
* Adding skeleton es query alert to client with JSON editor. Pulled out index popoover into component for reuse between index threshold and es query alert types
* Implementing alert executor that performs query and matches condition against doc count
* Added tests for server side alert type
* Updated alert executor to de-duplicate matches and create instance for every document if threshold is not defined
* Moving more index popover code out of index threshold and es query expression components
* Ability to remove threshold condition from es query alert
* Validation tests
* Adding ability to test out query. Need to add error handling and it looks ugly
* Fixing bug with creating alert with threshold and i18n
* wip
* Fixing tests
* Simplifying executor logic to only handle threshold and store hits in action context
* Adding functional test for es query alert
* Types
* Adding functional test for query testing
* Fixing unit test
* Adding link to ES docs. Cleaning up logger statements
* Adding docs
* Updating docs based on feedback
* PR fixes
* Using ES client typings
* Fixing unit test
* Fixing copy based on comments
* Fixing copy based on comments
* Fixing bug in index select popover
* Fixing unit tests
* Making track_total_hits configurable
* Fixing functional test
* PR fixes
* Added unit test
* Removing unused import
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [APM] Optimize anomaly data loading strategy
Closes#86423.
* Fix tests/types
* Review feedback
* Optimize ML calls for latency chart
* Optimize ML loading for latency chart
* Remove unused optimization
* Update snapshots for E2E tests
* Make sure area is stacked in correct order
* Review feedback + log warning if more than one ML job was found
* Review feedback
* creating service name header
* fixing icons
* removing unused api import
* fixing some stuff
* adding API tests
* refactoring some stuff
* fixing tests
* refactoring some stuff
* fixing i18n
* reverting
* renaming
* applying min width
* addressing PR comments and adding test
* sorting service version
* changing sort type to desc
* addressing pr comments
* changing to show total and not avg
* addressing pr comments
* addressing pr comments
* addressing pr comments
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Initial agent log table
* Add data and storage services to Kibana context, rename useCore to useStartServices and replace usage of useStartDeps
* Initial attempt at adding query bar for log stream
* Adjust app layout to allow page content to be full height
* Dataset and log level filters, split into smaller files
* Use data plugin's `QueryStringInput` component for query bar
* Add open in Logs UI link
* Clean up unused storage dependency
* Remove agent activity log and related dead code
* Clean up i18n
* Clean up plugin deps, fix routing
* Add back storage dependency that data plugin components need
* Remove dependency on infra for logs UI link
* Change default date range to last one day
* Adjust panel padding
* Add comment
* Move module declarations to top-level x-pack/typings
* Fix missed renaming
* Remove unused path
* Move building of log stream query into separate service with unit tests
* Adjust test conditions
...and into x-pack.
Also remove `PromiseReturnType` from APM and use the copy in observability everywhere.
All of the additional changes to APM imports are just automatic sorting.
This makes doing #77720 a little easier and removes some implicit circular dependencies for #80508.
Co-authored-by: Dario Gieselaar <dario.gieselaar@elastic.co>
Upgrade to Storybook 6 and attempt to use the declarative configuration.
The goals of this PR (as part of Kibana's Storybook roadmap, are:
Upgrade to Storybook 6
Still allow running Storybooks with yarn storybook plugin_name
Use the declarative configuration to (hopefully) make the configuration simpler to use an easier to understand, as well as avoiding deprecation warnings and loss of future compatibility
The ways in which what I have so far differs from how we do things today are:
In the alias configuration it takes a path to a storybook configuration directory instead of the storybook.js file from before
Each plugin (it doesn't have to be a plugin; can be any directory) has a .storybook/main.js (the aliases file in @kbn/storybook specifies these locations) where they can define their Storybook configuration. You can require('@kbn/storybook').defaultConfig to get defaults and override them
@kbn/storybook has a preset that can provide Webpack and Babel configuration and Storybook parameters and decorators
Instead of dynamically creating the list of stories to import, we define them in the globs of the stories property in .storybook/main.js.
Do not build a DLL. We are using @kbn/ui-shared-deps as externals. Startup time is not quite as fast but still acceptable.
Other things done in this PR:
Allow default exports in .stories. to allow for Common Story Format CSF stories
Add guard in Webpack configuration needed for overriding CSS rules
Update filename casing check to allow for files with required names in Storybook
Clean up observability stories
Rename *.examples.tsx and *.story.tsx to *.stories.tsx
* Navigate from discover to visualize with registering into a trigger
* Implement the VISUALIZE_FIELD action
* Implementation of the maps app trigger actions with the isCompatible functionality
* clean up discover code and tile map action implementation
* Add typeIsHidden on mocks
* Retrieve filters and query from url state
* functional test for oss and tile map
* include geoshape
* fix functional tests
* fix types
* remove unecessary dependencies
* minor fixes
* Remove tilemaps actios as it is going tobe deprecated
* Add useEffect on discover details and move the map action to a separate folder
* Retrieve map tooltips info from context
* Retrieve query and filters from QueryService
* Building urls with urlGenerators
* replace with constants, fetch initialLayers as array
* remove irrelevant comments
* nice improvements
* Return contextualFields for both triggers
* Add getHref on actions, move capabilities to isCompatible method per action and other fixes
* fix type
* Fix type incompatibility after merging with master
* fixes on maps plugin file after merge
* remove unecessary declarations
* nice improvements
* Refactor maps services code to be inline with master
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* chore(NA): upgrade oss to lodash4
chore(NA): migrate cli, cli_plugin, cli_keystore, dev, test_utils and apm src script to lodash4
chore(NA): missing file for cli plugin
chore(NA): add src core
chore(NA): es archiver and fixtures
chore(NA): try to fix functional test failure
chore(NA): migrate src/legacy entirely to lodash4 except src/legacy/core_plugins
chore(NA): move legacy core plugins to lodash4
chore(NA): upgrade optimize to lodash4
chore(NA): upgrade to lodash4 on advanced_settings, charts, console and dashboard
chore(NA): migrate to lodash4 on dev_tools, discover, embeddable, es_ui)shared, expressions, home plugins
chore(NA): upgrade data plugin to lodash4
chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4
chore(NA): missing data upgrades to lodash4
Revert "chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4"
This reverts commit 137055c5fed2fc52bb26547e0bc1ad2e3d4fe309.
Revert "Revert "chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4""
This reverts commit f7e73688782998513d9fb6d7e8f0765e9beb28d1.
Revert "chore(NA): missing data upgrades to lodash4"
This reverts commit 92b85bf947a89bfc70cc4052738a6b2128ffb076.
Revert "chore(NA): upgrade data plugin to lodash4"
This reverts commit 88fdb075ee1e26c4ac979b6681d8a2b002df74c6.
chore(NA): upgrade idx_pattern_mgt, input_control_vis, inspector, kbn_legacy, kbn_react, kbn_usage_collections, kbn_utils, management and maps_legacy to lodash4
chore(NA): map src plugin data to lodash3
chore(NA): missing lodash.clonedeep dep
chore(NA): change packages kbn-config-schema deps
chore(NA): update renovate config
chore(NA): upgrade vis_type plugins to lodash4
chore(NA): move vis_type_vislib to lodash3
chore(NA): update visualizations and visualize to lodash4
chore(NA): remove lodash 3 types from src and move test to lodash4
chore(NA): move home, usage_collection and management to lodash 3
Revert "chore(NA): move home, usage_collection and management to lodash 3"
This reverts commit f86e8585f02d21550746569af54215b076a79a3d.
chore(NA): move kibana_legacy, saved_objects saved_objects_management into lodash3
chore(NA): update x-pack test to mock lodash4
Revert "chore(NA): move kibana_legacy, saved_objects saved_objects_management into lodash3"
This reverts commit 2d10fe450533e1b36db21d99cfae3ce996a244e0.
* chore(NA): move x-pack and packages to lodash 4
* chore(NA): remove mention to lodash from main package.json
* chore(NA): remove helper alias for lodash4 and make it the default lodash
* chore(NA): fix last failing types in the repo
* chore(NA): fix public api
* chore(NA): fix types for agg_row.tsx
* chore(NA): fix increment of optimizer modules in the rollup plugin
* chore(NA): migrate `src/core/public/http/fetch.ts` (#5)
* omit undefined query props
* just remove merge usage
* fix types
* chore(NA): fixes for feedback from apm team
* chore(NA): recover old behaviour on apm LoadingIndeicatorContext.tsx
* chore(NA): fixes for feedback from watson
* Platform lodash4 tweaks (#6)
* chore(NA): fix types and behaviour on src/core/server/elasticsearch/errors.ts
* Canvas fixes for lodash upgrade
* [APM] Adds unit test for APM service maps transform (#7)
* Adds a snapshot unit test for getConnections and rearranges some code to make testing easier
* reverts `ArrayList` back to `String[]` in the painless script within `fetch_service_paths_from_trace_ids.ts`
* chore(NA): update yarn.lock
* chore(NA): remove any and use a real type for alerts task runner
Co-authored-by: Gidi Meir Morris <github@gidi.io>
* chore(NA): used named import for triggers_actions_ui file
* chore(NA): fix eslint
* chore(NA): fix types
* Delete most uptime lodash references.
* Simplify. Clean up types.
* [Uptime] Delete most uptime lodash references (#8)
* Delete most uptime lodash references.
* Simplify. Clean up types.
* chore(NA): add eslint rule to avoid using lodash3
* chore(NA): apply changes on feedback from es-ui team
* fix some types (#9)
* Clean up some expressions types.
* chore(NA): missing ts-expect-error statements
* Upgrade lodash 4 vislib (#11)
* replace lodash 3 with lodash 4 on vislib plugin
* Further changes
* further replacement of lodash3 to 4
* further work on upgrading to lodash 4
* final changes to update lodash
* chore(NA): upgrade data plugin to lodash4
chore(NA): upgrade data plugin public to lodash4
chore(NA): fix typecheck task
chore(NA): fix agg_config with hasIn
chore(NA): assign to assignIn and has to hasIn
chore(NA): upgrade data plugin server to lodash4
chore(NA): new signature for core api
fix(NA): match behaviour between lodash3 and lodash4 for set in search_source
* chore(NA): remove lodash3 completely from the repo
* chore(NA): fix x-pack/test/api_integration/apis/metrics_ui/snapshot.ts missing content
* chore(NA): fix lodash usage on apm
* chore(NA): fix typecheck for maps
* Patch lodash template (#12)
* Applying changes from https://github.com/elastic/kibana/pull/64985
* Using isIterateeCall, because it seems less brittle
* Also patching `lodash/template` and `lodash/fp/template`
* Reorganizing some files...
* Revising comment
* Ends up `_` is a function also... I hate JavaScript
Co-authored-by: Pierre Gayvallet <pierre.gayvallet@gmail.com>
Co-authored-by: Josh Dover <me@joshdover.com>
Co-authored-by: Clint Andrew Hall <clint.hall@elastic.co>
Co-authored-by: Oliver Gupte <ogupte@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Gidi Meir Morris <github@gidi.io>
Co-authored-by: Justin Kambic <justin.kambic@elastic.co>
Co-authored-by: Stratoula Kalafateli <stratoula1@gmail.com>
Co-authored-by: Luke Elmers <luke.elmers@elastic.co>
Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com>
Co-authored-by: kobelb <brandon.kobel@elastic.co>
This PR migrates the vast majority of Alerting legacy code to the Kibana Platform.
This includes:
1. Removed legacy Task Manager
2. Migrates Fixture plugins in Alerting, Triggers UI and Task Manager Perf
This does not includes:
1. The PagerDuty simulator due to a lack of support for custom responses in the platform. issue opened. https://github.com/elastic/kibana/issues/65045
2. The Webhooks simulator due to a lack of support for custom authorisation. Requires investigation.
* [Metrics UI] Refactor containers to hooks
* clean up depends; move useInterval out of useWaffleTime;
* converting WithWaffleFilters to useWaffleFilters
* Removing WithWaffleOptions
* Refactor WithWaffleViewState to useWaffleViewState
* Removing obsolete files
* Fixing race condition with complext state
* Adding undefined to RisonValue; unwinding changes trying to work around bad type
* Switching to context
* Change assertion to ignore the length of the current URL
* Fixing test frameork to accept urls longer then 230 characters
* Fixes#59395; Refactor WithMetricsTime to hook; Fixes brushing on metric detail page; fixes refresh button on metric detail page
* Fixing tests with adding timeRange
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* update crypto packages
* as type for return value
* get default export
* add if checks
* wrap errors in i18n
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* adding PagerDuty icon to connectors cards
* Fix jest
* remove unnecessary global typings from canvas and sync global typings in xpack with oss
Co-authored-by: Andrea Del Rio <delrio.andre@gmail.com>
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* update to eui 21.0.1
* most changes needed for search bar ts changes
* Passing types
* snapshots
* jest tests
* Removed IQuery placeholder types
* Updated functional test to only look at table headers with content
* Moved 'filters' definition around in api docs
* Update types
* update snapshot
* typo
* Move DATA_FRAME_TASK_STATE enum to its own file to fix x-pack functional test config imports
* merge public api 'changes'
Co-authored-by: patrykkopycinski <patryk.kopycinski@elastic.co>
Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
* Updated EUI to 20.0.1; updated typescript usage
* snapshots
* Upgrade to eui 20.0.2, fix one more type
* PR feedback
* Update EUI icon usage to the correct types
* Updated with master
* Fully migrates metrics and logs to the NP
Co-authored-by: Jason Rhodes <jason.matthew.rhodes@gmail.com>
Co-authored-by: John Schulz <github.com@jfsiii.org>
Co-authored-by: Felix Stürmer <weltenwort@users.noreply.github.com>
* eui to v19.0.0
* typescript updates; idAria removal
* src snapshot updates
* mock euicode and euicodeblock for jest
* x-pack snapshot updates
* mock euicode for jest
* more euicode snapshots
* mock euicode in storyshots
* types/enzyme yarn.lock
* sidenav type update
Migrates the existing TaskManager plugin from Legacy to Kibana Platform.
We retain the Legacy API to prevent a breaking change, but under the hood, the legacy plugin is now using the Kibana Platform plugin.
Another reason we retain the Legacy plugin to support several features that the Platform team has yet to migrate to Kibana Platform (mapping, SO schema and migrations).
Today, apps rely on AppState and GlobalState in the ui/state_management module to deal with internal (app) and shared (global) state. These classes give apps an ability to read/write state, when is then synced to the URL as well as sessionStorage. They also react to changes in the URL and automatically update state & emit events when changes occur.
This PR introduces new state synching utilities, which together with state containers src/plugins/kibana_utils/public/state_containers will be a replacement for AppState and GlobalState in New Platform.
The hashUrl and unhashUrl functions no longer rely on states being provided as an argument, therefore getUnhashableStates/getUnhashableStatesProvider have been removed.
* Add x-pack plugin for new platform browser licensing information
* Address next round of reviews
* Remove poller functionality in favor of inline observables
* More observable changes from review comments
* Fix outstanding tests
* More changes from review, adding additional testing
* Add additional tests for license comparisons and sessions
* Update test snapshot due to sessionstorage mock
* Next round of review feedback from restrry
* Fix more review requests from restrry, add additional tests
* Pass correct sign mock to license info changed test
* Improve doc comments, switch to I-interface pattern
* Test error polling sanity, do not expose signature, do not poll on client
* Fix type check issues from rebase
* Fix build error from rebase
* minimize config
* move all types to server with consistency with other code
* implement License
* implement license update & refactor has License changed check
* update tests for licensing extending route handler context
* implement client side side license plugin
* implement server side licensing plugin
* remove old code
* update testing harness
* update types for license status
* remove jest-localstorage-mock
* fix tests
* update license in security
* address comments. first pass
* error is a part of signature. pass error message to License
* move common license types under common folder
* rename feature props for BWC and unify name with ILicense
* test should work in any timezone
* make prettier happy
* remove obsolete comment
* address Pierre comments
* use sha256 for security reasons
* use stable stringify to avoid churn