<?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: Sarthak Ivare </title>
    <description>The latest articles on DEV Community by Sarthak Ivare  (@sarthak-ivare).</description>
    <link>https://dev.to/sarthak-ivare</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3968036%2F1f85ce26-e21e-4712-9d7c-5a145bc8f613.jpeg</url>
      <title>DEV Community: Sarthak Ivare </title>
      <link>https://dev.to/sarthak-ivare</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sarthak-ivare"/>
    <language>en</language>
    <item>
      <title>How I Got My First PR Merged into Grafana Loki as a CS Student</title>
      <dc:creator>Sarthak Ivare </dc:creator>
      <pubDate>Thu, 04 Jun 2026 11:21:41 +0000</pubDate>
      <link>https://dev.to/sarthak-ivare/how-i-got-my-first-pr-merged-into-grafana-loki-as-a-cs-student-52pk</link>
      <guid>https://dev.to/sarthak-ivare/how-i-got-my-first-pr-merged-into-grafana-loki-as-a-cs-student-52pk</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfa4pzs9nlajlk1hd8sr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfa4pzs9nlajlk1hd8sr.png" alt="Grafana loki PR #21673 Merged Screenshot" width="800" height="365"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0lsq7nb65yah9lh632mj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0lsq7nb65yah9lh632mj.png" alt="Jstickler review Comment Screenshot" width="800" height="318"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;By Sarthak Ivare&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Little About Me&lt;/strong&gt;&lt;br&gt;
I'm Sarthak Ivare, a 2nd-year Computer Science student from Pune, India passionate about DevOps — building CI/CD pipelines, containerizing applications, and setting up monitoring infrastructure. Outside college I spend most of my time working on real-world DevOps projects and contributing to open source.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How It All Started&lt;/strong&gt;&lt;br&gt;
It started with a project. I was building a monitoring stack using AWS EC2, Prometheus, and Grafana — the kind of hands-on work I genuinely enjoy. While studying Grafana deeply for that project, I discovered it was an open source project with a large active community. That curiosity led me to explore how open source contribution actually works.&lt;br&gt;
I had heard about it before but never done it. I had no idea how PRs worked in a real production repository or how maintainers communicated. So I decided to find out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My First Attempt — and the Advice That Changed My Approach&lt;/strong&gt;&lt;br&gt;
Before finding my first issue in Grafana Loki, I came across a code-related PR and jumped straight into commenting, thinking I could help. JStickler, the Loki docs maintainer, responded kindly but gave me advice I didn't expect:&lt;br&gt;
"As a beginner, you should start with good first issues — they'll help you understand the contribution process."&lt;br&gt;
That one comment reframed everything. Instead of trying to look impressive immediately, I went back to basics — filtered issues by good first issue label and started reading properly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finding the Right Issue&lt;/strong&gt;&lt;br&gt;
I found issue #19816 — the documentation around duration fields in Grafana Loki was ambiguous. The docs had a single generic description for  that didn't distinguish between Prometheus duration fields and Go native duration fields, which actually support different time units.&lt;br&gt;
Small docs fix. But real, needed, and something I understood. Before starting I commented on the issue asking if I could work on it. JStickler confirmed — go ahead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Mistake That Taught Me the Most&lt;/strong&gt;&lt;br&gt;
I forked the Loki repository, studied the codebase for a couple of days on Ubuntu, and made my changes. But I made a classic beginner mistake — I pushed directly to the main branch of my fork instead of creating a feature branch.&lt;br&gt;
JStickler caught it and pointed out something else I had missed — the file I edited had a clear note at line 6:&lt;br&gt;
"DO NOT EDIT THIS FILE — This file has been automatically generated from its .template, regenerate with make doc from root directory."&lt;br&gt;
She guided me to make edits in /docs/templates/configuration.template instead. Rather than closing my PR she helped me fix it.&lt;br&gt;
That moment taught me something no tutorial ever could — maintainers in good open source communities want you to succeed. They are not gatekeepers, they are guides.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Fix Itself&lt;/strong&gt;&lt;br&gt;
The change clarified the distinction between two duration field types in Grafana Loki:&lt;br&gt;
Prometheus duration fields — support: ms, s, m, h, d, w, y&lt;br&gt;
Go native duration fields — support: ns, us, µs, ms, s, m, h&lt;br&gt;
Two bullet points. But it removed real ambiguity that was confusing users configuring Loki.&lt;br&gt;
JStickler merged it on April 23 after 8 review conversations — the real back and forth of a production review process.&lt;br&gt;
What the 4-5 Days Actually Looked Like&lt;br&gt;
Day 1-3: Forked the repo, studied Loki's docs structure, read contribution guidelines&lt;br&gt;
Day 4: Found the issue, asked the maintainer, started making changes&lt;br&gt;
Day 5: Opened the PR — made the branch mistake and Fixed based on JStickler's feedback, addressed review comments&lt;br&gt;
Merged: April 23&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read the contribution guide before anything else. Every repo has one. It tells you exactly where to make changes and what maintainers expect.&lt;/li&gt;
&lt;li&gt;Ask before you start. A simple comment on the issue saves everyone time and signals you're serious.&lt;/li&gt;
&lt;li&gt;Mistakes are part of the process. My PR had multiple commits because I kept fixing things. That's completely normal.&lt;/li&gt;
&lt;li&gt;Small contributions are real contributions. A docs fix that helps thousands of users configure Loki correctly — that matters.&lt;/li&gt;
&lt;li&gt;Take advice from maintainers seriously. JStickler's "start with good first issues" comment changed my entire approach to open source.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What Happened Next&lt;/strong&gt;&lt;br&gt;
That first PR gave me the confidence to keep going. I continued contributing to Grafana Loki and also started contributing to Kubescape — a CNCF Kubernetes security tool — where I worked on CI/CD integration guides for Jenkins and GitLab among other contributions.&lt;br&gt;
Consistent small contributions compound into something real over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Students Reading This&lt;/strong&gt;&lt;br&gt;
If you're a CS student wanting to start open source:&lt;br&gt;
-Pick a tool you actually use — genuine interest shows&lt;br&gt;
-Start with documentation — lowest barrier, still genuinely valuable&lt;br&gt;
-Don't wait until you feel ready — you learn by doing&lt;br&gt;
-Take maintainer feedback seriously — it's gold&lt;br&gt;
-Find projects with kind maintainers — Grafana Loki has them&lt;br&gt;
Your first PR doesn't have to be impressive. It just has to be merged.&lt;/p&gt;




&lt;p&gt;Sarthak Ivare is a CS student from Pune, India focused on DevOps engineering. He contributes to Grafana Loki and CNCF Kubescape. Find him on GitHub at &lt;a href="https://github.com/ivaresarthak-cloud" rel="noopener noreferrer"&gt;https://github.com/ivaresarthak-cloud&lt;/a&gt; and connect on Linkedin at &lt;a href="https://www.linkedin.com/in/sarthak-ivare-94b25b3a3" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/sarthak-ivare-94b25b3a3&lt;/a&gt;&lt;/p&gt;

</description>
      <category>grafana</category>
      <category>opensource</category>
      <category>devops</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
