* [ML] link to edit pipeline
* [ML] view training data link
* [ML] format stats and configs
* [ML] refactor date_utils
* [ML] fix types
* [ML] change "View" icon and label
* [ML] revert label change
* df exploration page: handle default isTraining filter in url
* default training query updated to match what the searchBar would produce. fixes evaluate panel dataset label
* clear defaultIsTraining filter from url once applied
* added comment about importing lodash library
* fixed space with prefer
* cleaned up extra space and removed comments for lodash/fp
* took out the comment in server files
* Remove newlines
Co-authored-by: Nathan L Smith <smith@nlsmith.com>
* [ML] add geo point combined field to CSV import
* remove some geo_point specific logic
* Account for properties layer in find_file_structure mappings
* improve checking of name collision to include combined fields and mappings
* add delete button
* fix function name
* fill in unknowns with defined types
* tslint changes
* get tslint passing
* show readonly combined fields in simple tab
* handle column_names being undefined
* add unit tests for modifying mappings and pipeline
* review feedback
* do not change combinedFields on reset
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
- Adds schema definitions to transform API endpoints and adds API integration tests.
- The type definitions based on the schema definitions can be used on the client side too.
- Adds apidoc documentation.
This is the UI side companion for elastic/elasticsearch#62158
Previously the "mappings" field of the response from the
find_file_structure endpoint was not a drop-in for the
mappings format of the create index endpoint - the
"properties" layer was missing. The reason for omitting
it initially was that the assumption was that the
find_file_structure endpoint would only ever return very
simple mappings without any nested objects. However,
this will not be true in the future, as we will improve
mappings detection for complex JSON objects. As a first
step it makes sense to move the returned mappings closer
to the standard format.
* ensure wizard error shows up correctly
* wip: switch to basic table for model management
* add selection and multi job action to models list
* update error extraction function
* use generic types in hook
* simplify filtered items
* bump ts to v4
* MOAR RAM
* fix type errors for OSS
* first pass on x-pack errors
* second pass on x-pack type errors
* 3rd pass on x-pack type-errors
* mute errors if complex cases
* don't delete if spread suffices
* mute other complex cases
* make User fields optional
* fix optional types
* fix tests
* fix typings for time_range
* fix type errors in x-pack/tests
* rebuild kbn-pm
* remove leftovers from master update
* fix alert tests
* [Telemetry Checker] TS4 Fixes
* bump to 4.0.1-rc
* fix new errors in master
* bump typescript-eslint to version supporting TS v4 syntax
* fix merge commit errors
* update to the stable TS version 4.0.2
* bump ts-eslint to version supporting ts v4
* fix typo
* fix type errors after merge
* update ts in another new package.json
* TEMP: remove me
* Revert "TEMP: remove me"
This reverts commit dc0fc3bae6.
* [Telemetry] Update snapshot for new TS4 SyntaxKind
* bump prettier to support TS v4 syntax
* fix prettier rules
* last style change
* fix new type errors
Co-authored-by: Alejandro Fernández Haro <alejandro.haro@elastic.co>
Co-authored-by: Catherine Liu <catherine.liu@elastic.co>
Co-authored-by: Ryan Keairns <contactryank@gmail.com>
Co-authored-by: Catherine Liu <catherineqliu@outlook.com>
Co-authored-by: Michael Marcialis <michael.marcialis@elastic.co>
Fixes error reporting when annotations fail to load for Anomaly Explorer and Single Metric Viewer.
Previously, Anomaly Explorer ended up with a completely empty page when annotations failed to load. Single Metric Viewer would not fail to load, but it would make no difference for the user if existing annotations failed to load of if there were simply no existing annotations. Only in dev console an error message would be visible.
Now a callout is shown when annotations fail to load.
## Summary
Addresses https://github.com/elastic/kibana/issues/73567.
ML Users (role: `machine_learning_user`) were previously able to invoke the ML Recognizer API, which we use to get not-yet-installed ML Jobs relevant to our index patterns. As of https://github.com/elastic/kibana/pull/64662 this is not true, and so we receive errors from components using the underlying hook, `useSiemJobs`.
To solve this I've created two separate hooks to replace `useSiemJobs`:
* `useSecurityJobs`
* used on ML Popover
* includes uninstalled ML Jobs
* checks (and returns) `isMlAdmin` before fetching data
* `useInstalledSecurityJobs`
* used on ML Jobs Dropdown and Anomalies Table
* includes only installed ML Jobs
* checks (and returns) `isMlUser` before fetching data
Note that we while we now receive the knowledge to do so, we do not always inform the user in the case of invalid permissions, and instead have the following behaviors:
#### User has insufficient license
* ML Popover: shows an upgrade CTA
* Anomalies Tables: show no data
* Rule Creation: ML Rule option is disabled, shows upgrade CTA
* Rule Details: ML Job Id is displayed as text
#### User is ML User
* ML Popover: not shown
* Anomalies Tables: show no data
* Rule Creation: ML Rule option is disabled
* Rule Details: ML Job Id is displayed as text
#### User is ML Admin
* ML Popover: shown
* Anomalies Tables: show data __for installed ML Jobs__
* This is the same as previous logic, but worth calling out that you can't view historical anomalies
* Rule Creation: ML Rule option is enabled, all ML Jobs available
* Rule Details: ML Job Id is displayed as hyperlink, job status badge shown
### Checklist
- [x] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios
### For maintainers
- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)
* [ML] Fix error toasts shown when starting or editing jobs
* [ML] Adds toast_notification_service.ts file
* [ML] Fix Jest and type_check tests
* [ML] Alter check for statusCode in error object handling
* [ML] Fix errors Jest test
- Introduces dedicated Kibana API endpoints as part of ML and transform plugin API endpoints and moves the logic to query and transform the required data from client to server.
- Adds support for sampling to retrieve the data for the field histograms. For now this is not configurable by the end user and is hard coded to 5000. This is to have a first iteration of this functionality in for 7.9 and protect users when querying large clusters. The button to enable the histogram charts now includes a tooltip that mentions the sampler.
- Converts string_utils to TypeScript.
- Removes sortByKey() from string_utils, we no longer make use of it.
- Fixes#69499, stringMatch() was defined twice, now moved to string_utils.
- Fixes#69498, OMIT_FIELDS was defined twice, now moved to common/constants/field_types.ts.
* Adds 'Anomaly detection' settings page along with require API endpoints
to list and create the apm anomaly detection jobs per environment.
Some test data is hardcoded while the the required changes in the ML
plugin are in flight.
* Converts the environment name to a compatible ML id string and persist
in groups array. Also adds random token to the job ID to prevent
collisions for job ids where diffferent environment names convert to the
same string
* - Improve job creation with latest updates for the `apm_transaction` ML module
- Implements job list in settings by reading from `custom_settings.job_tags['service.environment']`
- Add ML module method `createModuleItem` for job configuration
- Don't allow user to type in duplicate environments
* Update x-pack/plugins/apm/public/components/app/Settings/anomaly_detection/add_environments.tsx
Co-authored-by: Casper Hübertz <casper@formgeist.com>
* Update x-pack/plugins/apm/public/components/app/Settings/anomaly_detection/index.tsx
Co-authored-by: Casper Hübertz <casper@formgeist.com>
* UX feedback, adds i18n, and handles failed state for ML jobs fetch.
* - Moves get_all_environments from agent_configuration dir to common dir
- makes the 'all' environment name ALL_OPTION_VALUE agent configuration-specific
- replace field literals with constants
* PR feedback
* Adds support to create jobs for environment which are not defined.
* Fixes description copy, rearranges settings links, and makes sure the 'Not defined' option is disabled if it already exists.
* Only show "Not defined" in environment selector if there are actually
documents without service.environment set
* get the indexPatternName for the ML job from the set of user-definned indices
* updated job_tags type definition
Co-authored-by: Casper Hübertz <casper@formgeist.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* wip: add edit action to dfanalytics table
* add update endpoint and edit flyout
* show success and error toasts. close flyout and refresh on success
* show permission message in edit action
* update types
* disable update button if mml not valid
* show error in toast, init values are config values
* fix undefined check for allow lazy start
* prevent update if mml is empty
Adds support for histogram charts to data grid columns.
- Adds a toggle button to the data grid's header to enabled/disable column charts.
- When enabled, the charts get rendered as part of the data grid header.
- Histogram charts will get rendered for fields based on date, number, string and boolean.
* [ML] Model snapshot management
* more updates
* adding calendar range
* updating layout
* multiple calendars
* moving calendar creator
* fixing chart issues
* fixing chart issues
* improving calendar rendering
* adding capabilities checks
* code clean up
* fixing end time argument type
* fix translations
* code clean up
* comments based on review
* changes based on review
* fixing include
* adding useMemo to theme function