* chore(NA): remove specific watch for x-pack webpackShims folder. * chore(NA): remove xpack security plugin angular-ui-select webpackShim. * chore(NA): bump ui-select version on x-pack to match the one used on oss kibana * chore(NA): remove manual searching for webpackShim imports into the dll plugin. chore(NA): explicit avoid max dll compilations in all environments for the dll plugin. chore(NA): explicit throw an error and list all the not allowed modules bundled into the dll bundle. * refact(NA): move ui related actions inside webpackShims to proper ui related files * chore(NA): move angular ui dependencies from webpackShims to kibana core module. * test(NA): enable xpack jest tests to be able to resolve plugins/xpack_main/*. refact(NA): rewrite code for the old xpack jquery flot webpackShim. * refact(NA): use the already declared ui module get to list the dependencies for the kibana legacy core plugin. * chore(NA): move angular ui requires to a better centralized place. * refact(NA): rename areMaxCompilationsPerformed to assertMaxCompilations. * refact(NA): remove unnecessary promise resolve on async function. * refact(NA): remove unnecessary promise resolve on async function. * refact(NA): apply changes according pr review. * refact(NA): change from requires to imports in xpack_main plugin jquery flots. * refact(NA): jquery flots missing statements. * fix(na): linting problems. * chore(na): re add jquery flot requires instead of imports. * refact(NA): moving jquery flots from require to import. test(NA): fix mock for jquery_flot. * feat(na): allow dynamic dll plugin public modules on dll bundle. * feat(NA): step verification to not allow modules from xpack source. * chore(NA): fix linting problems. |
||
---|---|---|
.. | ||
common | ||
public | ||
scripts | ||
server | ||
index.ts | ||
README.md | ||
tsconfig.json |
Uptime Monitoring
Purpose
The purpose of this plugin is to provide users of Heartbeat more visibility of what's happening in their infrasturcture. It's primarily built using React and Apollo's GraphQL tools.
Layout
There are three sections to the app, common
, public
, and server
.
common
Contains GraphQL types, constants and a few other files.
public
Components come in two main types, queries and functional. Queries are extended from Apollo's queries type which abstracts a lot of the GraphQL connectivity away. Functional are dumb components that don't store any state.
The lib
directory controls bootstrapping code and adapter types.
There is a pages
directory; each view gets its own page component.
The principal structure of the app is stored in uptime_app.tsx
.
server
There is a graphql
directory which contains the resolvers, schema files, and constants.
The lib
directory contains adapters
, which are connections to external resources like Kibana
Server, Elasticsearch, etc. In addition, it contains domains, which are libraries that provide
functionality via adapters.
There's also a rest_api
folder that defines the structure of the RESTful API endpoints.
Testing
Unit tests
From ~/kibana/x-pack
, run node scripts/jest.js
.
Functional tests
In one shell, from ~/kibana/x-pack:
node scripts/functional_tests-server.js
In another shell, from ~kibana/x-pack:
node ../scripts/functional_test_runner.js --grep="{TEST_NAME}"
.
API tests
In one shell, from ~/kibana/x-pack:
node scripts/functional_tests-server.js
In another shell, from ~kibana/x-pack:
node ../scripts/functional_test_runner.js --config test/api_integration/config.js --grep="{TEST_NAME}"
.