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

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.


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.