mirror of
https://github.com/elastic/kibana.git
synced 2025-04-22 08:49:27 -04:00
62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License;
|
|
* you may not use this file except in compliance with the Elastic License.
|
|
*/
|
|
|
|
import { resolve } from 'path';
|
|
import { initTransactionsApi } from './server/routes/transactions';
|
|
import { initServicesApi } from './server/routes/services';
|
|
import { initErrorsApi } from './server/routes/errors';
|
|
import { initStatusApi } from './server/routes/status_check';
|
|
|
|
export function apm(kibana) {
|
|
return new kibana.Plugin({
|
|
require: ['kibana', 'elasticsearch', 'xpack_main', 'apm_oss'],
|
|
id: 'apm',
|
|
configPrefix: 'xpack.apm',
|
|
publicDir: resolve(__dirname, 'public'),
|
|
|
|
uiExports: {
|
|
app: {
|
|
title: 'APM',
|
|
description: 'APM for the Elastic Stack',
|
|
main: 'plugins/apm/index',
|
|
icon: 'plugins/apm/icon.svg'
|
|
},
|
|
home: ['plugins/apm/register_feature'],
|
|
injectDefaultVars(server) {
|
|
const config = server.config();
|
|
return {
|
|
mlEnabled: config.get('xpack.ml.enabled'),
|
|
apmUiEnabled: config.get('xpack.apm.ui.enabled'),
|
|
apmIndexPattern: config.get('apm_oss.indexPattern')
|
|
};
|
|
},
|
|
hacks: ['plugins/apm/hacks/toggle_app_link_in_nav']
|
|
},
|
|
|
|
config(Joi) {
|
|
return Joi.object({
|
|
// display menu item
|
|
ui: Joi.object({
|
|
enabled: Joi.boolean().default(true)
|
|
}).default(),
|
|
|
|
// enable plugin
|
|
enabled: Joi.boolean().default(true),
|
|
|
|
// buckets
|
|
minimumBucketSize: Joi.number().default(15),
|
|
bucketTargetCount: Joi.number().default(27)
|
|
}).default();
|
|
},
|
|
|
|
init(server) {
|
|
initTransactionsApi(server);
|
|
initServicesApi(server);
|
|
initErrorsApi(server);
|
|
initStatusApi(server);
|
|
}
|
|
});
|
|
}
|