Files
pezkuwi-telemetry/backend
James Wilson fe19a75414 Un-brittle-ify backend E2E tests and have them run by default again in CI (#397)
* test running tests

* Add delay so that core knows about node before feed subscribes to limit chance of race

* move delaye to the right place

* Don't do expensive docker step untill we will be pushing the image

* docker test skipped as hoped, so push to 'true'

* just remove docker steps in github CI entirely since they aren't needed by anything (gitlab CI does this stuff now)

* run CI on pull requests too to catch PRs from forks
2021-09-06 11:30:17 +01:00
..

Backend Crates

This folder contains the rust crates and documentation specific to the telemetry backend. A description of the folders:

  • telemetry_core: The Telemetry Core. This aggregates data received from shards and allows UI feeds to connect and receive this information.
  • telemetry_shard: A Shard. It's expected that multiple of these will run. Nodes will connect to Shard instances and send JSON telemetry to them, and Shard instances will each connect to the Telemetry Core and relay on relevant data to it.
  • common: common code shared between the telemetry shard and core
  • test_utils: Test utilities, primarily focused around making it easy to run end-to-end tests.
  • docs: Material supporting the documentation lives here

Architecture

As we move to a sharded version of this telemetry server, this set of architecture diagrams may be useful in helping to understand the current setup (middle diagram), previous setup (first diagram) and possible future setup if we need to scale further (last diagram):

Architecture Diagram

Deployment

A Dockerfile exists which builds the Shard and Telemetry Core binaries into an image. A docker-compose.yaml in the root of the repository can serve as an example of these services, along with the UI, running together.