Everything you need to know about CollectorGame
CollectorGame is a gamified tutorial for the OpenTelemetry Collector. Each challenge presents sample telemetry data and asks you to write a YAML configuration that transforms it — redacting PII, filtering debug noise, extracting structured fields, and more. The app grades your config against the expected output.
Every challenge shows you sample log lines and a code editor pre-filled with a starter YAML config. You edit the config, hit "Validate Configuration", and the app checks your config against the expected solution. If correct, you earn points and build your streak.
When you submit a config, the app parses your YAML and checks it against the expected structure — processors, receivers, exporters, extensions, connectors, and pipeline wiring. If a collector binary is available locally, it also runs your config against a real OpenTelemetry Collector to compare output bodies.
Challenges are grouped into four tiers: Starter (1), Easy (37), Medium (69), and Hard (25). Difficulty is determined by a rubric across four dimensions: number of concepts required, OTTL complexity, number of config sections, and number of steps in the solution.
Progression is tier-based. The Starter challenge is always unlocked. Complete the Starter to unlock Easy. Complete all 37 Easy challenges to unlock Medium. Complete all 69 Medium to unlock Hard.
Each challenge has a base point value based on its difficulty tier:
Using a hint costs 10 points (floor at 25% of base). Answer correctly and you build a streak — after 3 consecutive correct answers you earn a 25% bonus, increasing up to 100% at 6+. Wrong answers reset your streak to zero.
Your player level equals the number of challenges you've completed. Starting at Level 0, you gain one level per challenge solved. This is a simple measure of your progress through the game.
Earn achievements for hitting milestones:
Each challenge has progressive hints. Revealing a hint costs 10 points from your total score. Hints mention the processor to use, the OTTL function, or the specific syntax needed.
Sound effects are synthesized in-browser using the Web Audio API. Toggle sound on/off using the speaker button in the score bar.