<?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>The Ops Community ⚙️: Ashwini Dave</title>
    <description>The latest articles on The Ops Community ⚙️ by Ashwini Dave (@ashwini_dave_7363166ec4cd).</description>
    <link>https://community.ops.io/ashwini_dave_7363166ec4cd</link>
    <image>
      <url>https://community.ops.io/images/fiMkjCtuEqvJdC5bwqh1JzPHNlvkaZZuBPArzv7uivQ/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkub3BzLmlv/L3JlbW90ZWltYWdl/cy91cGxvYWRzL3Vz/ZXIvcHJvZmlsZV9p/bWFnZS8zNTgyNC84/N2RmMzNmMi0wNWI2/LTQ2ZWMtYWZjMy04/YWZhZmRiZTQxMmEu/cG5n</url>
      <title>The Ops Community ⚙️: Ashwini Dave</title>
      <link>https://community.ops.io/ashwini_dave_7363166ec4cd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://community.ops.io/feed/ashwini_dave_7363166ec4cd"/>
    <language>en</language>
    <item>
      <title>Trace Sampling in Practice: Keeping the Signal Without Paying for the Noise</title>
      <dc:creator>Ashwini Dave</dc:creator>
      <pubDate>Fri, 09 Oct 2026 09:18:08 +0000</pubDate>
      <link>https://community.ops.io/ashwini_dave_7363166ec4cd/trace-sampling-in-practice-keeping-the-signal-without-paying-for-the-noise-2nob</link>
      <guid>https://community.ops.io/ashwini_dave_7363166ec4cd/trace-sampling-in-practice-keeping-the-signal-without-paying-for-the-noise-2nob</guid>
      <description>&lt;p&gt;Distributed tracing is one of the most useful tools in an SRE's kit, and one of the easiest to overspend on. Once a handful of services turn into a few dozen, trace volume grows faster than traffic. Storage bills climb, queries slow down, and teams quietly start turning tracing off.&lt;/p&gt;

&lt;p&gt;Most traces in a distributed tracing setup are boring. A healthy GET /health or a cached product lookup that returns in 8 ms tells you very little, and you may be generating millions of them per hour. The traces that matter are the slow ones, the failed ones, and the ones touching a recently deployed service. The goal of sampling isn't to keep less data, but to keep an honest picture of normal behavior while retaining nearly all of the interesting outliers.&lt;/p&gt;

&lt;p&gt;No &lt;a href="https://middleware.io/product/distributed-tracing/" rel="noopener noreferrer"&gt;distributed tracing&lt;/a&gt; strategy is perfect, but the worst choice is no sampling at all, followed closely by a policy nobody revisits. Start simple, measure what you're losing, and tighten the rules as you learn which traces your team actually opens during incidents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why 100% Retention Rarely Makes Sense
&lt;/h2&gt;

&lt;p&gt;Most traces are boring. A healthy &lt;code&gt;GET /health&lt;/code&gt; or a cached product lookup that returns in 8 ms tells you very little, and you may be generating millions of them per hour. The traces that matter are the slow ones, the failed ones, and the ones touching a recently deployed service.&lt;/p&gt;

&lt;p&gt;The goal of sampling isn't "keep less data". It's to keep a statistically honest picture of normal behavior while retaining nearly all of the interesting outliers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Head-Based Sampling
&lt;/h2&gt;

&lt;p&gt;Head-based sampling decides at the start of a trace, usually in the SDK or at the entry-point service, whether to record it. The decision is then propagated to downstream services through trace context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cheap and simple. Unsampled requests never generate span data.&lt;/li&gt;
&lt;li&gt;Predictable cost, since you control the percentage directly.&lt;/li&gt;
&lt;li&gt;Works well with OpenTelemetry's built-in samplers, such as &lt;code&gt;TraceIdRatioBased&lt;/code&gt; and &lt;code&gt;ParentBased&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The decision is made before you know how the request will turn out. A 1% sample means you keep roughly 1% of your errors too.&lt;/li&gt;
&lt;li&gt;Rare, high-value failures are the most likely to go missing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Head-based sampling is a reasonable default for high-volume, low-risk traffic, but it's a poor fit if you rely on traces for debugging rare issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tail-Based Sampling
&lt;/h2&gt;

&lt;p&gt;Tail-based sampling waits until a &lt;a href="https://middleware.io/blog/trace-id-in-distributed-tracing/" rel="noopener noreferrer"&gt;trace&lt;/a&gt; is complete, then decides whether to keep it. That lets you write rules based on what actually happened:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep every trace containing an error&lt;/li&gt;
&lt;li&gt;Keep every trace slower than a latency threshold (say, p95)&lt;/li&gt;
&lt;li&gt;Keep a small random percentage of everything else&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Strengths&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You retain the traces that matter most.&lt;/li&gt;
&lt;li&gt;Policies can be expressive: by service, endpoint, status code, or custom attributes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It's more expensive to run. All spans for a trace must be buffered somewhere until the decision is made.&lt;/li&gt;
&lt;li&gt;All spans from one trace have to reach the same decision point. In the OpenTelemetry Collector, that means load balancing by trace ID before the tail-sampling processor.&lt;/li&gt;
&lt;li&gt;Late-arriving spans, from async jobs or message queues, can be missed if your decision window is too short.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Practical Hybrid
&lt;/h2&gt;

&lt;p&gt;Most mature setups end up combining both:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Drop the obvious noise early.&lt;/strong&gt; Filter health checks, readiness probes, and synthetic pings at the SDK or Collector level. This is a filtering decision, not sampling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apply light head sampling&lt;/strong&gt; at the edge to cap raw volume.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run &lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor" rel="noopener noreferrer"&gt;tail sampling&lt;/a&gt; in a Collector tier&lt;/strong&gt; with policies for errors, high latency, and a baseline random sample.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Always keep certain traffic.&lt;/strong&gt; Traces tied to a feature flag rollout, a canary deployment, or a specific customer under investigation shouldn't be left to chance.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This gives you cost control from the head stage and precision from the tail stage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Pitfalls
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Broken traces.&lt;/strong&gt; If services make independent sampling decisions, you'll get traces with missing spans. Always honor the parent's sampling decision with &lt;code&gt;ParentBased&lt;/code&gt; samplers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skewed metrics.&lt;/strong&gt; If you compute request counts or error rates from sampled traces, the numbers will be wrong unless you correct for the sampling rate. Generate metrics from the full stream before sampling, for example with &lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/spanmetricsconnector" rel="noopener noreferrer"&gt;span-metrics&lt;/a&gt; in the Collector, and use traces for investigation only.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set-and-forget policies.&lt;/strong&gt; A latency threshold chosen last year may no longer reflect reality. Review your tail-sampling rules whenever traffic patterns or SLOs change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignoring the sampler's own health.&lt;/strong&gt; Collectors that buffer traces can run out of memory under load. Monitor buffer size, dropped spans, and decision latency like any other production system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cardinality surprises.&lt;/strong&gt; Policies keyed on high-cardinality attributes, such as user IDs or full URLs, can blow up memory use in the sampling tier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Storage and Query Considerations
&lt;/h2&gt;

&lt;p&gt;Sampling is only half the story. How retained traces are stored affects how quickly you can query them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Index selectively.&lt;/strong&gt; Indexing every attribute is expensive. Index the ones you filter on most (service, status, duration, a few business keys) and leave the rest searchable but unindexed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tier your retention.&lt;/strong&gt; Keep recent traces on fast storage and move older ones to cheaper storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Partition by time.&lt;/strong&gt; Most investigations focus on a narrow window, so time-based partitioning keeps scans small.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Decide
&lt;/h2&gt;

&lt;p&gt;Ask these questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do I need to debug rare failures? → Tail sampling.&lt;/li&gt;
&lt;li&gt;Is my main constraint cost at very high volume? → Head sampling plus aggressive filtering.&lt;/li&gt;
&lt;li&gt;Do I need accurate rate and error metrics? → Derive them before sampling.&lt;/li&gt;
&lt;li&gt;Do I have the operational capacity to run a stateful Collector tier? If not, start with head sampling and graduate later.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;No sampling strategy is perfect, but the worst choice is none at all, followed closely by one nobody revisits. Start simple, measure what you're losing, and tighten the policies as you learn which traces your team actually opens during incidents.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What sampling strategy does your team use, and what's the one trace you wish you'd kept? Share your experience in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Evaluate an AI SRE Before You Trust It With Production Incidents</title>
      <dc:creator>Ashwini Dave</dc:creator>
      <pubDate>Tue, 29 Sep 2026 11:30:16 +0000</pubDate>
      <link>https://community.ops.io/ashwini_dave_7363166ec4cd/how-to-evaluate-an-ai-sre-before-you-trust-it-with-production-incidents-5al2</link>
      <guid>https://community.ops.io/ashwini_dave_7363166ec4cd/how-to-evaluate-an-ai-sre-before-you-trust-it-with-production-incidents-5al2</guid>
      <description>&lt;p&gt;AI SRE is becoming a real software category.&lt;/p&gt;

&lt;p&gt;The pitch is attractive: connect an AI system to alerts, logs, traces, deployment history, runbooks, source code, and infrastructure, then let it investigate incidents before an engineer manually jumps across several tools.&lt;/p&gt;

&lt;p&gt;That can save time.&lt;/p&gt;

&lt;p&gt;But AI SRE products are easy to demo and much harder to evaluate.&lt;/p&gt;

&lt;p&gt;A polished demo can show an agent correlating an alert with a deployment and producing a root-cause hypothesis in seconds. Production incidents are rarely that tidy. Telemetry may be incomplete. Signals may correlate without being causal. The required value may never have been logged. The agent may generate invalid queries, overstate confidence, or recommend unsafe actions.&lt;/p&gt;

&lt;p&gt;That is why AI SRE should not be evaluated like another dashboard.&lt;/p&gt;

&lt;p&gt;The useful question is:&lt;br&gt;
“How much of our real incident investigation workflow can this system shorten without sacrificing evidence quality or operational safety?”&lt;/p&gt;

&lt;p&gt;When comparing &lt;a href="https://www.hyperprobe.co/resources/blog/best-ai-sre-tools" rel="noopener noreferrer"&gt;AI SRE tools&lt;/a&gt;, that matters more than the length of a feature list.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start With the Incident Problem You Actually Have
&lt;/h2&gt;

&lt;p&gt;Not every AI SRE product solves the same problem.&lt;/p&gt;

&lt;p&gt;Some focus on reducing alert noise. Others automate incident coordination. Some correlate observability data and generate root-cause hypotheses. Others specialize in Kubernetes or production debugging.&lt;/p&gt;

&lt;p&gt;Those are different use cases.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Incident Bottleneck&lt;/th&gt;
&lt;th&gt;Capability That Matters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Too many alerts&lt;/td&gt;
&lt;td&gt;Event correlation and noise reduction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Slow incident coordination&lt;/td&gt;
&lt;td&gt;Routing and response workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Too much telemetry&lt;/td&gt;
&lt;td&gt;Automated investigation and synthesis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kubernetes failures&lt;/td&gt;
&lt;td&gt;Cluster-aware diagnosis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Difficult root cause analysis&lt;/td&gt;
&lt;td&gt;Evidence-backed hypothesis generation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Missing code-level state&lt;/td&gt;
&lt;td&gt;Runtime evidence capture&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Risky remediation&lt;/td&gt;
&lt;td&gt;Verification and approval controls&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This distinction matters because a strong product can still be wrong for your team.&lt;/p&gt;

&lt;p&gt;If your engineers already know where a failure happened but repeatedly need to add more logging to understand why, another telemetry summarizer may not solve the problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test Against Real Incidents, Not Vendor Demos
&lt;/h2&gt;

&lt;p&gt;The best AI SRE evaluation dataset is probably sitting in your incident history.&lt;/p&gt;

&lt;p&gt;Select five to ten representative production incidents, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;deployment regressions&lt;/li&gt;
&lt;li&gt;dependency failures&lt;/li&gt;
&lt;li&gt;intermittent application errors&lt;/li&gt;
&lt;li&gt;resource exhaustion&lt;/li&gt;
&lt;li&gt;Kubernetes failures&lt;/li&gt;
&lt;li&gt;configuration issues&lt;/li&gt;
&lt;li&gt;incidents where the first hypothesis was wrong&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For each one, preserve the information that was actually available at the time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Initial alert&lt;/li&gt;
&lt;li&gt;Logs&lt;/li&gt;
&lt;li&gt;Metrics&lt;/li&gt;
&lt;li&gt;Traces&lt;/li&gt;
&lt;li&gt;Deployment history&lt;/li&gt;
&lt;li&gt;Source code&lt;/li&gt;
&lt;li&gt;Runbooks&lt;/li&gt;
&lt;li&gt;Infrastructure state&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then give the AI SRE the same starting point.&lt;/p&gt;

&lt;p&gt;The workflow becomes:&lt;/p&gt;

&lt;p&gt;Historical incident&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Known evidence&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
AI SRE investigation&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Hypothesis&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Evidence cited&lt;br&gt;
        |&lt;br&gt;
        v&lt;br&gt;
Compare with actual postmortem&lt;/p&gt;

&lt;p&gt;This reveals much more than a staged demo.&lt;/p&gt;

&lt;p&gt;A system may perform very well when the incident is explained by a clear deployment regression. It may struggle when signals conflict or when the decisive evidence was never collected.&lt;/p&gt;

&lt;p&gt;Those are exactly the cases worth testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Measure Evidence Quality, Not Just Root Cause Accuracy
&lt;/h2&gt;

&lt;p&gt;Root-cause accuracy matters, but it is not enough.&lt;/p&gt;

&lt;p&gt;Imagine two systems both arrive at the correct diagnosis.&lt;/p&gt;

&lt;p&gt;System A makes several unsupported claims, performs 30 unnecessary tool calls, and suggests restarting a production database.&lt;/p&gt;

&lt;p&gt;System B reaches the same conclusion with fewer queries, cites the relevant evidence, rejects one incorrect hypothesis, and keeps remediation behind an approval gate.&lt;/p&gt;

&lt;p&gt;Calling both equally accurate misses most of what matters.&lt;/p&gt;

&lt;p&gt;A useful evaluation should measure:&lt;/p&gt;

&lt;h4&gt;
  
  
  Time to first useful hypothesis
&lt;/h4&gt;

&lt;p&gt;How quickly does the system reduce the search space?&lt;br&gt;
The first answer does not need to be final. It needs to be useful.&lt;/p&gt;

&lt;h4&gt;
  
  
  Evidence precision
&lt;/h4&gt;

&lt;p&gt;Does the evidence actually support the claim being made?&lt;br&gt;
A deployment and an error spike happening close together may justify investigation. They do not prove causality.&lt;/p&gt;

&lt;h4&gt;
  
  
  Unsupported-claim rate
&lt;/h4&gt;

&lt;p&gt;How often does the system present an assumption as fact?&lt;br&gt;
Compare:&lt;br&gt;
Connection pool exhaustion caused the incident.&lt;br&gt;
with:&lt;br&gt;
Database latency increased during the incident, so connection pool exhaustion is one hypothesis worth testing.&lt;/p&gt;

&lt;p&gt;The second statement preserves uncertainty correctly.&lt;/p&gt;

&lt;h4&gt;
  
  
  Invalid tool-call rate
&lt;/h4&gt;

&lt;p&gt;How often does the agent request a nonexistent metric, malformed query, incorrect field, or unavailable resource?&lt;/p&gt;

&lt;p&gt;This matters because a failed query can easily be misread as evidence that the underlying signal does not exist.&lt;/p&gt;

&lt;h4&gt;
  
  
  Ability to reject its own hypothesis
&lt;/h4&gt;

&lt;p&gt;A useful AI SRE should not only generate explanations. It should test them.&lt;/p&gt;

&lt;p&gt;If the system suspects connection pool exhaustion but sees 34 active connections out of a maximum of 100, it should reject that hypothesis and continue.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Most Important Test: What Happens When Telemetry Is Incomplete?
&lt;/h4&gt;

&lt;p&gt;This is where AI SRE evaluations become much more interesting.&lt;/p&gt;

&lt;p&gt;Imagine a checkout service begins returning intermittent HTTP 500 errors.&lt;br&gt;
The investigation shows:&lt;/p&gt;

&lt;p&gt;14:03  checkout-api deployed&lt;br&gt;
14:07  HTTP 500 rate increases&lt;br&gt;
14:08  InvalidRegionException appears&lt;/p&gt;

&lt;p&gt;Distributed tracing narrows the problem to:&lt;br&gt;
checkout-api&lt;br&gt;
   |&lt;br&gt;
   +-- validateCustomerRegion()&lt;br&gt;
   |&lt;br&gt;
   +-- createOrder()&lt;br&gt;
   |&lt;br&gt;
   +-- InvalidRegionException&lt;/p&gt;

&lt;p&gt;The deployment changed region-validation logic.&lt;br&gt;
The AI SRE generates two hypotheses:&lt;br&gt;
H1: customer.region is null&lt;br&gt;
H2: enabled_regions contains stale configuration&lt;/p&gt;

&lt;p&gt;Now ask:&lt;br&gt;
“Where is the evidence that distinguishes those two explanations?”&lt;/p&gt;

&lt;p&gt;Suppose neither value was logged.&lt;/p&gt;

&lt;p&gt;The traces do not contain them. The metrics do not expose them. The error tracker did not capture them.&lt;/p&gt;

&lt;p&gt;At this point, a reasoning-only system has reached its limit.&lt;br&gt;
It can rank hypotheses. It cannot confirm them.&lt;/p&gt;

&lt;p&gt;The traditional response is familiar:&lt;br&gt;
Add logging&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Open PR&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Run CI&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Deploy&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Wait for recurrence&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Inspect value&lt;/p&gt;

&lt;p&gt;This is an important evaluation point.&lt;/p&gt;

&lt;p&gt;Does the AI SRE only reason over existing telemetry, or can it gather new evidence?&lt;/p&gt;

&lt;p&gt;HyperProbe is relevant specifically at this boundary.&lt;/p&gt;

&lt;p&gt;HyperProbe is an AI on-call agent, and sits alongside an existing &lt;a href="https://middleware.io/blog/observability/" rel="noopener noreferrer"&gt;observability&lt;/a&gt; and alerting stack.&lt;/p&gt;

&lt;p&gt;It can capture live runtime state from running services using read-only probes when logs, traces, and dashboards stop short of the evidence needed to verify root cause.&lt;/p&gt;

&lt;p&gt;That means the investigation could continue with:&lt;br&gt;
Need:&lt;br&gt;
customer.region&lt;br&gt;
enabled_regions&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    |
    v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Capture runtime state&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    |
    v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;customer.region = null&lt;br&gt;
enabled_regions = ["US", "CA", "GB"]&lt;/p&gt;

&lt;p&gt;Now one hypothesis has direct evidence.&lt;/p&gt;

&lt;p&gt;That is materially different from asking the model to become more confident about incomplete telemetry.&lt;/p&gt;

&lt;h4&gt;
  
  
  Check the Safety Boundary
&lt;/h4&gt;

&lt;p&gt;An AI SRE should not become another production risk.&lt;/p&gt;

&lt;p&gt;The ability to inspect or act on production systems needs clear boundaries.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Useful controls include:&lt;/li&gt;
&lt;li&gt;read-only operations by default&lt;/li&gt;
&lt;li&gt;role-based access control&lt;/li&gt;
&lt;li&gt;query validation&lt;/li&gt;
&lt;li&gt;capture limits&lt;/li&gt;
&lt;li&gt;automatic expiry&lt;/li&gt;
&lt;li&gt;sensitive-data redaction&lt;/li&gt;
&lt;li&gt;auditability&lt;/li&gt;
&lt;li&gt;approval requirements for remediation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key architectural principle is simple:&lt;br&gt;
“The AI can decide what evidence it needs. Deterministic policy should decide what it is allowed to inspect or change.”&lt;/p&gt;

&lt;p&gt;That separation matters far more than a generic claim of “human in the loop.”&lt;/p&gt;

&lt;h2&gt;
  
  
  Evaluate Category Fit, Not a Universal Winner
&lt;/h2&gt;

&lt;p&gt;There probably is not one AI SRE that is best for every team.&lt;/p&gt;

&lt;p&gt;If your biggest problem is alert noise, prioritize correlation and suppression.&lt;/p&gt;

&lt;p&gt;If your team struggles with incident coordination, focus on response workflows.&lt;/p&gt;

&lt;p&gt;If your infrastructure is heavily Kubernetes-based, cluster-aware diagnosis may matter most.&lt;/p&gt;

&lt;p&gt;If your engineers repeatedly reach the point where they know which function failed but still need another log line to understand runtime state, live production debugging becomes much more relevant.&lt;/p&gt;

&lt;p&gt;This is why comparing AI SRE tools by use case is more useful than looking &lt;br&gt;
for one universal winner.&lt;/p&gt;

&lt;p&gt;The category covers several different layers:&lt;br&gt;
Alerting&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Signal correlation&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Incident investigation&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Runtime evidence&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Verification&lt;br&gt;
    |&lt;br&gt;
    v&lt;br&gt;
Remediation&lt;/p&gt;

&lt;p&gt;Very few products will be equally strong at all of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Best AI SRE Is the One That Shortens Your Actual Incident Workflow
&lt;/h2&gt;

&lt;p&gt;AI SRE demos can look impressive.&lt;/p&gt;

&lt;p&gt;An alert arrives. The agent runs a few queries. A root cause appears.&lt;br&gt;
Production is rarely that clean.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A useful AI SRE should be evaluated on how it behaves when:&lt;/li&gt;
&lt;li&gt;signals conflict&lt;/li&gt;
&lt;li&gt;the first hypothesis is wrong&lt;/li&gt;
&lt;li&gt;telemetry is incomplete&lt;/li&gt;
&lt;li&gt;an important value was never logged&lt;/li&gt;
&lt;li&gt;remediation carries production risk&lt;/li&gt;
&lt;li&gt;the system needs to admit that it does not yet know&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is where the difference between a convincing demo and a useful reliability tool becomes clear.&lt;/p&gt;

&lt;p&gt;The best evaluation process starts with your own incidents.&lt;br&gt;
Replay them. Measure evidence quality. Track unsupported claims.&lt;/p&gt;

&lt;p&gt;Test whether the agent can reject its own hypotheses. See what happens when telemetry runs out.&lt;/p&gt;

&lt;p&gt;Because the best AI SRE is not the one that produces the fastest answer.&lt;/p&gt;

&lt;p&gt;It is the one that reduces the specific work your engineers actually perform during production incidents while preserving the evidence and control required to trust the result.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>aisreagent</category>
      <category>ai</category>
      <category>cloudops</category>
    </item>
    <item>
      <title>The Evolving Role of Observability in Autonomous SRE Agents</title>
      <dc:creator>Ashwini Dave</dc:creator>
      <pubDate>Fri, 08 May 2026 07:11:22 +0000</pubDate>
      <link>https://community.ops.io/ashwini_dave_7363166ec4cd/the-evolving-role-of-observability-in-autonomous-sre-agents-366c</link>
      <guid>https://community.ops.io/ashwini_dave_7363166ec4cd/the-evolving-role-of-observability-in-autonomous-sre-agents-366c</guid>
      <description>&lt;h2&gt;
  
  
  The Observability Imperative for Modern SRE
&lt;/h2&gt;

&lt;p&gt;Site Reliability Engineering (SRE) has always demanded deep system understanding, but today's distributed architectures—microservices, serverless functions, multi-cloud setups—generate telemetry at petabyte scales. Traditional monitoring answers "what broke," but observability reveals "why" through correlated logs, metrics, and traces.&lt;/p&gt;

&lt;p&gt;Enter SRE agents: AI-driven systems that ingest observability data to automate toil-heavy tasks like anomaly detection, root cause analysis (RCA), and remediation. These agents don't replace SREs; they amplify them by handling repetitive investigations, letting humans focus on architecture and innovation.&lt;/p&gt;

&lt;p&gt;Recent benchmarks show SRE agents reducing mean time to resolution (MTTR) by 40-70% in production environments. Yet their success hinges on robust &lt;a href="https://middleware.io/blog/observability/" rel="noopener noreferrer"&gt;observability&lt;/a&gt; foundations—without high-fidelity signals, agents hallucinate or miss subtle issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Components of an SRE Agent Pipeline
&lt;/h2&gt;

&lt;p&gt;Effective &lt;a href="https://middleware.io/product/ops-ai/" rel="noopener noreferrer"&gt;SRE agents&lt;/a&gt; follow an OODA loop (Observe-Orient-Decide-Act), powered by observability:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Observation Layer: Multi-Signal Fusion
&lt;/h3&gt;

&lt;p&gt;Agents pull from unified pipelines using OpenTelemetry (OTel) standards. Metrics provide quantitative baselines (e.g., RED: Rate, Errors, Duration); traces map causal chains across services; logs add qualitative context for errors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Insight&lt;/strong&gt;: Agents excel with semantic conventions. OTel's GenAI extensions tag LLM inputs/outputs, enabling agents to monitor token usage and latency in AI workloads—critical as SRE teams manage inference pipelines. &lt;a href="https://www.linkedin.com/pulse/rise-ai-sre-agent-from-observability-autonomous-deepti-bhutani-s46ve" rel="noopener noreferrer"&gt;linkedin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In practice, fuse signals via vector databases for semantic search. A latency spike isn't just a P95 metric; it's correlated with trace spans showing a slow database query in 80% of affected requests.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Orientation: Contextual Reasoning
&lt;/h3&gt;

&lt;p&gt;Raw data overwhelms; agents use knowledge graphs to contextualize. Nodes represent services/pods; edges show dependencies weighted by blast radius.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: During a 2025 outage analysis at a major e-commerce platform, an SRE agent correlated a 3x error rate in checkout (metrics) with increased &lt;code&gt;payment-gateway&lt;/code&gt; spans (traces) and "connection pool exhausted" logs, pinpointing a config drift—all in under 2 minutes.&lt;/p&gt;

&lt;p&gt;Agents employ retrieval-augmented generation (RAG): Query observability stores, retrieve relevant telemetry, then reason via LLMs like GPT-4o or Llama 3.1. Guardrails prevent overconfidence—e.g., confidence scores below 80% trigger human escalation. &lt;/p&gt;

&lt;h2&gt;
  
  
  Diagnosis: From Patterns to Root Causes
&lt;/h2&gt;

&lt;p&gt;SRE agents shine in RCA, moving beyond correlation to causation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pattern Recognition
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Anomaly Baselines&lt;/strong&gt;: Use statistical models (e.g., Prophet for seasonality) on metrics; graph neural networks on traces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dimensional Drill-Down&lt;/strong&gt;: Auto-slice by high-cardinality fields like &lt;code&gt;user_id&lt;/code&gt; or &lt;code&gt;region&lt;/code&gt; without predefined queries.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Action and Learning: Closing the Loop
&lt;/h2&gt;

&lt;p&gt;Autonomous agents don't stop at diagnosis—they act:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Remediation&lt;/strong&gt;: Generate runbooks (e.g., "scale pod replicas to 5") or execute via APIs (Kubernetes HPA).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback Loops&lt;/strong&gt;: Post-incident reviews update agent memory via RLHF (reinforcement learning from human feedback).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Phase&lt;/th&gt;
      &lt;th&gt;Observability Role&lt;/th&gt;
      &lt;th&gt;Agent Capability&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Observe&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Real-time telemetry ingestion&lt;/td&gt;
      &lt;td&gt;Multi-modal fusion (logs+metrics+traces)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Diagnose&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Dimensional analysis + traces&lt;/td&gt;
      &lt;td&gt;Causal graph reasoning&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Act&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Alert enrichment + runbook context&lt;/td&gt;
      &lt;td&gt;API orchestration&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Learn&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Incident replay datasets&lt;/td&gt;
      &lt;td&gt;Model fine-tuning&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Long-term, agents build "system memory": Vector stores of past incidents enable proactive hunting for recurring patterns.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges and Practical Mitigations
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Data Quality and Cost
&lt;/h3&gt;

&lt;p&gt;High-volume traces explode storage costs. Mitigate with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adaptive sampling: 1:1000 on happy paths, 1:1 on errors.&lt;/li&gt;
&lt;li&gt;Aggregation: Use PromQL/OTel processors for pre-agent filtering.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Stat&lt;/strong&gt;: Teams retain 90-day metrics, 30-day traces, 7-day logs—agents query efficiently via indexes.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Explainability and Trust
&lt;/h3&gt;

&lt;p&gt;Black-box LLMs erode confidence. Counter with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chain-of-thought prompting: Agents verbalize reasoning ("Latency spiked due to X because Y").&lt;/li&gt;
&lt;li&gt;Human-in-loop: Escalate &amp;gt;5% blast radius incidents.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Security and Scope
&lt;/h3&gt;

&lt;p&gt;Agents with API access risk privilege escalation. Implement RBAC + audit logs; start narrow (read-only RCA) before expanding to writes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benchmark Tip&lt;/strong&gt;: Test agents on Chaos Engineering scenarios—inject faults, measure detection accuracy.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Future: Toward Fully Autonomous Operations
&lt;/h2&gt;

&lt;p&gt;SRE agents mark Observability 3.0: From reactive dashboards to proactive autonomy. By 2027, Gartner predicts 50% of enterprises will deploy agents handling 80% of incidents.&lt;/p&gt;

&lt;p&gt;Yet humans remain essential for error budgets, SLO design, and ethical oversight. Observability evolves from "three pillars" to an AI-ready lakehouse: Petabyte-scale, queryable at sub-second latency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Call to Experiment&lt;/strong&gt;: Start small—prototype an agent on Grafana Loki + LlamaIndex. Instrument a toy microservices app, simulate faults, iterate on prompts. The signal-to-noise ratio in your telemetry will dictate success.&lt;/p&gt;

&lt;p&gt;Observability isn't just data; it's the nervous system empowering agents to keep systems resilient.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
