Branch: master
Find file History
Latest commit 72c45db Nov 14, 2018
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
src/main
.gitignore
LICENSE Initial commit Feb 5, 2018
Makefile
NOTICE Initial commit Feb 5, 2018
README.md
docker-compose.yml updated docker image (#66) Apr 9, 2018
pom.xml Update Jet version to 0.7 (#71) Oct 16, 2018

README.md

ADB-S Flight Telemetry Stream Processing Demo

Reads a ADB-S telemetry stream from ADB-S Exchange on all commercial aircraft flying anywhere in the world. There is typically 5,000 - 6,000 aircraft at any point in time. This is then filtered, aggregated and certain features are enriched and displayed in Grafana service provides real-time information about flights.

The demo will calculate following metrics and publish them in Grafana

  • Filter out planes outside of defined airports
  • Sliding over last 1 minute to detect, whether the plane is ascending, descending or staying in the same level
  • Based on the plane type and phase of the flight provides information about maximum noise levels nearby to the airport and estimated C02 emissions for a region

Package Level Structure

At the highest level, the source code is organized into three packages

  • com.hazelcast.jet.demo The main class (FlightTelemetry) with the main method and the domain model classes resides in this package.
  • com.hazelcast.jet.demo.types The enum classes reside in this package.
  • com.hazelcast.jet.demo.util The utility helper classes reside in this package.

Prerequisites

Docker must be running for this demo to work.

This demo application will output it's results to a Graphite database for visualization with Grafana.

You can easily start a Graphite and Grafana setup with Docker with the provided docker-compose.yml and Makefile script.

You use following command to run the Graphite and Grafana Docker image:

$ make up

When you are done with the demo, to stop the container, run the following command:

$ make down

In case you need to log into running docker container shell, run the following command:

$ make shell

In case you need to view the container log , run the following command:

$ make tail

Building the Application

To build and package the application, run:

mvn clean package

Running the Application

After building the application, run the application with:

mvn exec:java

Then navigate to with your browser localhost to open up the Grafana application. To log into Grafana use admin/admin username/password pair. You need to select Flight Telemetry dashboard to see the metrics that are emitted from the Flight Telemetry application.

Note: The ADB-S data stream publishes ~3 MB of data per update. We are polling it every 10 seconds by default, so you might need a decent internet connection for demo to work properly. Otherwise you might see some delay on the charts/output.