Nadir Kadem Martin Fejoz Benjamin Fernandes One of our colleagues, Christian, is participating in a tremendous 6-day-run challenge. Yes, you read that right, he will run around 850km (528 miles) over 6 days. As we like to graph everything, we thought it would be fun to cheer him…
Datadog engineers developed a real-time tracking dashboard to monitor a colleague’s progress during an 850km, six-day ultra-marathon challenge. By scraping public race statistics and piping the data into their monitoring platform, the team created a centralized visualization tool to provide remote support and office-wide engagement.
### Data Extraction and Parsing
The team needed to harvest race data that was only available as plain HTML on the event’s official website.
* A crawler was built using the Python `Requests` library to automate the retrieval of the webpage's source code.
* The team utilized `BeautifulSoup` to parse the HTML and isolate specific data points, such as the runner's current ranking and total distance covered.
### Ingesting Metrics with StatsD
Once the data was structured, it was converted into telemetry using the Datadog agent and the `statsd` Python library.
* The script utilized `dog.gauge` to emit three primary metrics: `runner.distance`, `runner.ranking`, and `runner.elapsed_time`.
* Each metric was assigned a "name" tag corresponding to the runner, allowing the team to filter data and compare participants within the Datadog interface.
* The data was updated periodically to ensure the dashboard reflected the most current race standings.
### Dashboard Visualization and Results
The final phase involved synthesizing the metrics into a high-visibility dashboard displayed in the company’s New York and Paris offices.
* The dashboard combined technical performance graphs with multimedia elements, including live video feeds and GIFs, to create an interactive cheering station.
* The system successfully tracked the athlete's 47km lead in real-time, providing the team with immediate updates on his physical progress and elapsed time over the 144-hour event.
This project demonstrates how standard observability tools can be repurposed for creative "life-graphing" applications. By combining simple web scraping with metric ingestion, engineers can quickly build custom monitoring solutions for any public data source.