Skip to content

Add Uptime Monitoring - #25480

Merged
justinkambic merged 15 commits into
elastic:feature-uptime_monitoringfrom
justinkambic:heartbeat
Nov 21, 2018
Merged

justinkambic merged 15 commits into
elastic:feature-uptime_monitoringfrom
justinkambic:heartbeat

Conversation

@justinkambic

Copy link
Copy Markdown
Contributor

Summary

Add a new plugin to x-pack for Uptime Monitoring.

At the moment there are common, public, and server directories. The majority of changes here are in server. There's also a scripts directory that is just set up to derive static types from the GraphQL schema.

Common

There are constants and domain_types that will be shared by both public and server. These are straightforward. The third subfolder, graphql, contains generated files that will provide typings and introspection for the GraphQL client once it's been added.

Public

At the moment the client does not do much. In the lib folder you'll find somewhat typical Kibana boilerplate to hook into Angular and render a React component in the root of the application section of the page. The apps dir contains the actual startup code.

Server

The majority of the new code lives here. There is a new REST API, a GraphQL Endpoint, and a lib folder that contains the business logic.

lib

This is the code responsible for facilitating connection to/from elasticsearch, graphql, the REST API. This is also where the backend framework is mocked out for testing.

The adapter section is responsible for connections, i.e. querying ES, hooking the Kibana server to the REST paths, or establishing the GraphQL endpoint.

The compose directory contains the startup code where the various framework adapters are invoked.

The domain folder contains code designed for the creation of libs, which expose adapter functionality to consumers. libs enable mocking of the backend, as they can take any adapter matching their expected interface.

graphql

Uses the apollo server. Declares a schema, the required resolver (only 1 at the moment), and hooks into Kibana via a hapi plugin that is declared in lib.

rest_api

This is pretty straightforward; each part of the API is split into domains, at the moment we only have pings, with one route, which gets all of the pings. These are hooked into hapi by the Kibana adapter.

Recommendations for reviewing

Test the API/GraphQL endpoints.

  • For REST, simply use Postman or a similar product to query api/uptime_monitoring/pings.
  • For GraphQL, use GraphiQL to query api/uptime_monitoring/graphql. An example query:
{
  pings: allPings(sort: "desc", size: 2) {
    timestamp,
    beat {
      name,
      timezone
    },
    http {
    	response {
        status_code
      }
    },
    monitor {
      id,
      ip,
      name,
      scheme,
      status,
      type
    }
  }
}
  • Ensure that the React component loads properly by using the new sidebar button for Uptime Monitoring
  • Review the code. Comments are great but if anything is unclear ask to pair and we will discuss.

Checklist

Use strikethroughs to remove checklist items you don't feel are applicable to this PR.

there is no code that will render defined in this PR, aside from the Angular hookup code which is based on existing plugins that are cross-browser tested already
- [ ] This was checked for cross-browser compatibility, including a check against IE11

there is no text that will be user-facing defined in this PR
- [ ] Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support

The project should have a README added, tracked in #25479
- [ ] Documentation was added for features that require explanation or tutorials

irrelevant, no UI functionality in this PR
- [ ] This was checked for keyboard-only and screenreader accessibility

For maintainers

@justinkambic justinkambic changed the title Heartbeat Uptime Monitoring Nov 9, 2018
@justinkambic justinkambic changed the title Uptime Monitoring Add Uptime Monitoring Nov 9, 2018
@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@mattapperson mattapperson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall I would say this Is looking good, just the one major thing with regards to memory leaking but otherwise I like it

this.register(component);
};

private register = (rootComponent: React.ReactElement<any>) => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The mounting you do here is good, but it does not take into consideration the needed unmounting. Otherwise angular will keep this in memory and navigating away and back will result in multiple allocations. To avoid this you will need something like the code we have in BeatsCM:

private manageAngularLifecycle($scope: any, $route: any, elem: any) {
    const lastRoute = $route.current;
    const deregister = $scope.$on('$locationChangeSuccess', () => {
      const currentRoute = $route.current;
      // if templates are the same we are on the same route
      if (lastRoute.$$route.template === currentRoute.$$route.template) {
        // this prevents angular from destroying scope
        $route.current = lastRoute;
      }
    });
    $scope.$on('$destroy', () => {
      if (deregister) {
        deregister();
      }
      // manually unmount component when scope is destroyed
      if (elem) {
        ReactDOM.unmountComponentAtNode(elem);
      }
    });
  }

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does 42a087e look like a step in the right direction?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mattapperson any further thoughts on this issue, or is it resolved now?

@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@justinkambic
justinkambic force-pushed the heartbeat branch 2 times, most recently from 2ba5f90 to 42a087e Compare November 10, 2018 00:40
@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

Comment thread x-pack/plugins/uptime_monitoring/public/lib/manage_angular_lifecycle.ts Outdated

@chrisronline chrisronline left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good. I haven't really seen a typescript/graphql plugin code before (I know we have them, but I haven't looked). It does seem like a lot of boilerplate, but maybe I'm misunderstanding. How much of this would you say is pure copy/paste boilerplate?

@justinkambic

justinkambic commented Nov 14, 2018 •

Copy link
Copy Markdown
Contributor Author

@chrisronline fair question.

  • The angular lifecycle code that you've pointed out already is complete boilerplate copied from a few other plugins.
  • The contents of scripts is copied from infra, but needs here may diverge in the future; in my experience it's not uncommon for plugins to maintain their own scripts but I'm open to alternatives.
  • Some additional things on the client like feature registration.
  • The definition of a hapi plugin for the GraphQL endpoint is mostly copied from infra's implementation with little variation, and I wouldn't expect the needs of this code to change much. I'd say it's probably the biggest example of boilerplate on the server.
  • A lot of the setup code for the plugin server (init functions, REST route definition, GraphQL resolvers) is based on the same pattern followed by infra and beats-cm, but I wouldn't call it copy/paste. It follows the same pattern but all three have different domains so the behavior is largely unique, and changes I'm already working on upstream of this have begun diverging a bit from what's here.
  • There may be little things here and there outside of what I've mentioned but that is a large portion of the duplicate code.

justinkambic added a commit to justinkambic/kibana that referenced this pull request Nov 22, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
@justinkambic
justinkambic deleted the heartbeat branch November 22, 2018 05:25
justinkambic added a commit that referenced this pull request Nov 28, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit that referenced this pull request Nov 28, 2018
* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit that referenced this pull request Nov 29, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit that referenced this pull request Nov 29, 2018
* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit that referenced this pull request Nov 30, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit that referenced this pull request Nov 30, 2018
* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 7, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 7, 2018
* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit that referenced this pull request Dec 10, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit that referenced this pull request Dec 10, 2018
* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 17, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 17, 2018
* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 18, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 18, 2018
* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit that referenced this pull request Dec 18, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit that referenced this pull request Dec 18, 2018
* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit that referenced this pull request Dec 19, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit that referenced this pull request Dec 19, 2018
* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit that referenced this pull request Dec 19, 2018
* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add GQL query components.

* Remove reference to dedicated histogram resolver.

* Update formatting of displayed dates and columns for monitor statuses.

* Add UI import for framework adapter.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add React Router and some basic breadcrumbs.

* Update application flow to subscribe to use K7 if available.

* Rename a type.

* Update to work with K7.

* Update breadcrumb module to export functions per uptime page.

* Add explicit type to object.

* HTML-encode a symbol.

* Extract router basename to prop/constant.

* Add autorefresh control and state variables.

* Support passing monitor ID to route.

* Mock up some charts in the Monitor page.

* Add spacer.

* Enlarge spacer.

* Add ID to sample link.

* Replace div with fragment.

* Remove unused text.

* Add GQL components/resolvers/queries for PingList and MonitorSelect.

* Add MonitorStatusBar GQL component, update GQL schema + resolver.

* Add GQL support for Monitor charts.

* Add auto-polling for Monitor Page components.

* Fix routing bug.

* Remove outdated code.

* Add beaker icon.

* Add snapshot component to Overview page.

* Update snapshot histogram to display monitors up/down. Update types.

* Update typings for adapters/libs.

* Move monitor list to Overview page. Update formatting of snapshot component.

* Include link from monitor table to monitor page.

* Add help link to app header.

* Remove unneeded title from Overview page.

* Update the data shown in checks list.

* Put limit on check query size.

* Remove obsolete code.

* Add filtering to Overview page.

* Add Monitor List component.

* Add filtering capabilities to errors list.

* Add pagination, sorting, and status code to errors list.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Fix broken test.

* Add more tests for pings ES adapter.

* Remove obsolete code.

* Track autorefresh state in localStorage.

* Shrink top visualizations.

* Fix typings in monitor charts component.

* Fix typings in monitor status bar.

* Fix typings in monitor select component.

* Fix typings for monitor memory adapter.

* Update error list column ordering. Fix broken API test.

* Clean up names.

* Refactor snapshot histogram into dedicated component, make histogram data nullable.

* Add API test.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add test for ES pings adapter.

* Add empty prompt when no index found.

* Place limits on filtering capabilities.

* Update plugin order.

* Add date picker.

* Fix bug setting date range. Update chart color.

* Downgrade apollo cache package to avoid bumping other clients.

* Extract reference to chrome API from app startup to kibana adapter.

* Update framework_adapter_types.ts

Remove unneeded comment via GitHub web UI.

* Extract data formatting function to dedicated file to improve modularity.

* Add a TODO.

* Add TODO for moving formatting code to server.

* Switch to use auto_date_histogram agg.

* Add filter schema.

* Add pagination and sorting to Monitor List component.

* Add latest timestamp to errors list.

* Add code to default the date range's end to be greater than 'now' to avoid the user missing latest information on refresh.

* Delete console.log call from code.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 20, 2018
* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 20, 2018
* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Dec 20, 2018
* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add GQL query components.

* Remove reference to dedicated histogram resolver.

* Update formatting of displayed dates and columns for monitor statuses.

* Add UI import for framework adapter.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add React Router and some basic breadcrumbs.

* Update application flow to subscribe to use K7 if available.

* Rename a type.

* Update to work with K7.

* Update breadcrumb module to export functions per uptime page.

* Add explicit type to object.

* HTML-encode a symbol.

* Extract router basename to prop/constant.

* Add autorefresh control and state variables.

* Support passing monitor ID to route.

* Mock up some charts in the Monitor page.

* Add spacer.

* Enlarge spacer.

* Add ID to sample link.

* Replace div with fragment.

* Remove unused text.

* Add GQL components/resolvers/queries for PingList and MonitorSelect.

* Add MonitorStatusBar GQL component, update GQL schema + resolver.

* Add GQL support for Monitor charts.

* Add auto-polling for Monitor Page components.

* Fix routing bug.

* Remove outdated code.

* Add beaker icon.

* Add snapshot component to Overview page.

* Update snapshot histogram to display monitors up/down. Update types.

* Update typings for adapters/libs.

* Move monitor list to Overview page. Update formatting of snapshot component.

* Include link from monitor table to monitor page.

* Add help link to app header.

* Remove unneeded title from Overview page.

* Update the data shown in checks list.

* Put limit on check query size.

* Remove obsolete code.

* Add filtering to Overview page.

* Add Monitor List component.

* Add filtering capabilities to errors list.

* Add pagination, sorting, and status code to errors list.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Fix broken test.

* Add more tests for pings ES adapter.

* Remove obsolete code.

* Track autorefresh state in localStorage.

* Shrink top visualizations.

* Fix typings in monitor charts component.

* Fix typings in monitor status bar.

* Fix typings in monitor select component.

* Fix typings for monitor memory adapter.

* Update error list column ordering. Fix broken API test.

* Clean up names.

* Refactor snapshot histogram into dedicated component, make histogram data nullable.

* Add API test.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add test for ES pings adapter.

* Add empty prompt when no index found.

* Place limits on filtering capabilities.

* Update plugin order.

* Add date picker.

* Fix bug setting date range. Update chart color.

* Downgrade apollo cache package to avoid bumping other clients.

* Extract reference to chrome API from app startup to kibana adapter.

* Update framework_adapter_types.ts

Remove unneeded comment via GitHub web UI.

* Extract data formatting function to dedicated file to improve modularity.

* Add a TODO.

* Add TODO for moving formatting code to server.

* Switch to use auto_date_histogram agg.

* Add filter schema.

* Add pagination and sorting to Monitor List component.

* Add latest timestamp to errors list.

* Add code to default the date range's end to be greater than 'now' to avoid the user missing latest information on refresh.

* Delete console.log call from code.
justinkambic added a commit that referenced this pull request Jan 3, 2019
* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* [Uptime Monitoring] Add Overview and Monitor pages (#27279)

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add GQL query components.

* Remove reference to dedicated histogram resolver.

* Update formatting of displayed dates and columns for monitor statuses.

* Add UI import for framework adapter.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add React Router and some basic breadcrumbs.

* Update application flow to subscribe to use K7 if available.

* Rename a type.

* Update to work with K7.

* Update breadcrumb module to export functions per uptime page.

* Add explicit type to object.

* HTML-encode a symbol.

* Extract router basename to prop/constant.

* Add autorefresh control and state variables.

* Support passing monitor ID to route.

* Mock up some charts in the Monitor page.

* Add spacer.

* Enlarge spacer.

* Add ID to sample link.

* Replace div with fragment.

* Remove unused text.

* Add GQL components/resolvers/queries for PingList and MonitorSelect.

* Add MonitorStatusBar GQL component, update GQL schema + resolver.

* Add GQL support for Monitor charts.

* Add auto-polling for Monitor Page components.

* Fix routing bug.

* Remove outdated code.

* Add beaker icon.

* Add snapshot component to Overview page.

* Update snapshot histogram to display monitors up/down. Update types.

* Update typings for adapters/libs.

* Move monitor list to Overview page. Update formatting of snapshot component.

* Include link from monitor table to monitor page.

* Add help link to app header.

* Remove unneeded title from Overview page.

* Update the data shown in checks list.

* Put limit on check query size.

* Remove obsolete code.

* Add filtering to Overview page.

* Add Monitor List component.

* Add filtering capabilities to errors list.

* Add pagination, sorting, and status code to errors list.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Fix broken test.

* Add more tests for pings ES adapter.

* Remove obsolete code.

* Track autorefresh state in localStorage.

* Shrink top visualizations.

* Fix typings in monitor charts component.

* Fix typings in monitor status bar.

* Fix typings in monitor select component.

* Fix typings for monitor memory adapter.

* Update error list column ordering. Fix broken API test.

* Clean up names.

* Refactor snapshot histogram into dedicated component, make histogram data nullable.

* Add API test.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add test for ES pings adapter.

* Add empty prompt when no index found.

* Place limits on filtering capabilities.

* Update plugin order.

* Add date picker.

* Fix bug setting date range. Update chart color.

* Downgrade apollo cache package to avoid bumping other clients.

* Extract reference to chrome API from app startup to kibana adapter.

* Update framework_adapter_types.ts

Remove unneeded comment via GitHub web UI.

* Extract data formatting function to dedicated file to improve modularity.

* Add a TODO.

* Add TODO for moving formatting code to server.

* Switch to use auto_date_histogram agg.

* Add filter schema.

* Add pagination and sorting to Monitor List component.

* Add latest timestamp to errors list.

* Add code to default the date range's end to be greater than 'now' to avoid the user missing latest information on refresh.

* Delete console.log call from code.
justinkambic added a commit to justinkambic/kibana that referenced this pull request Jan 3, 2019
* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* [Uptime Monitoring] Add Overview and Monitor pages (elastic#27279)

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add GQL query components.

* Remove reference to dedicated histogram resolver.

* Update formatting of displayed dates and columns for monitor statuses.

* Add UI import for framework adapter.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add React Router and some basic breadcrumbs.

* Update application flow to subscribe to use K7 if available.

* Rename a type.

* Update to work with K7.

* Update breadcrumb module to export functions per uptime page.

* Add explicit type to object.

* HTML-encode a symbol.

* Extract router basename to prop/constant.

* Add autorefresh control and state variables.

* Support passing monitor ID to route.

* Mock up some charts in the Monitor page.

* Add spacer.

* Enlarge spacer.

* Add ID to sample link.

* Replace div with fragment.

* Remove unused text.

* Add GQL components/resolvers/queries for PingList and MonitorSelect.

* Add MonitorStatusBar GQL component, update GQL schema + resolver.

* Add GQL support for Monitor charts.

* Add auto-polling for Monitor Page components.

* Fix routing bug.

* Remove outdated code.

* Add beaker icon.

* Add snapshot component to Overview page.

* Update snapshot histogram to display monitors up/down. Update types.

* Update typings for adapters/libs.

* Move monitor list to Overview page. Update formatting of snapshot component.

* Include link from monitor table to monitor page.

* Add help link to app header.

* Remove unneeded title from Overview page.

* Update the data shown in checks list.

* Put limit on check query size.

* Remove obsolete code.

* Add filtering to Overview page.

* Add Monitor List component.

* Add filtering capabilities to errors list.

* Add pagination, sorting, and status code to errors list.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Fix broken test.

* Add more tests for pings ES adapter.

* Remove obsolete code.

* Track autorefresh state in localStorage.

* Shrink top visualizations.

* Fix typings in monitor charts component.

* Fix typings in monitor status bar.

* Fix typings in monitor select component.

* Fix typings for monitor memory adapter.

* Update error list column ordering. Fix broken API test.

* Clean up names.

* Refactor snapshot histogram into dedicated component, make histogram data nullable.

* Add API test.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add test for ES pings adapter.

* Add empty prompt when no index found.

* Place limits on filtering capabilities.

* Update plugin order.

* Add date picker.

* Fix bug setting date range. Update chart color.

* Downgrade apollo cache package to avoid bumping other clients.

* Extract reference to chrome API from app startup to kibana adapter.

* Update framework_adapter_types.ts

Remove unneeded comment via GitHub web UI.

* Extract data formatting function to dedicated file to improve modularity.

* Add a TODO.

* Add TODO for moving formatting code to server.

* Switch to use auto_date_histogram agg.

* Add filter schema.

* Add pagination and sorting to Monitor List component.

* Add latest timestamp to errors list.

* Add code to default the date range's end to be greater than 'now' to avoid the user missing latest information on refresh.

* Delete console.log call from code.
justinkambic added a commit that referenced this pull request Jan 10, 2019
* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* [Uptime Monitoring] Add Overview and Monitor pages (#27279)

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add GQL query components.

* Remove reference to dedicated histogram resolver.

* Update formatting of displayed dates and columns for monitor statuses.

* Add UI import for framework adapter.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add React Router and some basic breadcrumbs.

* Update application flow to subscribe to use K7 if available.

* Rename a type.

* Update to work with K7.

* Update breadcrumb module to export functions per uptime page.

* Add explicit type to object.

* HTML-encode a symbol.

* Extract router basename to prop/constant.

* Add autorefresh control and state variables.

* Support passing monitor ID to route.

* Mock up some charts in the Monitor page.

* Add spacer.

* Enlarge spacer.

* Add ID to sample link.

* Replace div with fragment.

* Remove unused text.

* Add GQL components/resolvers/queries for PingList and MonitorSelect.

* Add MonitorStatusBar GQL component, update GQL schema + resolver.

* Add GQL support for Monitor charts.

* Add auto-polling for Monitor Page components.

* Fix routing bug.

* Remove outdated code.

* Add beaker icon.

* Add snapshot component to Overview page.

* Update snapshot histogram to display monitors up/down. Update types.

* Update typings for adapters/libs.

* Move monitor list to Overview page. Update formatting of snapshot component.

* Include link from monitor table to monitor page.

* Add help link to app header.

* Remove unneeded title from Overview page.

* Update the data shown in checks list.

* Put limit on check query size.

* Remove obsolete code.

* Add filtering to Overview page.

* Add Monitor List component.

* Add filtering capabilities to errors list.

* Add pagination, sorting, and status code to errors list.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Fix broken test.

* Add more tests for pings ES adapter.

* Remove obsolete code.

* Track autorefresh state in localStorage.

* Shrink top visualizations.

* Fix typings in monitor charts component.

* Fix typings in monitor status bar.

* Fix typings in monitor select component.

* Fix typings for monitor memory adapter.

* Update error list column ordering. Fix broken API test.

* Clean up names.

* Refactor snapshot histogram into dedicated component, make histogram data nullable.

* Add API test.

* Add Uptime Monitoring (#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (#26070)

* Add Uptime Monitoring (#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add test for ES pings adapter.

* Add empty prompt when no index found.

* Place limits on filtering capabilities.

* Update plugin order.

* Add date picker.

* Fix bug setting date range. Update chart color.

* Downgrade apollo cache package to avoid bumping other clients.

* Extract reference to chrome API from app startup to kibana adapter.

* Update framework_adapter_types.ts

Remove unneeded comment via GitHub web UI.

* Extract data formatting function to dedicated file to improve modularity.

* Add a TODO.

* Add TODO for moving formatting code to server.

* Switch to use auto_date_histogram agg.

* Add filter schema.

* Add pagination and sorting to Monitor List component.

* Add latest timestamp to errors list.

* Add code to default the date range's end to be greater than 'now' to avoid the user missing latest information on refresh.

* Delete console.log call from code.
patrykkopycinski pushed a commit to patrykkopycinski/kibana that referenced this pull request May 6, 2026
* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* [Uptime Monitoring] Add Overview and Monitor pages (elastic#27279)

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add GQL query components.

* Remove reference to dedicated histogram resolver.

* Update formatting of displayed dates and columns for monitor statuses.

* Add UI import for framework adapter.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add React Router and some basic breadcrumbs.

* Update application flow to subscribe to use K7 if available.

* Rename a type.

* Update to work with K7.

* Update breadcrumb module to export functions per uptime page.

* Add explicit type to object.

* HTML-encode a symbol.

* Extract router basename to prop/constant.

* Add autorefresh control and state variables.

* Support passing monitor ID to route.

* Mock up some charts in the Monitor page.

* Add spacer.

* Enlarge spacer.

* Add ID to sample link.

* Replace div with fragment.

* Remove unused text.

* Add GQL components/resolvers/queries for PingList and MonitorSelect.

* Add MonitorStatusBar GQL component, update GQL schema + resolver.

* Add GQL support for Monitor charts.

* Add auto-polling for Monitor Page components.

* Fix routing bug.

* Remove outdated code.

* Add beaker icon.

* Add snapshot component to Overview page.

* Update snapshot histogram to display monitors up/down. Update types.

* Update typings for adapters/libs.

* Move monitor list to Overview page. Update formatting of snapshot component.

* Include link from monitor table to monitor page.

* Add help link to app header.

* Remove unneeded title from Overview page.

* Update the data shown in checks list.

* Put limit on check query size.

* Remove obsolete code.

* Add filtering to Overview page.

* Add Monitor List component.

* Add filtering capabilities to errors list.

* Add pagination, sorting, and status code to errors list.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Fix broken test.

* Add more tests for pings ES adapter.

* Remove obsolete code.

* Track autorefresh state in localStorage.

* Shrink top visualizations.

* Fix typings in monitor charts component.

* Fix typings in monitor status bar.

* Fix typings in monitor select component.

* Fix typings for monitor memory adapter.

* Update error list column ordering. Fix broken API test.

* Clean up names.

* Refactor snapshot histogram into dedicated component, make histogram data nullable.

* Add API test.

* Add Uptime Monitoring (elastic#25480)

* Initial commit.

* Add heartbeat app to Kibana.

* Add routing architecture.

* Add graphQL endpoint.

* Rename app to be 'uptime monitoring' instead of 'heartbeat'.

* Add server tests.

* Standardize interface/class/route naming.

* Clean up GraphQL type inference script.

* Update gql schema.

* Rename classes/interfaces. Add tests for ES ping adapter.

* Rename more symbols.

* Improve angular lifecycle management.

* Move angular lifecycle management code to framework adapter.

* [Uptime Monitoring] Add user auth checks (elastic#26070)

* Add Uptime Monitoring (elastic#25480)

* Add authentication checks and tests. WIP.

* Add auth adapter types. Finish work on adapter and update tests.

* Add route errors. Rename license symbols.

* Add test for ES pings adapter.

* Add empty prompt when no index found.

* Place limits on filtering capabilities.

* Update plugin order.

* Add date picker.

* Fix bug setting date range. Update chart color.

* Downgrade apollo cache package to avoid bumping other clients.

* Extract reference to chrome API from app startup to kibana adapter.

* Update framework_adapter_types.ts

Remove unneeded comment via GitHub web UI.

* Extract data formatting function to dedicated file to improve modularity.

* Add a TODO.

* Add TODO for moving formatting code to server.

* Switch to use auto_date_histogram agg.

* Add filter schema.

* Add pagination and sorting to Monitor List component.

* Add latest timestamp to errors list.

* Add code to default the date range's end to be greater than 'now' to avoid the user missing latest information on refresh.

* Delete console.log call from code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Team:Beats Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability v7.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants