Skip to content

Add CRISP-Based Critical Path Analysis and Experiment Topologies to DeathStarBench Hotel Example #184

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

AimanSiddiqui
Copy link

This pull request introduces support for automated critical path analysis using the CRISP plugin and adds new experiment topologies to the DeathStarBench Hotel Reservation example. The changes are designed to facilitate research and teaching on distributed tracing, performance bottlenecks, and system reliability.

Key Changes:

  1. CRISP Integration:
  • Added the CRISP plugin as a container in the wiring specs for the Hotel Reservation example.
  • CRISP now reads the Jaeger URL from an environment variable (JAEGER_URL), making it flexible for different deployments.
  • Comprehensive documentation for CRISP usage and analysis in CRISP_ANALYSIS.md.
  1. New Experiment Topologies:
  • Added wiring specs for chain, fanin, and fanout (star) topologies in examples/dsb_hotel/wiring/specs/.
  • Each topology is documented and can be selected at build time.
  1. Documentation Improvements:
  • Updated README.md files throughout the project to include step-by-step instructions for building, running, and analyzing experiments.
  • Main project README now links to the CRISP analysis guide.
  1. Docker Compose and Environment:
  • Ensured all services and the CRISP container are correctly included in the generated Docker Compose files.
  • Documented how to set the Jaeger URL for CRISP via environment variables.

How to Use:

  • See CRISP_ANALYSIS.md for a full guide on building, running, and analyzing critical path experiments.
  • Select different topologies by choosing the appropriate wiring spec (original, chain, fanin, fanout).
  • Build the CRISP Docker image before running experiments.

Motivation:

  • These changes make it easier for users and researchers to:
  • Experiment with different microservice topologies.
  • Perform automated critical path analysis on distributed traces.
  • Understand and improve system reliability using Blueprint.

@vaastav
Copy link
Contributor

vaastav commented Jul 29, 2025

Hi @AimanSiddiqui , thank you for posting this pull request! However, at the moment the pull request is not fully ready to be merged as the CRISP plugin lacks Blueprint-esque features for seamlessly integrating it with the jaeger collector.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants