<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Observability on Akshay Deshpande</title>
    <link>https://akshayd-dev.pages.dev/categories/observability/</link>
    <description>Recent content in Observability on Akshay Deshpande</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 30 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://akshayd-dev.pages.dev/categories/observability/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Metrics Types - When to use what ?</title>
      <link>https://akshayd-dev.pages.dev/posts/metrics-types-when-to-use-what/</link>
      <pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/metrics-types-when-to-use-what/</guid>
      <description>&lt;p&gt;This writeup talks about different metric type that an application can emit as telemetry. It intends to cover the case of when to use which metric types and the usecase for them.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://akshayd-dev.pages.dev/posts/metrics-types-when-to-use-what/images/image.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Metrics is one of the oldest forms of telemetry. There are many APM solutions, whose billing model runs on the number of metrics you send to them. But it is often not clear to app devs on what kind of metrics to emit from applications. Infact, the types of metrics can be confusing sometimes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prometheus: Static/Dynamic scraping on EKS</title>
      <link>https://akshayd-dev.pages.dev/posts/prometheus-static-dynamic-scraping-on-eks/</link>
      <pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/prometheus-static-dynamic-scraping-on-eks/</guid>
      <description>&lt;p&gt;This note is a mental model for &lt;strong&gt;how Prometheus discovers and scrapes metrics in Kubernetes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The lens I want to keep throughout is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Where will the scrape config file sit?&lt;/strong&gt;&lt;br&gt;
(Prometheus repo vs application repo)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;In which namespace will the serviceMonitor sit?&lt;/strong&gt;&lt;br&gt;
(and how Prometheus finds it)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At a high level there are two ways to tell Prometheus about a &lt;code&gt;/metrics&lt;/code&gt; endpoint:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Static via&lt;/strong&gt; in the Prometheus config file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Dynamic via&lt;/strong&gt; (CRD from Prometheus Operator) with label‑based discovery.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kubecon India : 2025</title>
      <link>https://akshayd-dev.pages.dev/posts/kubecon-india-2025/</link>
      <pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/kubecon-india-2025/</guid>
      <description>&lt;p&gt;I attended Kubecon India 2025 held in Hyderabad this year. I mainly focused and attended talks related to Observability and Scalable designs.&lt;/p&gt;
&lt;p&gt;Now that the sessions are uploaded to Youtube, linking the ones which I really enjoyed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Observability at Scale With Monitoring as Code: Grafana, Prometheus, &amp;amp; Tempo - Vipin GopalaKrishnapillai &amp;amp; Saiabhinay Bommakanti, Amway Global - &lt;a href=&#34;https://www.youtube.com/watch?v=3nHnGjTmgNk&amp;amp;list=PLj6h78yzYM2MEQTMX_LIOK1hrePHxLD6U&#34;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Predictable auto scaling with keda - &lt;a href=&#34;https://www.youtube.com/watch?v=VQNo4c1cHDc&amp;amp;list=PLj6h78yzYM2MEQTMX_LIOK1hrePHxLD6U&#34;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Observability - tenant centric metrics - &lt;a href=&#34;https://www.youtube.com/watch?v=gI40zpbES5w&amp;amp;list=PLj6h78yzYM2MEQTMX_LIOK1hrePHxLD6U&#34;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Building observability platform for Edge compute nodes - &lt;a href=&#34;https://www.youtube.com/watch?v=z5ef-4fS5xs&amp;amp;list=PLj6h78yzYM2MEQTMX_LIOK1hrePHxLD6U&#34;&gt;link&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Design Philosophy: Observability</title>
      <link>https://akshayd-dev.pages.dev/posts/philosophy-of-design-observability/</link>
      <pubDate>Sun, 14 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/philosophy-of-design-observability/</guid>
      <description>&lt;p&gt;I enjoy philosophy. Stoic philosophy in particular.&lt;br&gt;
Philosophy, I think, helps us revalidate our purpose. It acts as a yard stick and makes sure that we are not moving away from our First-Principles.&lt;/p&gt;
&lt;p&gt;Applying the same to Software Engineering, in my opinion, every team should have a &amp;ldquo;Design Philosophy&amp;rdquo;. What is that one yard stick which teams can use for making better decisions.&lt;br&gt;
Infact, it is done in some forms in a few cases. Some call it Guiding-Principles. Some call it MVPs. I call it &amp;ldquo;&lt;code&gt;Design Philosophy&lt;/code&gt;&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When to Emit What O11y Signal?</title>
      <link>https://akshayd-dev.pages.dev/posts/when-to-emit-what-o11y-signal/</link>
      <pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/when-to-emit-what-o11y-signal/</guid>
      <description>&lt;p&gt;The intention of this page is to put together the &lt;em&gt;Observability Signal Guidelines&lt;/em&gt; which will provide the required visibility into the systems without hurting the cost aspect of the solution.&lt;/p&gt;
&lt;p&gt;Three basic observability signals that any application emits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Metrics,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Traces and&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Logs&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The general question is - &lt;em&gt;&lt;strong&gt;When to emit what signal?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The answer lies in the &lt;em&gt;intent&lt;/em&gt; behind the signal being emitted. &lt;em&gt;&lt;strong&gt;What do you intend to measure with the Observability signal that you are emitting?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enhancing Observability with OTel Custom Processors</title>
      <link>https://akshayd-dev.pages.dev/posts/enhancing-observability-with-otel-custom-processors/</link>
      <pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/enhancing-observability-with-otel-custom-processors/</guid>
      <description>&lt;p&gt;Observability is crucial for modern distributed systems, enabling engineers to monitor, debug, and optimize their applications effectively. OpenTelemetry (Otel) has emerged as a comprehensive, vendor-neutral observability framework for collecting, processing, and exporting telemetry data such as traces, metrics, and logs.&lt;/p&gt;
&lt;p&gt;This blog post will explore how custom processors in OpenTelemetry can significantly enhance your observability strategy, making it highly customizable and powerful.&lt;/p&gt;
&lt;p&gt;The repo link where I have implemented a very simple Otel-Custom-Processor.&lt;br&gt;
&lt;a href=&#34;https://github.com/AkshayD110/otel-custom-processor/tree/master&#34;&gt;https://github.com/AkshayD110/otel-custom-processor/tree/master&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Memory management : Java containers on K8s</title>
      <link>https://akshayd-dev.pages.dev/posts/memory-management-java-containers-on-k8s/</link>
      <pubDate>Sat, 08 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/memory-management-java-containers-on-k8s/</guid>
      <description>&lt;p&gt;This page documents a few aspects of memory management on Java containers on K8s clusters.&lt;/p&gt;
&lt;p&gt;For java containers, memory management on K8s have various factors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Xmx and Xms limits managed by java&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Request/limit values for the container&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HPA policies used for scaling the number of pods&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Misconfigurations / misunderstanding of any of these parameters leads to OOMs of java containers on K8s clusters.&lt;/p&gt;
&lt;h3 id=&#34;memory-management-on-java-containers&#34;&gt;Memory management on java containers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-XX:+UseContainerSupport&lt;/code&gt; is enabled by default form java 10+&lt;/p&gt;</description>
    </item>
    <item>
      <title>Observability - Metrics Madness</title>
      <link>https://akshayd-dev.pages.dev/posts/observability-metrics-madness/</link>
      <pubDate>Tue, 07 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://akshayd-dev.pages.dev/posts/observability-metrics-madness/</guid>
      <description>&lt;p&gt;There isn&amp;rsquo;t a single book or article on observability (O11y) where there isn&amp;rsquo;t a mention of MELT. (Metrics, Events, Traces, Logs)&lt;br&gt;
While these four are the building blocks of telemetry data in Observability, all the four components haven&amp;rsquo;t evolved at the same rate.&lt;/p&gt;
&lt;p&gt;In this write-up, I delve into metrics in observability (mainly custom metrics) and argue how the overuse of metrics is turning into madness and directly impacting the cost of observability.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
