<?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: Ram Kumar</title>
    <description>The latest articles on DEV Community by Ram Kumar (@ramkumar0096).</description>
    <link>https://dev.to/ramkumar0096</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%2F4035041%2Ff8361373-fddb-4e69-a24c-aca14607dd29.png</url>
      <title>DEV Community: Ram Kumar</title>
      <link>https://dev.to/ramkumar0096</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ramkumar0096"/>
    <language>en</language>
    <item>
      <title>Instrumenting My MERN E-Commerce Application with SigNoz: From Zero to Full Observability</title>
      <dc:creator>Ram Kumar</dc:creator>
      <pubDate>Sun, 26 Jul 2026 18:20:23 +0000</pubDate>
      <link>https://dev.to/ramkumar0096/instrumenting-my-mern-e-commerce-application-with-signoz-from-zero-to-full-observability-4ann</link>
      <guid>https://dev.to/ramkumar0096/instrumenting-my-mern-e-commerce-application-with-signoz-from-zero-to-full-observability-4ann</guid>
      <description>&lt;p&gt;Modern applications don't just need features—they need &lt;strong&gt;observability&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When an API becomes slow, a database query takes too long, or an unexpected error occurs, developers need answers quickly. That's where &lt;strong&gt;SigNoz&lt;/strong&gt; and &lt;strong&gt;OpenTelemetry&lt;/strong&gt; come in.&lt;/p&gt;

&lt;p&gt;For the &lt;strong&gt;Agents of SigNoz Hackathon 2026&lt;/strong&gt;, I integrated &lt;strong&gt;SigNoz&lt;/strong&gt; into my existing MERN Stack e-commerce application called &lt;strong&gt;Ram Store&lt;/strong&gt; and transformed it into a fully observable application.&lt;/p&gt;

&lt;p&gt;In this blog, I'll walk through what I built, how I instrumented it, the challenges I faced, and what I learned.&lt;/p&gt;




&lt;h2&gt;
  
  
  About the Project
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ram Store&lt;/strong&gt; is a full-stack e-commerce platform built using the MERN Stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;User Authentication&lt;/li&gt;
&lt;li&gt;Product Management&lt;/li&gt;
&lt;li&gt;Categories &amp;amp; Subcategories&lt;/li&gt;
&lt;li&gt;Shopping Cart&lt;/li&gt;
&lt;li&gt;Address Management&lt;/li&gt;
&lt;li&gt;Order Management&lt;/li&gt;
&lt;li&gt;MongoDB Database&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React (Vite)&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express.js&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;li&gt;OpenTelemetry&lt;/li&gt;
&lt;li&gt;SigNoz&lt;/li&gt;
&lt;li&gt;Winston Logger&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Observability?
&lt;/h2&gt;

&lt;p&gt;Before integrating SigNoz, I could only rely on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;console.log()&lt;/li&gt;
&lt;li&gt;Manual debugging&lt;/li&gt;
&lt;li&gt;Browser Network tab&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When something failed, I had questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which API is slow?&lt;/li&gt;
&lt;li&gt;Why is the response delayed?&lt;/li&gt;
&lt;li&gt;Which MongoDB query is taking time?&lt;/li&gt;
&lt;li&gt;How many requests is my backend serving?&lt;/li&gt;
&lt;li&gt;Where exactly did the error happen?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without observability, finding answers takes time.&lt;/p&gt;

&lt;p&gt;I wanted a single place where I could monitor everything.&lt;/p&gt;

&lt;p&gt;That's why I chose &lt;strong&gt;SigNoz&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Setting Up SigNoz
&lt;/h2&gt;

&lt;p&gt;I self-hosted SigNoz locally using Docker.&lt;/p&gt;

&lt;p&gt;Once all the containers were running successfully, the dashboard became available.&lt;/p&gt;

&lt;p&gt;After the initial setup, the next step was instrumenting my backend.&lt;/p&gt;




&lt;h2&gt;
  
  
  Integrating OpenTelemetry
&lt;/h2&gt;

&lt;p&gt;I added OpenTelemetry to my Node.js backend.&lt;/p&gt;

&lt;p&gt;Using the Node SDK together with automatic instrumentation, I configured:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Express instrumentation&lt;/li&gt;
&lt;li&gt;HTTP instrumentation&lt;/li&gt;
&lt;li&gt;MongoDB instrumentation&lt;/li&gt;
&lt;li&gt;OTLP gRPC exporter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now every request automatically generates telemetry without modifying every route.&lt;/p&gt;




&lt;h2&gt;
  
  
  Distributed Traces
&lt;/h2&gt;

&lt;p&gt;One of my favorite features is &lt;strong&gt;Distributed Tracing&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Whenever I perform an action in Ram Store—like opening products or adding items to the cart—SigNoz automatically captures a trace.&lt;/p&gt;

&lt;p&gt;Each trace includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Request Duration&lt;/li&gt;
&lt;li&gt;API Execution&lt;/li&gt;
&lt;li&gt;Database Operations&lt;/li&gt;
&lt;li&gt;HTTP Calls&lt;/li&gt;
&lt;li&gt;Complete Request Lifecycle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of guessing where performance issues exist, I can now see the complete execution path.&lt;/p&gt;




&lt;h2&gt;
  
  
  Metrics
&lt;/h2&gt;

&lt;p&gt;SigNoz also collects runtime metrics automatically.&lt;/p&gt;

&lt;p&gt;Some of the metrics I monitored include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API Request Count&lt;/li&gt;
&lt;li&gt;HTTP Request Duration&lt;/li&gt;
&lt;li&gt;Throughput&lt;/li&gt;
&lt;li&gt;Memory Usage&lt;/li&gt;
&lt;li&gt;Garbage Collection&lt;/li&gt;
&lt;li&gt;Node.js Runtime Metrics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also created custom application metrics to monitor request activity.&lt;/p&gt;

&lt;p&gt;Watching these update in real time was a great learning experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  Structured Logging
&lt;/h2&gt;

&lt;p&gt;Observability isn't complete without logs.&lt;/p&gt;

&lt;p&gt;I integrated &lt;strong&gt;Winston Logger&lt;/strong&gt; into my backend.&lt;/p&gt;

&lt;p&gt;Instead of relying on console.log(), my application now produces structured logs for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server Startup&lt;/li&gt;
&lt;li&gt;API Requests&lt;/li&gt;
&lt;li&gt;Errors&lt;/li&gt;
&lt;li&gt;Important Business Events&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These logs can be searched and correlated with traces inside SigNoz.&lt;/p&gt;




&lt;h2&gt;
  
  
  Service Overview
&lt;/h2&gt;

&lt;p&gt;SigNoz provides a dedicated Service page where I can monitor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Request Rate&lt;/li&gt;
&lt;li&gt;Latency&lt;/li&gt;
&lt;li&gt;Error Rate&lt;/li&gt;
&lt;li&gt;Response Time&lt;/li&gt;
&lt;li&gt;Overall Service Health&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gives a quick overview of how my backend is performing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Challenges I Faced
&lt;/h2&gt;

&lt;p&gt;This project taught me much more than simply installing a monitoring tool.&lt;/p&gt;

&lt;p&gt;Some challenges included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installing SigNoz locally with Docker&lt;/li&gt;
&lt;li&gt;Configuring OpenTelemetry&lt;/li&gt;
&lt;li&gt;Exporting traces correctly&lt;/li&gt;
&lt;li&gt;Forwarding telemetry&lt;/li&gt;
&lt;li&gt;Understanding auto instrumentation&lt;/li&gt;
&lt;li&gt;Integrating structured logging&lt;/li&gt;
&lt;li&gt;Troubleshooting Docker networking issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each challenge helped me understand how production observability works.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Before this hackathon, I had almost no practical experience with observability.&lt;/p&gt;

&lt;p&gt;Now I understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Distributed Tracing&lt;/li&gt;
&lt;li&gt;Metrics Collection&lt;/li&gt;
&lt;li&gt;Structured Logging&lt;/li&gt;
&lt;li&gt;OpenTelemetry&lt;/li&gt;
&lt;li&gt;Production Monitoring&lt;/li&gt;
&lt;li&gt;Service Health Monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project gave me hands-on experience with tools used in real production environments.&lt;/p&gt;




&lt;h2&gt;
  
  
  Future Improvements
&lt;/h2&gt;

&lt;p&gt;I plan to continue improving this project by adding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Custom Dashboards&lt;/li&gt;
&lt;li&gt;Alert Rules&lt;/li&gt;
&lt;li&gt;Business Metrics&lt;/li&gt;
&lt;li&gt;Error Monitoring&lt;/li&gt;
&lt;li&gt;Performance Optimization&lt;/li&gt;
&lt;li&gt;AI-powered Observability&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why I Recommend SigNoz
&lt;/h2&gt;

&lt;p&gt;What impressed me most about SigNoz is that it brings everything together.&lt;/p&gt;

&lt;p&gt;Instead of using different tools for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Logs&lt;/li&gt;
&lt;li&gt;Metrics&lt;/li&gt;
&lt;li&gt;Traces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything is available in one platform.&lt;/p&gt;

&lt;p&gt;That makes debugging much easier and faster.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Participating in the &lt;strong&gt;Agents of SigNoz Hackathon 2026&lt;/strong&gt; was an amazing learning experience.&lt;/p&gt;

&lt;p&gt;By instrumenting my existing MERN application with OpenTelemetry and SigNoz, I transformed it into an observable application capable of monitoring every request, every metric, and every important event.&lt;/p&gt;

&lt;p&gt;This project also helped me understand how modern production systems are monitored and why observability is essential for every developer.&lt;/p&gt;

&lt;p&gt;A big thank you to &lt;strong&gt;SigNoz&lt;/strong&gt; and &lt;strong&gt;WeMakeDevs&lt;/strong&gt; for organizing this hackathon and encouraging developers to learn production-grade observability.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Project Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;em&gt;&lt;a href="https://github.com/RAMKUMAR0096/agents-of-signoz-hackathon" rel="noopener noreferrer"&gt;https://github.com/RAMKUMAR0096/agents-of-signoz-hackathon&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo Video:&lt;/strong&gt; &lt;em&gt;&lt;a href="https://youtu.be/aN7EexyDEu8?si=UgTLd0zu-vvhYJD4" rel="noopener noreferrer"&gt;https://youtu.be/aN7EexyDEu8?si=UgTLd0zu-vvhYJD4&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




</description>
      <category>signoz</category>
      <category>opentelemetry</category>
      <category>observability</category>
      <category>node</category>
    </item>
  </channel>
</rss>
