<?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>Stop Spinning Up Jaeger Containers: Debug OTEL Logs, Traces and Metrics Right Inside VS Code</title>
      <dc:creator>Max</dc:creator>
      <pubDate>Sun, 20 Sep 2026 07:56:06 +0000</pubDate>
      <link>https://dev.to/max_19/stop-spinning-up-jaeger-containers-debug-otel-logs-traces-and-metrics-right-inside-vs-code-210j</link>
      <guid>https://dev.to/max_19/stop-spinning-up-jaeger-containers-debug-otel-logs-traces-and-metrics-right-inside-vs-code-210j</guid>
      <description>&lt;p&gt;Your laptop is running your application, database, Redis, Kafka, OpenTelemetry Collector, Jaeger, Prometheus and Grafana.&lt;/p&gt;

&lt;p&gt;You changed one line of code.&lt;/p&gt;

&lt;p&gt;All you wanted was to see the trace.&lt;/p&gt;

&lt;p&gt;Why are you running half an observability platform on your laptop?&lt;/p&gt;

&lt;p&gt;For local development, OpenTelemetry debugging can be much simpler.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=SukantaSaha.opentelemetry" rel="noopener noreferrer"&gt;OpenTelemetry for VS Code&lt;/a&gt; puts an OTLP receiver directly inside VS Code, so your application can send &lt;strong&gt;logs, traces and metrics straight to the editor&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;No Jaeger container. No Zipkin. No OpenTelemetry Collector required.&lt;/p&gt;

&lt;h2&gt;
  
  
  The old local-development workflow
&lt;/h2&gt;

&lt;p&gt;A typical setup can look 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
    │
    ├── OTLP
    ▼
OpenTelemetry Collector
    │
    ├── Jaeger
    ├── Prometheus
    └── other tooling
             │
             ▼
        Browser dashboards
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It works.&lt;/p&gt;

&lt;p&gt;But for a developer who simply wants to answer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why did this request fail?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;it's a lot of infrastructure.&lt;/p&gt;

&lt;p&gt;You now have containers to start, ports to remember, dashboards to open, and resources consuming your laptop.&lt;/p&gt;

&lt;h2&gt;
  
  
  The simpler workflow
&lt;/h2&gt;

&lt;p&gt;With OpenTelemetry for VS Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Application
     │
     │ OTLP
     ▼
┌──────────────────────────┐
│          VS Code         │
│                          │
│  Logs                    │
│  Traces                  │
│  Metrics                 │
│  Service Map             │
└──────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The extension runs an embedded OTLP receiver supporting &lt;strong&gt;gRPC on 4317 and HTTP on 4318&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It can receive telemetry from applications launched inside VS Code or applications running completely outside it.&lt;/p&gt;

&lt;p&gt;And because you're already in VS Code, your telemetry is sitting next to your code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install it
&lt;/h2&gt;

&lt;p&gt;Install &lt;strong&gt;OpenTelemetry for VS Code&lt;/strong&gt; from the Marketplace:&lt;/p&gt;

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

&lt;p&gt;Or from the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;code &lt;span class="nt"&gt;--install-extension&lt;/span&gt; SukantaSaha.opentelemetry
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open the &lt;strong&gt;OpenTelemetry&lt;/strong&gt; view in VS Code and click &lt;strong&gt;Start receiver&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The extension shows the active OTLP endpoints.&lt;/p&gt;

&lt;h2&gt;
  
  
  Point your application at it
&lt;/h2&gt;

&lt;p&gt;For an OTLP/gRPC exporter, for example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;OTEL_EXPORTER_OTLP_ENDPOINT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"http://127.0.0.1:4317"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;OTEL_EXPORTER_OTLP_PROTOCOL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"grpc"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For applications launched from VS Code, the extension can automatically inject the OTLP endpoint into the launch/debug environment.&lt;/p&gt;

&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;Start your application, generate some traffic, and telemetry starts appearing in VS Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now debug the actual problem
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Start with traces
&lt;/h3&gt;

&lt;p&gt;Suppose an API request is failing.&lt;/p&gt;

&lt;p&gt;Open &lt;strong&gt;Traces&lt;/strong&gt;, filter for errors, select the failed trace and examine the span waterfall.&lt;/p&gt;

&lt;p&gt;You can quickly see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HTTP request
   │
   ├── authentication
   │
   ├── database query       18ms
   │
   ├── payment service      742ms  ← suspicious
   │
   └── response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No need to switch to a separate tracing UI.&lt;/p&gt;

&lt;p&gt;The extension supports trace filtering and distributed spans are merged by trace ID.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Jump from logs to code
&lt;/h3&gt;

&lt;p&gt;Now open &lt;strong&gt;Logs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Search or filter the telemetry, inspect the relevant record and use &lt;strong&gt;Navigate To Code&lt;/strong&gt; when source-location information is available.&lt;/p&gt;

&lt;p&gt;That turns:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"I found an error."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;into:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"I found the error and I'm looking at the source line."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Logs view also supports filtering, sorting, selectable columns and exporting data as OTLP/JSON, JSON or CSV.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Check metrics
&lt;/h3&gt;

&lt;p&gt;Then switch to &lt;strong&gt;Metrics&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can inspect gauges, counters/sums and histograms, with graphing and time-series controls available directly in the extension.&lt;/p&gt;

&lt;p&gt;So your debugging loop becomes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Logs
  ↓
Trace
  ↓
Metrics
  ↓
Source code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;without leaving VS Code.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Understand dependencies
&lt;/h3&gt;

&lt;p&gt;For distributed applications, open the &lt;strong&gt;Service Map&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It can infer services, databases, queues and external dependencies from spans.&lt;/p&gt;

&lt;p&gt;That gives you a quick picture of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;API
 ├── PostgreSQL
 ├── Redis
 ├── Payment Service
 └── Kafka
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;again without spinning up another dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  But what about RAM?
&lt;/h2&gt;

&lt;p&gt;This is where the difference becomes interesting.&lt;/p&gt;

&lt;p&gt;The extension itself is lightweight — &lt;strong&gt;around 5 MB in the measurement used for this example&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A Docker-based local observability setup can be considerably larger.&lt;/p&gt;

&lt;p&gt;As an &lt;strong&gt;illustrative estimate&lt;/strong&gt;, a small development stack might look something like:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setup&lt;/th&gt;
&lt;th&gt;Approx. additional memory&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;VS Code OpenTelemetry extension&lt;/td&gt;
&lt;td&gt;~5 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jaeger container&lt;/td&gt;
&lt;td&gt;~100–300 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenTelemetry Collector&lt;/td&gt;
&lt;td&gt;~50–150 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prometheus&lt;/td&gt;
&lt;td&gt;~100–300+ MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grafana&lt;/td&gt;
&lt;td&gt;~100–300 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Typical multi-container stack&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~350–1,000+ MB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; These Docker numbers are illustrative ranges, not benchmark measurements. Actual memory usage depends heavily on versions, configuration, telemetry volume, retention and workload.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The important point isn't whether your particular Jaeger container uses 150 MB or 250 MB.&lt;/p&gt;

&lt;p&gt;It's this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Do I really need hundreds of MB of
observability infrastructure...

...to inspect a trace generated
by the application I'm debugging?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For many local debugging scenarios, the answer can be &lt;strong&gt;no&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And you can verify it yourself.&lt;/p&gt;

&lt;p&gt;Run your normal Docker observability stack and check:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker stats
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then stop it, run the same workload with the VS Code extension, and compare your system's total memory usage.&lt;/p&gt;

&lt;p&gt;Your laptop gets to be the benchmark.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's not trying to replace your production observability platform
&lt;/h2&gt;

&lt;p&gt;This distinction matters.&lt;/p&gt;

&lt;p&gt;Jaeger, Prometheus, Grafana and OpenTelemetry Collector still have important roles in production and team environments.&lt;/p&gt;

&lt;p&gt;You may need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Persistent telemetry storage&lt;/li&gt;
&lt;li&gt;Long-term retention&lt;/li&gt;
&lt;li&gt;Production-scale ingestion&lt;/li&gt;
&lt;li&gt;Team-wide access&lt;/li&gt;
&lt;li&gt;Advanced dashboards&lt;/li&gt;
&lt;li&gt;Alerting&lt;/li&gt;
&lt;li&gt;Centralized observability&lt;/li&gt;
&lt;li&gt;Multi-user security and access control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This extension is solving a different problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Local developer observability.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When you're writing code and need to inspect the telemetry your application is producing, you may not need an entire observability stack running beside it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fewer containers. Fewer tabs. Faster debugging.
&lt;/h2&gt;

&lt;p&gt;The traditional workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write code
   ↓
Start application
   ↓
Start containers
   ↓
Open Jaeger
   ↓
Find trace
   ↓
Switch back to VS Code
   ↓
Fix code
   ↓
Repeat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The VS Code workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write code
   ↓
Start application
   ↓
Inspect telemetry
   ↓
Fix code
   ↓
Repeat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Logs. Traces. Metrics. Service relationships. Source code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All in the same place.&lt;/p&gt;

&lt;p&gt;And your laptop doesn't have to run an observability stack just because you wanted to inspect one request.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give it a try
&lt;/h2&gt;

&lt;p&gt;Install &lt;strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=SukantaSaha.opentelemetry" rel="noopener noreferrer"&gt;OpenTelemetry for VS Code&lt;/a&gt;&lt;/strong&gt;, point your existing OTLP instrumentation at the local receiver, generate some traffic and start debugging.&lt;/p&gt;

&lt;p&gt;If your current local workflow looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;App + Docker + Collector + Jaeger + Prometheus + Grafana
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;try:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;App + VS Code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and see how much infrastructure you can remove from your local development loop.&lt;/p&gt;

</description>
      <category>opentelemetry</category>
      <category>observability</category>
      <category>vscode</category>
      <category>devto</category>
    </item>
    <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>
