Lesson 1Backend Node.js monitoring: automatic vs manual tracing, HTTP middleware, capturing spans for middleware, business logic and downstream callsThis section explains Node.js backend monitoring, comparing automatic and manual tracing, and showing how to capture spans for HTTP middleware, business logic, and calls to databases, caches, and external services for full request visibility.
Choosing automatic versus manual instrumentationTracing Express and Koa middleware chainsCapturing spans for core business operationsInstrumenting outbound HTTP and gRPC clientsHandling async context and promise boundariesLesson 2Database monitoring: PostgreSQL query timings, slow query logging, connection pool metrics, statement-level tracingThis section focuses on PostgreSQL monitoring, including query timing, slow query logging, connection pool metrics, and statement-level tracing, so you can find bottlenecks, tune queries, and understand database impact on end-user latency.
Enabling query timing and latency histogramsConfiguring slow query thresholds and loggingMonitoring connection pool size and saturationTracing prepared statements and ORM queriesTagging queries with tenant and feature dataLesson 3Frontend monitoring: metrics to capture (page load, Core Web Vitals, TTFB, FID, LCP, CLS), measuring single-page application routing and synthetic transactionsThis section covers browser performance monitoring, including Core Web Vitals, SPA routing, and synthetic transactions, enabling you to capture consistent frontend metrics, detect regressions, and link client behaviour to backend performance.
Capturing Core Web Vitals in productionMeasuring TTFB, FID, LCP, CLS, and long tasksInstrumenting SPA route changes and virtual viewsModeling synthetic user flows in the frontendTagging frontend metrics with release versionsLesson 4Logging and metrics correlation: structured logs, log enrichment with trace IDs, centralised log ingestion pointsThis section explains how to correlate logs and metrics using structured logging, trace and span identifiers, and centralised ingestion. You will learn to build queries and dashboards that connect events, performance, and user impact.
Designing structured log schemas and fieldsEnriching logs with trace and span identifiersCentralizing log ingestion and parsing rulesLinking metrics, logs, and traces in dashboardsDefining retention and access control policiesLesson 5Backend Java (Spring Boot) monitoring: agent-based tracing, configuring spans for controllers, filters, database calls and external HTTP/gRPCThis section describes Java Spring Boot monitoring using agents and configuration, covering spans for controllers, filters, database calls, and external HTTP or gRPC requests, to achieve consistent, low-friction tracing across Java services.
Deploying Java agents in different environmentsConfiguring controller and filter span boundariesTracing JDBC, JPA, and reactive database callsInstrumenting outbound HTTP and gRPC clientsCustom spans for business and domain eventsLesson 6Distributed tracing design: trace context propagation, sampling strategies, span naming conventions and metadata/taggingThis section explains distributed tracing design, including trace context propagation, sampling strategies, span naming, and tagging. You will learn how to create consistent, low-overhead traces that support debugging, SLOs, and dependency analysis.
Propagating W3C trace context across servicesDesigning head and tail sampling strategiesDefining span naming rules and hierarchiesStandardizing tags for teams and environmentsManaging trace volume and retention policiesLesson 7Frontend monitoring: error collection (JS exceptions, source maps, unhandled promise rejections) and session/trace correlationThis section addresses frontend error monitoring, including JavaScript exceptions, source maps, unhandled promise rejections, and session correlation, so you can quickly diagnose client-side failures and link them to backend traces.
Capturing runtime JS errors and stack tracesUploading and managing source maps securelyHandling unhandled rejections and console errorsGrouping and prioritizing frontend error eventsLinking sessions to backend traces and logsLesson 8Synthetic monitoring and RUM: configuring synthetic checkout journeys and browser Real User MonitoringThis section explains how to design and configure synthetic journeys and Real User Monitoring, so you can measure availability, performance, and user experience across key flows such as checkout, login, and account management in production and staging.
Designing critical synthetic user journeysConfiguring browser and API synthetic checksSetting SLAs and alert thresholds for syntheticsImplementing browser RUM beacons and samplingCorrelating RUM sessions with backend tracesLesson 9Infrastructure monitoring: Kubernetes metrics (node, pod, container), kubelet/cadvisor, kube-state metrics and cloud provider metricsThis section covers infrastructure monitoring for Kubernetes and cloud platforms, including node, pod, and container metrics, kubelet and kube-state metrics, and cloud provider telemetry, enabling capacity planning and incident triage.
Collecting node, pod, and container metricsScraping kubelet and cAdvisor endpointsUsing kube‑state metrics for cluster healthIntegrating cloud provider metrics and quotasBuilding SLOs for infrastructure resources