Fault Tolerance, Observability, and Operational Diagnosis
Learn Logs, Traces, and Metrics first, then analyze time series, use built-in metrics, trace multilingual services, and design bounded recovery with Instana exercises.
Learning Objectives
Distinguish Logs, Traces, and Metrics and correlate them around one user outcome.
Analyze metric time series, including rates, trends, percentiles, rollups, and missing data.
Use built-in infrastructure/runtime metrics and identify where custom business metrics are needed.
Explain trace context propagation across services written in different languages.
Explain partial failure and unknown outcomes after timeouts.
Design bounded deadlines, retries, circuit breakers, bulkheads, and backpressure.
Define user-facing SLIs and evaluate an SLO error budget.
Use Instana application, service, and trace views to collect diagnostic evidence.
Correlate signals without confusing correlation with causation.
Propose a mitigation and verify correctness and recovery with telemetry.
Related spans that follow a request across instrumented service boundaries, including different languages.
Metrics and time series
Timestamped numerical measurements grouped by dimensions; useful for trends and impact analysis.
Partial failure
One dependency can fail or slow down while other components remain available.
Resilience budget
Explicit limits on time, attempts, concurrency, and queued work.
Observability
Use telemetry to investigate internal behavior and explain user-visible outcomes.
SLI and SLO
A measured user outcome and its target over a defined window.
Evidence and hypothesis
Separate measured observations from explanations that still need testing.
Diagrams
Tracing across language boundaries
flowchart LR
N[Node.js gateway] -->|trace context| J[Java checkout]
J -->|trace context| P[Python payment]
N -. spans .-> B[Tracing backend]
J -. spans .-> B
P -. spans .-> B
In this illustrative path, an instrumented Node.js gateway calls Java checkout, which calls Python payment. Compatible context injection and extraction connect spans under one trace ID, while each service emits its own spans to the backend. The languages are examples, not verified sandbox services.
Failure propagation and evidence
flowchart LR
U[Client] --> G[Gateway]
G --> C[Checkout]
C --> P[Slow payment dependency]
C --> I[Inventory]
G -. metrics and traces .-> O[Telemetry]
C -. metrics logs traces .-> O
P -. spans when instrumented .-> O
A slow payment dependency holds checkout requests and can exhaust gateway capacity. Telemetry from each boundary helps distinguish upstream impact from the downstream source; missing instrumentation leaves uncertainty.
The breaker starts closed, opens after the configured failure threshold, and allows limited half-open probes after cooldown. Successful probes restore calls; failed probes reopen it. Thresholds and probe limits are policy choices, and a breaker does not repair a dependency.
Examples, Discussions, and Project Ideas
Slide 2: What you will be able to do
Choose a recovery policy and show how you would verify it.
Explain timeouts, retries, circuit breakers, bulkheads, and backpressure.
Explain Logs, Traces, Metrics; analyze time series and trace requests across different languages.
Produce a short incident report with evidence, uncertainty, mitigation, and validation.
Slide 3: Preparation and session plan
Browser + worksheet; no local agent installation is required.
Required: review the lost-response and idempotency example from the transaction session.
Open the Instana playground; IBM registration or existing access may be required.
Use the supplied synthetic packet if access or relevant telemetry is unavailable.