kibana/x-pack/plugins/uptime
Justin Kambic 1ac15513d6 [Uptime] Uptime to Logging integration (#35853)
Add links for integration with the logs app.
2019-05-20 23:04:02 -05:00
..
common [Uptime] Support location name in UI (#36317) 2019-05-20 18:16:13 -04:00
public [Uptime] Uptime to Logging integration (#35853) 2019-05-20 23:04:02 -05:00
scripts Migrate from tslint (#33826) 2019-04-05 17:45:23 +01:00
server [Uptime] Support location name in UI (#36317) 2019-05-20 18:16:13 -04:00
index.ts Feature Controls (#31652) 2019-04-12 09:16:13 -07:00
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}".