ATLAS Telemetry Lab  /  Courses  /  Course 01

Open now

Introduction to Open Streaming Foundations

Four modules against a running pipeline. You change the code, a bot runs your version on a clean machine, and it tells you what happened.

Sandbourne Park 3,806 m · 60 Hz
Modules
4
Cost
Free
To install
Nothing
Marking
Automatic

What it covers

Four things a bare Kafka topic has no concept of

Kafka alone moves numbers. It cannot say what a number is: its units, its valid range, how fast it arrives, which session it belongs to, and what happened during it. Each module teaches one of those by making you build it and then break it.

  1. Module 01

    Make it yours

    Get a real pipeline running, and find out what a session actually is.

    graded — the session carries your handle, and the data reaches Kafka

  2. Module 02

    Add a channel

    Declare a parameter and emit it. A consumer you did not touch picks up its units.

    graded — a channel the lab does not ship appears, with units

  3. Module 03

    Fix the broken producer

    A variant produces jumpy traces. Nothing errors. Every value is correct. Find out why.

    graded — zero discontinuities across the session

  4. Module 04

    Write your first consumer

    Decode the stream yourself, in any language. The validator invents a new channel each run, so you cannot hardcode your way through.

    graded against what the producer recorded sending

How it runs

You work in your own repository

Take a copy of the lab from the template. It becomes a repository you own, with the validation bot already in it. Open a Codespace on it, or clone it and run locally if you would rather.

Each module asks for a change. Run lab check to grade it on your own machine in seconds, then lab submit to branch, push and open a pull request. The bot runs the whole pipeline again on a clean machine, comments with what it found, and on a pass advances you to the next module and merges.

lab check runs the identical code the bot runs, so a pass locally is a pass in CI. There is no reason to ever push a guess. lab submit then waits for the bot, prints what it found, and moves you onto the next module once it merges.

# once, when the Codespace opens
docker compose up -d --wait kafka stream-api key-generator

# for every module
lab explain   why this stage works the way it does
lab check     seconds, on your machine, nothing pushed
lab submit    push, wait for the verdict, move to the next module

Prerequisites

What you should already know

You need

  • Enough Python to edit a script
  • Enough command line to run docker compose up
  • A GitHub account

You do not need

  • Kafka experience
  • Motorsport knowledge. The car is simulated
  • Any hardware, or a licence for anything

Module 04 asks you to write a consumer in any language you like. A reference implementation in JavaScript is in the repository if you want to read one.

Beyond the exercises

Why each stage works

Every module has a lab explain topic behind it. There are eight, covering sessions, parameters, timestamps, packets, configuration, streams, the Stream API and consumers.

Each one shows the protobuf definitions, read from the repository's own .proto files, and ends with how to apply the idea to your own systems. The protocol details are checked against the Stream API and Protocol source. That includes the failures that report success, which are most of what costs people a day.

Questions

Everything else

What is the ATLAS Telemetry Lab?

A free course in real-time telemetry. You copy a repository, open it in a browser, and a Kafka broker, the ATLAS Stream API and a simulated race car start up. You change the code. A bot runs it against the pipeline and tells you what happened. Course 01 has four modules.

What is ATLAS Open Streaming?

The platform the course runs on, made by Motion Applied. A producer sends data over gRPC to the Stream API. The Stream API registers the session, holds the configuration that describes each channel, and writes to Apache Kafka. Consumers read from Kafka.

Do I need an ATLAS licence?

No. Everything course 01 runs is public on Docker Hub. ATLAS Viewer, the desktop application, is not used.

What does it cost?

Free. It runs in your own GitHub Codespace, which comes with 60 hours a month free. The course takes about one of them.

How long does course 01 take?

About an hour. The Codespace takes three or four minutes to build. Each module is one change to the code, and the bot takes about two minutes to grade a submission.

What do I need installed?

Nothing, in a Codespace. It comes with Docker, Python 3.12 and Node 22, and the container images are already pulled. On your own machine you need those three, then docker compose up.

How is my work marked?

A GitHub Actions workflow in your own repository runs the whole pipeline against your code and comments on your pull request. It checks what the code did, not how it is written. Solve a module a different way and it still passes.

Does my repository have to be public?

No. Either works. Public gives you unlimited Actions minutes and a link you can share.

Do I need to know anything about motorsport?

No. The car is simulated. It gives you realistic multi-rate data with laps and events in it, and what the course teaches applies to any telemetry.

Can I use a language other than Python or JavaScript?

Yes, from Module 04. The producer and the reference consumer are Python and JavaScript, but the wire format is protobuf over Kafka and the definitions ship in the repository. Module 04 compares what your consumer reports with what the producer sent, in any language.

Who made this, and why?

Motion Applied, the company behind ATLAS. Engineers who learn telemetry on a platform tend to use it again. The stack is free and public, and everything you write stays yours.