Modular Monolith Observability: Logging & Profiling

Answer-first: Observability in modular monoliths leverages in-process OpenTelemetry span propagation across module boundaries without network serialization overhead. Combining in-memory context tracking with structured logging reduces telemetry ingestion costs while retaining microservice-level latency visibility. Prerequisite: Before reading this part, please review Part 4: CI/CD Simplified. Part 5: Observability in Memory – When Everything Shares a Single Call Stack What You’ll Learn: In-Memory Trace Propagation: How Go context propagation handles tracing across package lines without network calls (~15ns vs 1.2µs). Cardinality Reduction: Techniques to strip connection attributes from logs, saving thousands in observability SaaS bills. Sampling & eBPF Profiling: How Pyroscope/Parca eBPF engines continuously profile Go runtimes under 1% overhead compared to heavy APM agents. When operating a production system, observability determines whether an engineer resolves an outage within minutes or spends hours troubleshooting distributed failure modes. Microservices architectures make telemetry expensive and complex through distributed network span propagation. ...

July 3, 2026 · 9 min · Lê Tuấn Anh

Go pprof CPU & Memory Profiling: Production Tutorial

Go pprof CPU & Memory Profiling: Production Tutorial Prerequisite: This guide covers how to profile and diagnose complex performance issues in production. If you are specifically dealing with unbounded goroutine growth, ensure you first understand the foundational concepts in Goroutine Leak Detection and Fix in Production Go Services. Performance degradation in production is inevitable. When a Go microservice suddenly spikes to 90% CPU utilization or triggers an Out-Of-Memory (OOM) kill in Kubernetes, guessing the root cause by staring at the code is rarely effective. You need data. ...

June 2, 2026 · 10 min · Lê Tuấn Anh