<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Max</title>
    <description>The latest articles on DEV Community by Max (@max_19).</description>
    <link>https://dev.to/max_19</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3879874%2F66171fc3-cf7a-4a92-9798-22b9f42fe78a.png</url>
      <title>DEV Community: Max</title>
      <link>https://dev.to/max_19</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/max_19"/>
    <language>en</language>
    <item>
      <title>Why Does Debugging One OpenTelemetry Trace Feel So Complicated?</title>
      <dc:creator>Max</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:36:42 +0000</pubDate>
      <link>https://dev.to/max_19/why-does-debugging-one-opentelemetry-trace-feel-so-complicated-24h7</link>
      <guid>https://dev.to/max_19/why-does-debugging-one-opentelemetry-trace-feel-so-complicated-24h7</guid>
      <description>&lt;h1&gt;
  
  
  Why Does Debugging One OpenTelemetry Trace Feel So Complicated?
&lt;/h1&gt;

&lt;p&gt;When working with OpenTelemetry, one thing always bothered me during local development.&lt;/p&gt;

&lt;p&gt;I would make a small change, run the application, generate a request, and then realize I needed to start additional infrastructure just to inspect a trace.&lt;/p&gt;

&lt;p&gt;A typical local setup often looked like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Application
    │
    ▼
OpenTelemetry SDK
    │
    ▼
OpenTelemetry Collector
    │
    ▼
Jaeger / Zipkin / Grafana / Vendor Backend
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There is absolutely nothing wrong with this architecture. It's designed for production observability and scales well.&lt;/p&gt;

&lt;p&gt;But for local development, I usually wasn't trying to monitor an entire distributed system.&lt;/p&gt;

&lt;p&gt;I simply wanted answers to questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Did my span get created?&lt;/li&gt;
&lt;li&gt;Why is this request slow?&lt;/li&gt;
&lt;li&gt;Which service made this database call?&lt;/li&gt;
&lt;li&gt;What logs belong to this trace?&lt;/li&gt;
&lt;li&gt;Why didn't this metric get exported?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Starting multiple services just to answer those questions felt like unnecessary friction.&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea
&lt;/h2&gt;

&lt;p&gt;That led me to build &lt;strong&gt;OpenTelemetry for VS Code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of sending telemetry to an external backend, the extension embeds an &lt;strong&gt;OTLP receiver directly inside VS Code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Applications can export telemetry directly to the editor, where it can be inspected immediately.&lt;/p&gt;

&lt;p&gt;No Jaeger.&lt;/p&gt;

&lt;p&gt;No Zipkin.&lt;/p&gt;

&lt;p&gt;No OpenTelemetry Collector.&lt;/p&gt;

&lt;p&gt;No Docker containers.&lt;/p&gt;

&lt;p&gt;Just start the receiver, run your application, and begin debugging.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the extension can do
&lt;/h2&gt;

&lt;p&gt;The extension currently provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Embedded OTLP receiver supporting both gRPC and HTTP&lt;/li&gt;
&lt;li&gt;Log viewer with filtering and search&lt;/li&gt;
&lt;li&gt;Navigate directly from logs to source code&lt;/li&gt;
&lt;li&gt;Distributed trace viewer with waterfall visualization&lt;/li&gt;
&lt;li&gt;Metrics explorer&lt;/li&gt;
&lt;li&gt;Service dependency map&lt;/li&gt;
&lt;li&gt;Automatic OTLP endpoint injection for applications launched from VS Code&lt;/li&gt;
&lt;li&gt;Instrumentation snippets for Java, .NET, Go, Node.js, Python, Rust, and other OTLP-compatible SDKs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also works well with &lt;strong&gt;.NET Aspire&lt;/strong&gt;, allowing Aspire applications to export telemetry directly into VS Code for local debugging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why keep everything inside the editor?
&lt;/h2&gt;

&lt;p&gt;One of the biggest advantages is context.&lt;/p&gt;

&lt;p&gt;Instead of constantly switching between your IDE, browser, dashboards, and terminals, everything is available in one place.&lt;/p&gt;

&lt;p&gt;A typical workflow becomes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start debugging.&lt;/li&gt;
&lt;li&gt;Generate a request.&lt;/li&gt;
&lt;li&gt;Open the trace waterfall.&lt;/li&gt;
&lt;li&gt;Find the slow or failing span.&lt;/li&gt;
&lt;li&gt;Inspect related logs.&lt;/li&gt;
&lt;li&gt;Jump directly to the source code.&lt;/li&gt;
&lt;li&gt;Fix the issue.&lt;/li&gt;
&lt;li&gt;Run again.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Keeping the feedback loop inside the editor makes local debugging much faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  This isn't a replacement for production observability
&lt;/h2&gt;

&lt;p&gt;Production platforms like Jaeger, Grafana, Tempo, Azure Monitor, and others solve a very different problem.&lt;/p&gt;

&lt;p&gt;They provide long-term storage, distributed analysis, alerting, dashboards, and team collaboration.&lt;/p&gt;

&lt;p&gt;This extension focuses on a different use case:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Making local development and debugging as simple as possible.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;I'm currently exploring features such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Persistent storage&lt;/li&gt;
&lt;li&gt;Live telemetry streaming&lt;/li&gt;
&lt;li&gt;Metric charts&lt;/li&gt;
&lt;li&gt;More advanced search and filtering&lt;/li&gt;
&lt;li&gt;Richer service-map analytics&lt;/li&gt;
&lt;li&gt;Trace comparison&lt;/li&gt;
&lt;li&gt;Exporting collected telemetry&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm also interested in hearing what the community would find most useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  I'd love your feedback
&lt;/h2&gt;

&lt;p&gt;If you're using OpenTelemetry—or especially if you're working with &lt;strong&gt;.NET Aspire&lt;/strong&gt;—I'd love to know how you currently debug telemetry during development.&lt;/p&gt;

&lt;p&gt;Does your workflow involve a Collector and Jaeger?&lt;/p&gt;

&lt;p&gt;Do you use the Aspire dashboard?&lt;/p&gt;

&lt;p&gt;Would an IDE-native experience fit into your daily workflow?&lt;/p&gt;

&lt;p&gt;The project is open source, and feedback, issues, and contributions are always welcome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/sukanta1991/opentelemetry" rel="noopener noreferrer"&gt;https://github.com/sukanta1991/opentelemetry&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VS Code Marketplace:&lt;/strong&gt; &lt;a href="https://marketplace.visualstudio.com/items?itemName=SukantaSaha.opentelemetry" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=SukantaSaha.opentelemetry&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opentelemetry</category>
      <category>vscode</category>
      <category>observability</category>
      <category>programming</category>
    </item>
    <item>
      <title>I built a VS Code extension to avoid messy Git merges (MergeGuard)</title>
      <dc:creator>Max</dc:creator>
      <pubDate>Wed, 15 Apr 2026 06:49:03 +0000</pubDate>
      <link>https://dev.to/max_19/i-built-a-vs-code-extension-to-avoid-messy-git-merges-mergeguard-1pia</link>
      <guid>https://dev.to/max_19/i-built-a-vs-code-extension-to-avoid-messy-git-merges-mergeguard-1pia</guid>
      <description>&lt;p&gt;If you’ve worked with Git long enough, you’ve probably had &lt;em&gt;that&lt;/em&gt; moment.&lt;/p&gt;

&lt;p&gt;You pull the latest changes, try to merge, and suddenly your editor is full of conflict markers. Files you didn’t even touch are now broken, and you’re left figuring out what went wrong.&lt;/p&gt;

&lt;p&gt;I’ve been there more times than I’d like to admit.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Most merge conflicts don’t actually come out of nowhere.&lt;br&gt;
They happen because multiple people are working on the same parts of the codebase—but we usually don’t realize it &lt;em&gt;until it’s too late&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;By the time Git tells you there’s a conflict, you’re already in damage control mode.&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea
&lt;/h2&gt;

&lt;p&gt;I started wondering:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if I could know &lt;em&gt;before&lt;/em&gt; merging that something is likely to break?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s what led me to build &lt;strong&gt;MergeGuard&lt;/strong&gt; — a small extension for Visual Studio Code that tries to surface potential merge risks earlier in your workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  What MergeGuard does
&lt;/h2&gt;

&lt;p&gt;The goal isn’t to replace Git or do anything magical.&lt;br&gt;
It simply gives you a heads-up when something looks risky.&lt;/p&gt;

&lt;p&gt;Some things it focuses on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highlighting areas that are likely to cause conflicts&lt;/li&gt;
&lt;li&gt;Helping you notice overlapping changes early&lt;/li&gt;
&lt;li&gt;Encouraging cleaner, more predictable merges&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s meant to be lightweight and stay out of your way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built it
&lt;/h2&gt;

&lt;p&gt;Honestly, this came from frustration.&lt;/p&gt;

&lt;p&gt;I didn’t want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Waste time resolving avoidable conflicts&lt;/li&gt;
&lt;li&gt;Break working code during merges&lt;/li&gt;
&lt;li&gt;Or feel uncertain every time I pulled changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was my attempt to make that experience a bit smoother.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it out
&lt;/h2&gt;

&lt;p&gt;If this sounds useful, you can check it out here:&lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=SukantaSaha.mergeguard" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=SukantaSaha.mergeguard&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  I’d love your feedback
&lt;/h2&gt;

&lt;p&gt;This is still early, and I’m sure there’s a lot of room to improve.&lt;/p&gt;

&lt;p&gt;If you try it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Let me know what feels useful&lt;/li&gt;
&lt;li&gt;What’s annoying&lt;/li&gt;
&lt;li&gt;Or what you wish it did instead&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even small suggestions would help shape where this goes next 🙌&lt;/p&gt;




&lt;p&gt;Thanks for reading!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>git</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
