Benchmarking Highly Distributed Tracing in OpenTelemetry

In recent years the two research fields around internet of things (IoT) devices as well as cloud native architectures and micro services have seen an increased amount of attention. In this paper we ask the question whether it is viable to combine these fields by using the tooling that was created for tracing in highly distributed systems to measure the performance and reliability of smart devices on the edge. Specifically, we want to identify the performance characteristics of existing tooling when deployed on commodity hardware. By measuring the maximum throughput of the OpenTelemetry Collector under different configurations, we want to evaluate its fitness for such highly distributed tracing. We found that even under high loads in the range of multiple thousands of requests per second, the collector can reliably sustain a high level of throughput with small latency when passing incoming data on. Especially when sampling only a fraction of all requests, a single collector deployed on commodity hardware is able to handle several thousand of clients simultaneously.

August 7, 2022 · Post · 26 min · leo

Building a lexer for lambda

Building a lexer for lambda, an interpreter for the untyped lambda calculus.

December 7, 2020 · Post · 6 min · leo

Building a Spotify scraper

Building a concurrent scraper for Spotify Charts in Go

October 31, 2020 · Post · 6 min · leo