# Observability · Tech watch

[Canonical source](<https://sebastien.rigaux.be/en/tech-watch/tags/observability>)

Understanding systems through logs, metrics, traces and events.

## [Reticle gives coding agents a verdict on the running app](<https://sebastien.rigaux.be/en/tech-watch/links/reticle-gives-coding-agents-a-verdict-on-the-running-app>)

Reticle helps coding agents check what they actually built rather than stopping at the code change. The repository presents a runtime-perception tool for web and desktop apps; `reticle compare` drives two builds in a browser and reports differences users can see, network calls, and console errors.

Verification happens from outside the app, with no SDK required. The comparator can pit a main build against a pull request preview and, with `--base`, classify differences as regressions, missed targets, or changes.

2026-11-08 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/reticle-gives-coding-agents-a-verdict-on-the-running-app.md>) · [Original resource](<https://github.com/reticlehq/reticle>)

## [Microsoft Agent Framework: choosing where to intercept calls](<https://sebastien.rigaux.be/en/tech-watch/links/microsoft-agent-framework-choosing-where-to-intercept-calls>)

In Microsoft Agent Framework, `ChatClient` middleware intercepts messages exchanged with the LLM, while agent middleware operates on the agent’s overall run, including session, identity, or token-budget management. This distinction helps place logging or modification at the right level.

The C# example adds function-invocation middleware to log calls to the Researcher agent’s Tavily tool, without changing the other agents. The trace shows the function name and its arguments.

2026-11-01 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/microsoft-agent-framework-choosing-where-to-intercept-calls.md>) · [Original resource](<https://jesseliberty.com/2026/08/08/chatclient-middleware-vs-agent-middleware/>)

## [Witr: trace the origin of a process or open port](<https://sebastien.rigaux.be/en/tech-watch/links/witr-trace-the-origin-of-a-process-or-open-port>)

Witr traces the startup chain behind a process, container or port. Its CLI and terminal interface help explain why a service is running before changing it.

2025-12-28 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/witr-trace-the-origin-of-a-process-or-open-port.md>) · [Original resource](<https://github.com/pranshuparmar/witr>)

## [Below: record and replay Linux resource usage](<https://sebastien.rigaux.be/en/tech-watch/links/below-record-and-replay-linux-resource-usage>)

Below records process, cgroup and system resource data for inspection over time. Live, record and replay modes help investigate an incident after it occurs.

2025-11-13 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/below-record-and-replay-linux-resource-usage.md>) · [Original resource](<https://github.com/facebookincubator/below>)

## [Toolong: read, merge and search logs in the terminal](<https://sebastien.rigaux.be/en/tech-watch/links/toolong-read-merge-and-search-logs-in-the-terminal>)

Toolong tails files, formats JSONL and merges logs by detecting timestamps. It brings several diagnostic operations together in a terminal interface.

2025-10-29 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/toolong-read-merge-and-search-logs-in-the-terminal.md>) · [Original resource](<https://github.com/Textualize/toolong>)

## [Nightingale: centralize alert rules and routing](<https://sebastien.rigaux.be/en/tech-watch/links/nightingale-centralize-alert-rules-and-routing>)

Nightingale connects sources such as Prometheus, Loki and PostgreSQL to an alerting engine. Rules, events and notification routing can be managed together in a self-hosted installation.

2025-09-28 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/nightingale-centralize-alert-rules-and-routing.md>) · [Original resource](<https://github.com/ccfos/nightingale>)

## [Mastra: build and observe agents in TypeScript](<https://sebastien.rigaux.be/en/tech-watch/links/mastra-build-and-observe-agents-in-typescript>)

Mastra combines tools, workflows, traces and evaluations for building TypeScript agents. The framework supports observing execution and improving behavior through experiments.

2025-07-18 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/mastra-build-and-observe-agents-in-typescript.md>) · [Original resource](<https://mastra.ai/>)

## [LogTape: configurable logging across JavaScript runtimes](<https://sebastien.rigaux.be/en/tech-watch/links/logtape-configurable-logging-across-javascript-runtimes>)

LogTape lets libraries emit logs while applications retain control of configuration. Its dependency-free implementation supports Node.js, Deno, Bun, browsers and edge functions.

2024-08-24 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/logtape-configurable-logging-across-javascript-runtimes.md>) · [Original resource](<https://github.com/dahlia/logtape>)

## [KRR: size pods using Prometheus measurements](<https://sebastien.rigaux.be/en/tech-watch/links/krr-size-pods-using-prometheus-measurements>)

KRR analyzes pod usage to recommend CPU and memory requests and limits. Its recommendations provide a measurement-based starting point for Kubernetes resource allocation.

2023-09-28 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/krr-size-pods-using-prometheus-measurements.md>) · [Original resource](<https://github.com/robusta-dev/krr>)

## [Collect .NET memory dumps in Kubernetes](<https://sebastien.rigaux.be/en/tech-watch/links/collect-net-memory-dumps-in-kubernetes>)

This tutorial walks through collecting a memory dump from a .NET application running in a pod. It provides a diagnostic workflow for investigating problems beyond application logs.

2023-08-27 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/collect-net-memory-dumps-in-kubernetes.md>) · [Original resource](<https://cezarypiatek.github.io/post/memory-dump-on-kubernetes/>)

## [Kuberhealthy: run synthetic checks inside Kubernetes](<https://sebastien.rigaux.be/en/tech-watch/links/kuberhealthy-run-synthetic-checks-inside-kubernetes>)

The article shows how to deploy Kuberhealthy, define checks and expose results to Prometheus. It provides a way to monitor actual service behavior from within the cluster.

2023-08-16 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/kuberhealthy-run-synthetic-checks-inside-kubernetes.md>) · [Original resource](<https://martinheinz.dev/blog/95>)

## [Configure Kubernetes HPA with meaningful metrics](<https://sebastien.rigaux.be/en/tech-watch/links/configure-kubernetes-hpa-with-meaningful-metrics>)

This guide explains HPA behavior and the use of custom metrics to adjust replicas. It connects metric selection and resource limits to practical scaling behavior.

2023-07-27 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/configure-kubernetes-hpa-with-meaningful-metrics.md>) · [Original resource](<https://caiolombello.medium.com/kubernetes-hpa-custom-metrics-for-effective-cpu-memory-scaling-23526bba9b4>)

## [Right-size Kubernetes resources with Vertical Pod Autoscaler](<https://sebastien.rigaux.be/en/tech-watch/links/right-size-kubernetes-resources-with-vertical-pod-autoscaler>)

This guide explains how VPA adjusts resources using observed usage. It also discusses limitations when combining it with HPA, helping avoid conflicting scaling mechanisms.

2023-04-06 · [Markdown](<https://sebastien.rigaux.be/en/tech-watch/links/right-size-kubernetes-resources-with-vertical-pod-autoscaler.md>) · [Original resource](<https://code.egym.com/vertical-pod-autoscaler-in-kubernetes-b12a5c61393f>)
