Monitoring .NET App Traces via OpenTelemetry & Zipkin Exporter

İhsan Deniz Yılmaz
7 min readAug 9, 2023

Requirements: Docker, .NET 7.0

While developing applications, monitoring them is also essential. To monitor metrics and traces, there are lots of open source solutions. And those solutions have their way of implementation to the application code.

With .NET 7.0, OpenTelemetry implementation got easier. Thanks to that, we can configure OpenTelemetry at bootstrap section and start collecting .NET metrics and application traces. But collecting traces is not enough. We also need to export those metrics and study them. So we need an exporter. OpenTelemetry has already implemented some of popular exporters as extensions. Selecting and configuring those exporters are up to you.

When a user says “The app is working slower”, you probably could not reply as “It works on my computer.” That’s why collecting traces to investigate them later is important. What services did that user’s request end up to? Which SQL queries has been initiated? How many milliseconds did pass? etc..

Open source tracing softwares are useful in those situations especially in distributed systems like microservices in cloud environments. Let’s see how we can add OpenTelemetry to our project. You can find the GitHub link to this project at the end of this article.

--

--

İhsan Deniz Yılmaz

System Resilience and Application Performance Engineer @Vakifbank-Teknoloji