# Prometheus
All Prometheus notes →2 — Exporters
What a Prometheus exporter is, installing Node Exporter as a systemd service, and monitoring the container runtime itself via Docker Engine metrics and cAdvisor.
1 — Client Libraries
Instrumenting an application directly with a Prometheus client library (Go, Java, Python, .NET, Node.js, Rust) rather than relying on exporters or auto-instrumentation.
3 — Custom Instrumentation
Writing your own metrics inside application code — naming conventions, label design, and the business/performance/error/latency metric categories worth instrumenting deliberately.
# Observability
All Observability notes →5 — Label & Attribute Schema Design
Cardinality budget, naming conventions, and the high-churn label traps that turn a cheap metric into a production incident — the design discipline for the labels semantic conventions don't already cover for you.
1 — OpenTelemetry SDKs & Semantic Conventions
OpenTelemetry is a specification and an API/SDK, not a backend — the pieces that make it up, and the semantic-convention vocabulary that lets two unrelated teams' telemetry be queried the same way.
4 — Auto vs. Manual Instrumentation
Four ways a span gets created — hand-written, framework-level auto-instrumentation, eBPF, and service-mesh sidecar capture — and the trade-off between code changes and business context each one makes.
1 — Instrumenting Web APIs
Covers span and metric conventions for HTTP/gRPC API instrumentation — route templating, status code buckets, and latency histograms.
2 — Microservices
Covers instrumenting service-to-service calls consistently enough that a fleet-wide service graph and RED dashboard fall out for free.
3 — Messaging Systems
Covers instrumenting producer/consumer boundaries in queues and streams, where trace context propagation is easiest to get wrong.
4 — Databases
Covers instrumenting query spans and connection-pool metrics without leaking query parameter values as high-cardinality attributes.
5 — Caches
Covers hit/miss/eviction metrics and cache-specific span attributes that distinguish a cache problem from a backing-store problem.
6 — Kubernetes Workloads
Covers instrumenting pods and controllers so workload telemetry correlates cleanly with cluster-level Kubernetes signals.
7 — Serverless
Covers instrumenting cold-start latency and short-lived execution contexts where traditional agent-based collection does not fit.
8 — Batch Jobs
Covers instrumenting long-running, non-request-driven jobs where RED-method dashboards do not directly apply.
9 — Background Workers
Covers instrumenting queue-consumer worker pools — backlog depth, processing latency, and retry/dead-letter visibility.