Evaluating Asynchronous Semantics in Trace-Discovered Resilience Models: A Case Study on the OpenTelemetry Demo

📅 2025-12-13
📈 Citations: 0
Influential: 0
📄 PDF

career value

215K/year
🤖 AI Summary
A key open question in microservice resilience modeling is whether asynchronous semantics—such as Kafka-based message passing—must be explicitly represented in dependency graphs. Method: We propose the first fully automated approach to construct service dependency graphs with asynchronous semantics (e.g., non-blocking Kafka edges) and endpoint success predicates directly from raw OpenTelemetry traces, integrated with closed-loop validation via Monte Carlo simulation and chaos engineering experiments. Contribution/Results: Applied to the OpenTelemetry Demo real-world system, our method achieves end-to-end automation—from trace ingestion to dependency graph construction, availability prediction, and experimental validation—for the first time. Quantitative evaluation shows that incorporating asynchronous semantics has negligible impact (≤10⁻⁵) on instantaneous HTTP endpoint availability predictions; thus, a simple connectivity-based model suffices. This work advances trace-driven resilience modeling from manual, ad-hoc construction toward automation, standardization, and empirical verifiability.

Technology Category

Application Category

📝 Abstract
While distributed tracing and chaos engineering are becoming standard for microservices, resilience models remain largely manual and bespoke. We revisit a trace-discovered connectivity model that derives a service dependency graph from traces and uses Monte Carlo simulation to estimate endpoint availability under fail-stop service failures. Compared to earlier work, we (i) derive the graph directly from raw OpenTelemetry traces, (ii) attach endpoint-specific success predicates, and (iii) add a simple asynchronous semantics that treats Kafka edges as non-blocking for immediate HTTP success. We apply this model to the OpenTelemetry Demo ("Astronomy Shop") using a GitHub Actions workflow that discovers the graph, runs simulations, and executes chaos experiments that randomly kill microservices in a Docker Compose deployment. Across the studied failure fractions, the model reproduces the overall availability degradation curve, while asynchronous semantics for Kafka edges change predicted availabilities by at most about 10^(-5) (0.001 percentage points). This null result suggests that for immediate HTTP availability in this case study, explicitly modeling asynchronous dependencies is not warranted, and a simpler connectivity-only model is sufficient.
Problem

Research questions and friction points this paper is trying to address.

Automates resilience modeling from distributed traces
Evaluates asynchronous semantics in service dependency graphs
Assesses necessity of async modeling for HTTP availability
Innovation

Methods, ideas, or system contributions that make the work stand out.

Derives service dependency graph directly from OpenTelemetry traces
Attaches endpoint-specific success predicates to the model
Adds asynchronous semantics treating Kafka edges as non-blocking