diff --git a/.i18nrc.json b/.i18nrc.json index 87a4a385862d..68e38d3976a6 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -22,7 +22,10 @@ "interpreter": "src/legacy/core_plugins/interpreter", "kbn": "src/legacy/core_plugins/kibana", "kbnDocViews": "src/legacy/core_plugins/kbn_doc_views", - "management": ["src/legacy/core_plugins/management", "src/plugins/management"], + "management": [ + "src/legacy/core_plugins/management", + "src/plugins/management" + ], "maps_legacy": "src/plugins/maps_legacy", "indexPatternManagement": "src/plugins/index_pattern_management", "advancedSettings": "src/plugins/advanced_settings", @@ -39,7 +42,10 @@ "security": "src/plugins/security_oss", "server": "src/legacy/server", "statusPage": "src/legacy/core_plugins/status_page", - "telemetry": ["src/plugins/telemetry", "src/plugins/telemetry_management_section"], + "telemetry": [ + "src/plugins/telemetry", + "src/plugins/telemetry_management_section" + ], "tileMap": "src/plugins/tile_map", "timelion": ["src/plugins/timelion", "src/plugins/vis_type_timelion"], "uiActions": "src/plugins/ui_actions", @@ -54,8 +60,11 @@ "visTypeXy": "src/plugins/vis_type_xy", "visualizations": "src/plugins/visualizations", "visualize": "src/plugins/visualize", - "apmOss": "src/plugins/apm_oss" + "apmOss": "src/plugins/apm_oss", + "usageCollection": "src/plugins/usage_collection" }, - "exclude": ["src/legacy/ui/ui_render/ui_render_mixin.js"], + "exclude": [ + "src/legacy/ui/ui_render/ui_render_mixin.js" + ], "translations": [] } diff --git a/packages/kbn-analytics/src/reporter.ts b/packages/kbn-analytics/src/reporter.ts index 82e032df0011..63bccdd24aea 100644 --- a/packages/kbn-analytics/src/reporter.ts +++ b/packages/kbn-analytics/src/reporter.ts @@ -38,7 +38,7 @@ export class Reporter { checkInterval: number; private interval?: NodeJS.Timer; private lastAppId?: string; - // private http: ReportHTTP; + private http: ReportHTTP; private reportManager: ReportManager; private storageManager: ReportStorageManager; private readonly applicationUsage: ApplicationUsage; @@ -48,8 +48,8 @@ export class Reporter { private started = false; constructor(config: ReporterConfig) { - const { storage, debug, checkInterval = 90000, storageKey = 'analytics' } = config; - // this.http = http; + const { http, storage, debug, checkInterval = 90000, storageKey = 'analytics' } = config; + this.http = http; this.checkInterval = checkInterval; this.applicationUsage = new ApplicationUsage(); this.storageManager = new ReportStorageManager(storageKey, storage); diff --git a/src/plugins/data/kibana.json b/src/plugins/data/kibana.json index 635799d12d9c..9cb9b1745373 100644 --- a/src/plugins/data/kibana.json +++ b/src/plugins/data/kibana.json @@ -3,9 +3,16 @@ "version": "kibana", "server": true, "ui": true, - "requiredPlugins": ["expressions", "uiActions"], - "optionalPlugins": [], + "requiredPlugins": [ + "expressions", + "uiActions" + ], + "optionalPlugins": ["usageCollection"], "extraPublicDirs": ["common", "common/utils/abort_utils"], - "requiredBundles": ["kibanaUtils", "kibanaReact", "inspector"] + "requiredBundles": [ + "usageCollection", + "kibanaUtils", + "kibanaReact", + "inspector" + ] } - diff --git a/src/plugins/data/public/search/collectors/create_usage_collector.test.ts b/src/plugins/data/public/search/collectors/create_usage_collector.test.ts index 00fd2b46b248..9cadb1e796ad 100644 --- a/src/plugins/data/public/search/collectors/create_usage_collector.test.ts +++ b/src/plugins/data/public/search/collectors/create_usage_collector.test.ts @@ -25,7 +25,7 @@ import { SEARCH_EVENT_TYPE, SearchUsageCollector } from './types'; import { METRIC_TYPE } from '@kbn/analytics'; import { from } from 'rxjs'; -describe.skip('Search Usage Collector', () => { +describe('Search Usage Collector', () => { let mockCoreSetup: MockedKeys; let mockUsageCollectionSetup: Setup; let usageCollector: SearchUsageCollector; diff --git a/src/plugins/data/public/search/collectors/index.ts b/src/plugins/data/public/search/collectors/index.ts index 4e348e4ad102..afe127c00b5d 100644 --- a/src/plugins/data/public/search/collectors/index.ts +++ b/src/plugins/data/public/search/collectors/index.ts @@ -17,5 +17,5 @@ * under the License. */ -// export { createUsageCollector } from './create_usage_collector'; +export { createUsageCollector } from './create_usage_collector'; export { SEARCH_EVENT_TYPE, SearchUsageCollector } from './types'; diff --git a/src/plugins/data/public/search/search_interceptor.ts b/src/plugins/data/public/search/search_interceptor.ts index ed0e35d8ede6..2e42635a7f81 100644 --- a/src/plugins/data/public/search/search_interceptor.ts +++ b/src/plugins/data/public/search/search_interceptor.ts @@ -29,7 +29,7 @@ import { ISearchOptions, ES_SEARCH_STRATEGY, } from '../../common'; -// import { SearchUsageCollector } from './collectors'; +import { SearchUsageCollector } from './collectors'; import { SearchTimeoutError, PainlessError, isPainlessError, TimeoutErrorMode } from './errors'; import { toMountPoint } from '../../../kibana_react/public'; @@ -38,7 +38,7 @@ export interface SearchInterceptorDeps { uiSettings: CoreSetup['uiSettings']; startServices: Promise<[CoreStart, any, unknown]>; toasts: ToastsSetup; - // usageCollector?: SearchUsageCollector; + usageCollector?: SearchUsageCollector; } export class SearchInterceptor { diff --git a/src/plugins/data/public/search/search_service.ts b/src/plugins/data/public/search/search_service.ts index 86e299745a92..2d582b30bcd1 100644 --- a/src/plugins/data/public/search/search_service.ts +++ b/src/plugins/data/public/search/search_service.ts @@ -36,8 +36,8 @@ import { getCallMsearch } from './legacy'; import { AggsService, AggsStartDependencies } from './aggs'; import { IndexPatternsContract } from '../index_patterns/index_patterns'; import { ISearchInterceptor, SearchInterceptor } from './search_interceptor'; -// import { SearchUsageCollector, createUsageCollector } from './collectors'; -// import { UsageCollectionSetup } from '../../../usage_collection/public'; +import { SearchUsageCollector, createUsageCollector } from './collectors'; +import { UsageCollectionSetup } from '../../../usage_collection/public'; import { esdsl, esRawResponse } from './expressions'; import { ExpressionsSetup } from '../../../expressions/public'; import { ConfigSchema } from '../../config'; @@ -50,7 +50,7 @@ import { aggShardDelay } from '../../common/search/aggs/buckets/shard_delay_fn'; /** @internal */ export interface SearchServiceSetupDependencies { expressions: ExpressionsSetup; - // usageCollection?: UsageCollectionSetup; + usageCollection?: UsageCollectionSetup; } /** @internal */ @@ -63,16 +63,15 @@ export class SearchService implements Plugin { private readonly aggsService = new AggsService(); private readonly searchSourceService = new SearchSourceService(); private searchInterceptor!: ISearchInterceptor; - // private usageCollector?: SearchUsageCollector; + private usageCollector?: SearchUsageCollector; constructor(private initializerContext: PluginInitializerContext) {} public setup( { http, getStartServices, notifications, uiSettings }: CoreSetup, - // { expressions, usageCollection }: SearchServiceSetupDependencies - { expressions }: SearchServiceSetupDependencies + { expressions, usageCollection }: SearchServiceSetupDependencies ): ISearchSetup { - // this.usageCollector = createUsageCollector(getStartServices, usageCollection); + this.usageCollector = createUsageCollector(getStartServices, usageCollection); /** * A global object that intercepts all searches and provides convenience methods for cancelling @@ -83,7 +82,7 @@ export class SearchService implements Plugin { http, uiSettings, startServices: getStartServices(), - usageCollector: undefined, // this.usageCollector!, + usageCollector: this.usageCollector!, }); expressions.registerFunction(esdsl); @@ -101,7 +100,7 @@ export class SearchService implements Plugin { return { aggs, - usageCollector: undefined, // this.usageCollector!, + usageCollector: this.usageCollector!, __enhance: (enhancements: SearchEnhancements) => { this.searchInterceptor = enhancements.searchInterceptor; }, diff --git a/src/plugins/usage_collection/kibana_back.json b/src/plugins/usage_collection/kibana.json similarity index 100% rename from src/plugins/usage_collection/kibana_back.json rename to src/plugins/usage_collection/kibana.json