Skip to content

Commit

Permalink
Merge branch 'master' into alerts/stack-alerts-public
Browse files Browse the repository at this point in the history
* master:
  [Advanced Settings] Introducing telemetry (#82860)
  [alerts] add executionStatus to event log doc for action execute (#82401)
  Add additional sources routes (#83227)
  [ML] Persisted URL state for the "Anomaly detection jobs" page (#83149)
  [Logs UI] Add pagination to the log stream shared component (#81193)
  [Index Management] Add an index template link to data stream details (#82592)
  Add maps_oss folder to code_owners (#83204)
  fix truncation issue (#83000)
  [Ingest Manger] Move asset getters out of registry (#83214)
  • Loading branch information
gmmorris committed Nov 12, 2020
2 parents 9e2beac + 5551966 commit 84ecfdb
Show file tree
Hide file tree
Showing 75 changed files with 1,693 additions and 622 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@
/x-pack/test/functional/es_archives/maps/ @elastic/kibana-gis
/x-pack/test/visual_regression/tests/maps/index.js @elastic/kibana-gis
#CC# /src/plugins/maps_legacy/ @elastic/kibana-gis
#CC# /src/plugins/maps_oss/ @elastic/kibana-gis
#CC# /x-pack/plugins/file_upload @elastic/kibana-gis
#CC# /x-pack/plugins/maps_legacy_licensing @elastic/kibana-gis
#CC# /src/plugins/home/server/tutorials @elastic/kibana-gis
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export interface UiSettingsParams<T = unknown>
| [category](./kibana-plugin-core-public.uisettingsparams.category.md) | <code>string[]</code> | used to group the configured setting in the UI |
| [deprecation](./kibana-plugin-core-public.uisettingsparams.deprecation.md) | <code>DeprecationSettings</code> | optional deprecation information. Used to generate a deprecation warning. |
| [description](./kibana-plugin-core-public.uisettingsparams.description.md) | <code>string</code> | description provided to a user in UI |
| [metric](./kibana-plugin-core-public.uisettingsparams.metric.md) | <code>{</code><br/><code> type: UiStatsMetricType;</code><br/><code> name: string;</code><br/><code> }</code> | Metric to track once this property changes |
| [name](./kibana-plugin-core-public.uisettingsparams.name.md) | <code>string</code> | title in the UI |
| [optionLabels](./kibana-plugin-core-public.uisettingsparams.optionlabels.md) | <code>Record&lt;string, string&gt;</code> | text labels for 'select' type UI element |
| [options](./kibana-plugin-core-public.uisettingsparams.options.md) | <code>string[]</code> | array of permitted values for this setting |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-core-public](./kibana-plugin-core-public.md) &gt; [UiSettingsParams](./kibana-plugin-core-public.uisettingsparams.md) &gt; [metric](./kibana-plugin-core-public.uisettingsparams.metric.md)

## UiSettingsParams.metric property

> Warning: This API is now obsolete.
>
> Temporary measure until https://github.com/elastic/kibana/issues/83084 is in place
>
Metric to track once this property changes

<b>Signature:</b>

```typescript
metric?: {
type: UiStatsMetricType;
name: string;
};
```
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export interface UiSettingsParams<T = unknown>
| [category](./kibana-plugin-core-server.uisettingsparams.category.md) | <code>string[]</code> | used to group the configured setting in the UI |
| [deprecation](./kibana-plugin-core-server.uisettingsparams.deprecation.md) | <code>DeprecationSettings</code> | optional deprecation information. Used to generate a deprecation warning. |
| [description](./kibana-plugin-core-server.uisettingsparams.description.md) | <code>string</code> | description provided to a user in UI |
| [metric](./kibana-plugin-core-server.uisettingsparams.metric.md) | <code>{</code><br/><code> type: UiStatsMetricType;</code><br/><code> name: string;</code><br/><code> }</code> | Metric to track once this property changes |
| [name](./kibana-plugin-core-server.uisettingsparams.name.md) | <code>string</code> | title in the UI |
| [optionLabels](./kibana-plugin-core-server.uisettingsparams.optionlabels.md) | <code>Record&lt;string, string&gt;</code> | text labels for 'select' type UI element |
| [options](./kibana-plugin-core-server.uisettingsparams.options.md) | <code>string[]</code> | array of permitted values for this setting |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-core-server](./kibana-plugin-core-server.md) &gt; [UiSettingsParams](./kibana-plugin-core-server.uisettingsparams.md) &gt; [metric](./kibana-plugin-core-server.uisettingsparams.metric.md)

## UiSettingsParams.metric property

> Warning: This API is now obsolete.
>
> Temporary measure until https://github.com/elastic/kibana/issues/83084 is in place
>
Metric to track once this property changes

<b>Signature:</b>

```typescript
metric?: {
type: UiStatsMetricType;
name: string;
};
```
13 changes: 6 additions & 7 deletions src/core/public/chrome/ui/header/header_breadcrumbs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* under the License.
*/

import { EuiHeaderBreadcrumbs } from '@elastic/eui';
import { EuiFlexGroup, EuiHeaderBreadcrumbs } from '@elastic/eui';
import classNames from 'classnames';
import React from 'react';
import useObservable from 'react-use/lib/useObservable';
Expand Down Expand Up @@ -51,15 +51,14 @@ export function HeaderBreadcrumbs({ appTitle$, breadcrumbs$, breadcrumbsAppendEx
),
}));

if (breadcrumbsAppendExtension) {
if (breadcrumbsAppendExtension && crumbs[crumbs.length - 1]) {
const lastCrumb = crumbs[crumbs.length - 1];
lastCrumb.text = (
<>
{lastCrumb.text}
<HeaderExtension extension={breadcrumbsAppendExtension.content} display={'inlineBlock'} />
</>
<EuiFlexGroup responsive={false} gutterSize={'none'} alignItems={'baseline'}>
<div className="eui-textTruncate">{lastCrumb.text}</div>
<HeaderExtension extension={breadcrumbsAppendExtension.content} />
</EuiFlexGroup>
);
}

return <EuiHeaderBreadcrumbs breadcrumbs={crumbs} max={10} data-test-subj="breadcrumbs" />;
}
6 changes: 6 additions & 0 deletions src/core/public/public.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import { TransportRequestParams } from '@elastic/elasticsearch/lib/Transport';
import { TransportRequestPromise } from '@elastic/elasticsearch/lib/Transport';
import { Type } from '@kbn/config-schema';
import { TypeOf } from '@kbn/config-schema';
import { UiStatsMetricType } from '@kbn/analytics';
import { UnregisterCallback } from 'history';
import { UserProvidedValues as UserProvidedValues_2 } from 'src/core/server/types';

Expand Down Expand Up @@ -1362,6 +1363,11 @@ export interface UiSettingsParams<T = unknown> {
// Warning: (ae-forgotten-export) The symbol "DeprecationSettings" needs to be exported by the entry point index.d.ts
deprecation?: DeprecationSettings;
description?: string;
// @deprecated
metric?: {
type: UiStatsMetricType;
name: string;
};
name?: string;
optionLabels?: Record<string, string>;
options?: string[];
Expand Down
6 changes: 6 additions & 0 deletions src/core/server/server.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ import { TransportRequestParams } from '@elastic/elasticsearch/lib/Transport';
import { TransportRequestPromise } from '@elastic/elasticsearch/lib/Transport';
import { Type } from '@kbn/config-schema';
import { TypeOf } from '@kbn/config-schema';
import { UiStatsMetricType } from '@kbn/analytics';
import { UpdateDocumentByQueryParams } from 'elasticsearch';
import { UpdateDocumentParams } from 'elasticsearch';
import { URL } from 'url';
Expand Down Expand Up @@ -2746,6 +2747,11 @@ export interface UiSettingsParams<T = unknown> {
category?: string[];
deprecation?: DeprecationSettings;
description?: string;
// @deprecated
metric?: {
type: UiStatsMetricType;
name: string;
};
name?: string;
optionLabels?: Record<string, string>;
options?: string[];
Expand Down
10 changes: 10 additions & 0 deletions src/core/types/ui_settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
* under the License.
*/
import { Type } from '@kbn/config-schema';
import { UiStatsMetricType } from '@kbn/analytics';

/**
* UI element type to represent the settings.
Expand Down Expand Up @@ -80,6 +81,15 @@ export interface UiSettingsParams<T = unknown> {
* Used to validate value on write and read.
*/
schema: Type<T>;
/**
* Metric to track once this property changes
* @deprecated
* Temporary measure until https://github.com/elastic/kibana/issues/83084 is in place
*/
metric?: {
type: UiStatsMetricType;
name: string;
};
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/advanced_settings/kibana.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"server": true,
"ui": true,
"requiredPlugins": ["management"],
"optionalPlugins": ["home"],
"optionalPlugins": ["home", "usageCollection"],
"requiredBundles": ["kibanaReact", "home"]
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { Subscription } from 'rxjs';
import { Comparators, EuiFlexGroup, EuiFlexItem, EuiSpacer, Query } from '@elastic/eui';

import { useParams } from 'react-router-dom';
import { UiStatsMetricType } from '@kbn/analytics';
import { CallOuts } from './components/call_outs';
import { Search } from './components/search';
import { Form } from './components/form';
Expand All @@ -39,6 +40,7 @@ interface AdvancedSettingsProps {
dockLinks: DocLinksStart['links'];
toasts: ToastsStart;
componentRegistry: ComponentRegistry['start'];
trackUiMetric?: (metricType: UiStatsMetricType, eventName: string | string[]) => void;
}

interface AdvancedSettingsComponentProps extends AdvancedSettingsProps {
Expand Down Expand Up @@ -241,6 +243,7 @@ export class AdvancedSettingsComponent extends Component<
enableSaving={this.props.enableSaving}
dockLinks={this.props.dockLinks}
toasts={this.props.toasts}
trackUiMetric={this.props.trackUiMetric}
/>
<PageFooter
toasts={this.props.toasts}
Expand All @@ -263,6 +266,7 @@ export const AdvancedSettings = (props: AdvancedSettingsProps) => {
dockLinks={props.dockLinks}
toasts={props.toasts}
componentRegistry={props.componentRegistry}
trackUiMetric={props.trackUiMetric}
/>
);
};
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import {
import { FormattedMessage } from '@kbn/i18n/react';
import { isEmpty } from 'lodash';
import { i18n } from '@kbn/i18n';
import { UiStatsMetricType } from '@kbn/analytics';
import { toMountPoint } from '../../../../../kibana_react/public';
import { DocLinksStart, ToastsStart } from '../../../../../../core/public';

Expand All @@ -56,6 +57,7 @@ interface FormProps {
enableSaving: boolean;
dockLinks: DocLinksStart['links'];
toasts: ToastsStart;
trackUiMetric?: (metricType: UiStatsMetricType, eventName: string | string[]) => void;
}

interface FormState {
Expand Down Expand Up @@ -149,7 +151,7 @@ export class Form extends PureComponent<FormProps> {
if (!setting) {
return;
}
const { defVal, type, requiresPageReload } = setting;
const { defVal, type, requiresPageReload, metric } = setting;
let valueToSave = value;
let equalsToDefault = false;
switch (type) {
Expand All @@ -163,6 +165,11 @@ export class Form extends PureComponent<FormProps> {
const isArray = Array.isArray(JSON.parse((defVal as string) || '{}'));
valueToSave = valueToSave.trim();
valueToSave = valueToSave || (isArray ? '[]' : '{}');
case 'boolean':
if (metric && this.props.trackUiMetric) {
const metricName = valueToSave ? `${metric.name}_on` : `${metric.name}_off`;
this.props.trackUiMetric(metric.type, metricName);
}
default:
equalsToDefault = valueToSave === defVal;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ export function toEditableConfig({
options: def.options,
optionLabels: def.optionLabels,
requiresPageReload: !!def.requiresPageReload,
metric: def.metric,
};

return conf;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import { ManagementAppMountParams } from '../../../management/public';
import { ComponentRegistry } from '../types';

import './index.scss';
import { UsageCollectionSetup } from '../../../usage_collection/public';

const title = i18n.translate('advancedSettings.advancedSettingsLabel', {
defaultMessage: 'Advanced Settings',
Expand All @@ -49,12 +50,14 @@ const readOnlyBadge = {
export async function mountManagementSection(
getStartServices: StartServicesAccessor,
params: ManagementAppMountParams,
componentRegistry: ComponentRegistry['start']
componentRegistry: ComponentRegistry['start'],
usageCollection?: UsageCollectionSetup
) {
params.setBreadcrumbs(crumb);
const [{ uiSettings, notifications, docLinks, application, chrome }] = await getStartServices();

const canSave = application.capabilities.advancedSettings.save as boolean;
const trackUiMetric = usageCollection?.reportUiStats.bind(usageCollection, 'advanced_settings');

if (!canSave) {
chrome.setBadge(readOnlyBadge);
Expand All @@ -71,6 +74,7 @@ export async function mountManagementSection(
dockLinks={docLinks.links}
uiSettings={uiSettings}
componentRegistry={componentRegistry}
trackUiMetric={trackUiMetric}
/>
</Route>
</Switch>
Expand Down
5 changes: 5 additions & 0 deletions src/plugins/advanced_settings/public/management_app/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
* under the License.
*/

import { UiStatsMetricType } from '@kbn/analytics';
import { UiSettingsType, StringValidation, ImageValidation } from '../../../../core/public';

export interface FieldSetting {
Expand All @@ -39,6 +40,10 @@ export interface FieldSetting {
message: string;
docLinksKey: string;
};
metric?: {
type: UiStatsMetricType;
name: string;
};
}

// until eui searchbar and query are typed
Expand Down
12 changes: 10 additions & 2 deletions src/plugins/advanced_settings/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ const title = i18n.translate('advancedSettings.advancedSettingsLabel', {

export class AdvancedSettingsPlugin
implements Plugin<AdvancedSettingsSetup, AdvancedSettingsStart, AdvancedSettingsPluginSetup> {
public setup(core: CoreSetup, { management, home }: AdvancedSettingsPluginSetup) {
public setup(
core: CoreSetup,
{ management, home, usageCollection }: AdvancedSettingsPluginSetup
) {
const kibanaSection = management.sections.section.kibana;

kibanaSection.registerApp({
Expand All @@ -41,7 +44,12 @@ export class AdvancedSettingsPlugin
const { mountManagementSection } = await import(
'./management_app/mount_management_section'
);
return mountManagementSection(core.getStartServices, params, component.start);
return mountManagementSection(
core.getStartServices,
params,
component.start,
usageCollection
);
},
});

Expand Down
2 changes: 2 additions & 0 deletions src/plugins/advanced_settings/public/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { ComponentRegistry } from './component_registry';
import { HomePublicPluginSetup } from '../../home/public';

import { ManagementSetup } from '../../management/public';
import { UsageCollectionSetup } from '../../usage_collection/public';

export interface AdvancedSettingsSetup {
component: ComponentRegistry['setup'];
Expand All @@ -32,6 +33,7 @@ export interface AdvancedSettingsStart {
export interface AdvancedSettingsPluginSetup {
management: ManagementSetup;
home?: HomePublicPluginSetup;
usageCollection?: UsageCollectionSetup;
}

export { ComponentRegistry };
1 change: 1 addition & 0 deletions src/plugins/data/server/server.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ import { ShardsResponse } from 'elasticsearch';
import { ToastInputFields } from 'src/core/public/notifications';
import { Type } from '@kbn/config-schema';
import { TypeOf } from '@kbn/config-schema';
import { UiStatsMetricType } from '@kbn/analytics';
import { Unit } from '@elastic/datemath';

// Warning: (ae-forgotten-export) The symbol "AggConfigSerialized" needs to be exported by the entry point index.d.ts
Expand Down
7 changes: 6 additions & 1 deletion src/plugins/discover/server/ui_settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { i18n } from '@kbn/i18n';
import { schema } from '@kbn/config-schema';

import { UiSettingsParams } from 'kibana/server';
import { METRIC_TYPE } from '@kbn/analytics';
import {
DEFAULT_COLUMNS_SETTING,
SAMPLE_SIZE_SETTING,
Expand Down Expand Up @@ -170,9 +171,13 @@ export const uiSettings: Record<string, UiSettingsParams> = {
}),
value: true,
description: i18n.translate('discover.advancedSettings.discover.modifyColumnsOnSwitchText', {
defaultMessage: 'Remove columns that not available in the new index pattern.',
defaultMessage: 'Remove columns that are not available in the new index pattern.',
}),
category: ['discover'],
schema: schema.boolean(),
metric: {
type: METRIC_TYPE.CLICK,
name: 'discover:modifyColumnsOnSwitchTitle',
},
},
};
4 changes: 4 additions & 0 deletions x-pack/plugins/alerts/server/alert_instance/alert_instance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ export class AlertInstance<
return false;
}

getLastScheduledActions() {
return this.meta.lastScheduledActions;
}

getScheduledActionOptions() {
return this.scheduledExecutionOptions;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ test('enqueues execution per selected action', async () => {
},
"kibana": Object {
"alerting": Object {
"action_group_id": "default",
"instance_id": "2",
},
"saved_objects": Array [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ export function createExecutionHandler({
kibana: {
alerting: {
instance_id: alertInstanceId,
action_group_id: actionGroup,
},
saved_objects: [
{ rel: SAVED_OBJECT_REL_PRIMARY, type: 'alert', id: alertId, ...namespace },
Expand Down
Loading

0 comments on commit 84ecfdb

Please sign in to comment.