<?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 Bits, Trades &amp; Systems</title>
    <link>https://blog.turboawesome.win/tags/observability/</link>
    <description>Recent content in Observability on Bits, Trades &amp; Systems</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 07 Oct 2025 09:15:00 +0000</lastBuildDate>
    <atom:link href="https://blog.turboawesome.win/tags/observability/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Migrating a Production Service from Zap to slog: Notes from the Trenches</title>
      <link>https://blog.turboawesome.win/2025/10/migrating-a-production-service-from-zap-to-slog-notes-from-the-trenches/</link>
      <pubDate>Tue, 07 Oct 2025 09:15:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2025/10/migrating-a-production-service-from-zap-to-slog-notes-from-the-trenches/</guid>
      <description>log/slog landed in the standard library in Go 1.21, but most production services are still on zap or zerolog. Here is what an actual migration looks like: where slog wins, where zap still wins, and how to move incrementally without a big-bang rewrite.</description>
    </item>
    <item>
      <title>Evaluating LLM-Integrated Systems: What Works and What Doesn&#39;t</title>
      <link>https://blog.turboawesome.win/2025/05/evaluating-llm-integrated-systems-what-works-and-what-doesnt/</link>
      <pubDate>Wed, 07 May 2025 11:00:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2025/05/evaluating-llm-integrated-systems-what-works-and-what-doesnt/</guid>
      <description>LLM outputs are probabilistic and context-dependent. The testing and evaluation approaches from deterministic software don&amp;#39;t transfer directly. What does work: eval datasets, LLM-as-judge, regression suites, and the practices that separate teams with confidence from teams flying blind.</description>
    </item>
    <item>
      <title>Tail-Based Trace Sampling: Why Head Sampling Is Usually Wrong</title>
      <link>https://blog.turboawesome.win/2024/10/tail-based-trace-sampling-why-head-sampling-is-usually-wrong/</link>
      <pubDate>Wed, 09 Oct 2024 13:00:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2024/10/tail-based-trace-sampling-why-head-sampling-is-usually-wrong/</guid>
      <description>Head-based sampling decides whether to trace a request at the start. Tail-based sampling decides after the request completes. For finding latency outliers and errors, tail-based sampling is almost always what you want — and almost never what gets implemented.</description>
    </item>
    <item>
      <title>Observability at Scale: What &#39;Good&#39; Looks Like When You Have Too Much Data</title>
      <link>https://blog.turboawesome.win/2024/05/observability-at-scale-what-good-looks-like-when-you-have-too-much-data/</link>
      <pubDate>Wed, 29 May 2024 09:47:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2024/05/observability-at-scale-what-good-looks-like-when-you-have-too-much-data/</guid>
      <description>Observability problems at large scale are different from small-scale ones. Too little signal is replaced by too much signal, and the engineering challenge inverts.</description>
    </item>
    <item>
      <title>Structured Logging in Go: slog, zerolog, and What Actually Matters</title>
      <link>https://blog.turboawesome.win/2022/11/structured-logging-in-go-slog-zerolog-and-what-actually-matters/</link>
      <pubDate>Wed, 23 Nov 2022 10:58:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2022/11/structured-logging-in-go-slog-zerolog-and-what-actually-matters/</guid>
      <description>The Go ecosystem has converged on structured logging, but the choice of library and the conventions you adopt matter more than the specific API. Here&amp;#39;s what structured logging should look like in a production Go service and why.</description>
    </item>
    <item>
      <title>OpenTelemetry in Go: Distributed Tracing That Doesn&#39;t Get in the Way</title>
      <link>https://blog.turboawesome.win/2022/05/opentelemetry-in-go-distributed-tracing-that-doesnt-get-in-the-way/</link>
      <pubDate>Tue, 31 May 2022 10:14:00 +0000</pubDate>
      <guid>https://blog.turboawesome.win/2022/05/opentelemetry-in-go-distributed-tracing-that-doesnt-get-in-the-way/</guid>
      <description>OpenTelemetry standardised distributed tracing across languages and vendors. Here&amp;#39;s what idiomatic OTel integration looks like in Go — and the parts that aren&amp;#39;t obvious from the documentation.</description>
    </item>
  </channel>
</rss>
