digraph { subgraph "benchmark_serving website" { label = "benchmark 'serving website'"; subgraph "serving website_0_looper" { label = "looper user 0"; subgraph "requests_0" { label = "requests 0"; node [ style = filled, color = lightgray ]; "serving website_0_0" [ label = "Fragment Request 0",shape = box ]; "serving website_0_1" [ label = "Fragment Request 1",shape = box ]; "serving website_0_2" [ label = "Fragment Request 2",shape = box ]; "serving website_0_3" [ label = "Fragment Request 3",shape = box ]; "serving website_0_0" -> "serving website_0_1"; "serving website_0_1" -> "serving website_0_2"; "serving website_0_2" -> "serving website_0_3"; "serving website_0_3" -> "serving website_0_0"; }; "serving website_0" [ label = "looper user #0" ]; "serving website_0_0"; "serving website_0" -> "serving website_0_0"; }; subgraph "serving website_1_looper" { label = "looper user 1"; subgraph "requests_1" { label = "requests 1"; node [ style = filled, color = lightgray ]; "serving website_1_0" [ label = "Fragment Request 0",shape = box ]; "serving website_1_1" [ label = "Fragment Request 1",shape = box ]; "serving website_1_2" [ label = "Fragment Request 2",shape = box ]; "serving website_1_3" [ label = "Fragment Request 3",shape = box ]; "serving website_1_0" -> "serving website_1_1"; "serving website_1_1" -> "serving website_1_2"; "serving website_1_2" -> "serving website_1_3"; "serving website_1_3" -> "serving website_1_0"; }; "serving website_1" [ label = "looper user #1" ]; "serving website_1_0"; "serving website_1" -> "serving website_1_0"; }; subgraph "serving website_2_looper" { label = "looper user 2"; subgraph "requests_2" { label = "requests 2"; node [ style = filled, color = lightgray ]; "serving website_2_0" [ label = "Fragment Request 0",shape = box ]; "serving website_2_1" [ label = "Fragment Request 1",shape = box ]; "serving website_2_2" [ label = "Fragment Request 2",shape = box ]; "serving website_2_3" [ label = "Fragment Request 3",shape = box ]; "serving website_2_0" -> "serving website_2_1"; "serving website_2_1" -> "serving website_2_2"; "serving website_2_2" -> "serving website_2_3"; "serving website_2_3" -> "serving website_2_0"; }; "serving website_2" [ label = "looper user #2" ]; "serving website_2_0"; "serving website_2" -> "serving website_2_0"; }; subgraph "serving website_3_looper" { label = "looper user 3"; subgraph "requests_3" { label = "requests 3"; node [ style = filled, color = lightgray ]; "serving website_3_0" [ label = "Fragment Request 0",shape = box ]; "serving website_3_1" [ label = "Fragment Request 1",shape = box ]; "serving website_3_2" [ label = "Fragment Request 2",shape = box ]; "serving website_3_3" [ label = "Fragment Request 3",shape = box ]; "serving website_3_0" -> "serving website_3_1"; "serving website_3_1" -> "serving website_3_2"; "serving website_3_2" -> "serving website_3_3"; "serving website_3_3" -> "serving website_3_0"; }; "serving website_3" [ label = "looper user #3" ]; "serving website_3_0"; "serving website_3" -> "serving website_3_0"; }; subgraph "serving website_4_looper" { label = "looper user 4"; subgraph "requests_4" { label = "requests 4"; node [ style = filled, color = lightgray ]; "serving website_4_0" [ label = "Fragment Request 0",shape = box ]; "serving website_4_1" [ label = "Fragment Request 1",shape = box ]; "serving website_4_2" [ label = "Fragment Request 2",shape = box ]; "serving website_4_3" [ label = "Fragment Request 3",shape = box ]; "serving website_4_0" -> "serving website_4_1"; "serving website_4_1" -> "serving website_4_2"; "serving website_4_2" -> "serving website_4_3"; "serving website_4_3" -> "serving website_4_0"; }; "serving website_4" [ label = "looper user #4" ]; "serving website_4_0"; "serving website_4" -> "serving website_4_0"; }; "benchmark 'serving website'"; "serving website_0"; "serving website_1"; "serving website_2"; "serving website_3"; "serving website_4"; "benchmark 'serving website'" -> "serving website_0"; "benchmark 'serving website'" -> "serving website_1"; "benchmark 'serving website'" -> "serving website_2"; "benchmark 'serving website'" -> "serving website_3"; "benchmark 'serving website'" -> "serving website_4"; }; subgraph "benchmark_creating a post" { label = "benchmark 'creating a post'"; subgraph "creating a post_0_looper" { label = "looper user 0"; subgraph "requests_0" { label = "requests 0"; node [ style = filled, color = lightgray ]; "creating a post_0_0" [ label = "Fragment Request 0",shape = box ]; "creating a post_0_1" [ label = "Fragment Request 1",shape = box ]; "creating a post_0_2" [ label = "Fragment Request 2",shape = box ]; "creating a post_0_3" [ label = "Fragment Request 3",shape = box ]; "creating a post_0_0" -> "creating a post_0_1"; "creating a post_0_1" -> "creating a post_0_2"; "creating a post_0_2" -> "creating a post_0_3"; "creating a post_0_3" -> "creating a post_0_0"; }; "creating a post_0" [ label = "looper user #0" ]; "creating a post_0_0"; "creating a post_0" -> "creating a post_0_0"; }; subgraph "creating a post_1_looper" { label = "looper user 1"; subgraph "requests_1" { label = "requests 1"; node [ style = filled, color = lightgray ]; "creating a post_1_0" [ label = "Fragment Request 0",shape = box ]; "creating a post_1_1" [ label = "Fragment Request 1",shape = box ]; "creating a post_1_2" [ label = "Fragment Request 2",shape = box ]; "creating a post_1_3" [ label = "Fragment Request 3",shape = box ]; "creating a post_1_0" -> "creating a post_1_1"; "creating a post_1_1" -> "creating a post_1_2"; "creating a post_1_2" -> "creating a post_1_3"; "creating a post_1_3" -> "creating a post_1_0"; }; "creating a post_1" [ label = "looper user #1" ]; "creating a post_1_0"; "creating a post_1" -> "creating a post_1_0"; }; subgraph "creating a post_2_looper" { label = "looper user 2"; subgraph "requests_2" { label = "requests 2"; node [ style = filled, color = lightgray ]; "creating a post_2_0" [ label = "Fragment Request 0",shape = box ]; "creating a post_2_1" [ label = "Fragment Request 1",shape = box ]; "creating a post_2_2" [ label = "Fragment Request 2",shape = box ]; "creating a post_2_3" [ label = "Fragment Request 3",shape = box ]; "creating a post_2_0" -> "creating a post_2_1"; "creating a post_2_1" -> "creating a post_2_2"; "creating a post_2_2" -> "creating a post_2_3"; "creating a post_2_3" -> "creating a post_2_0"; }; "creating a post_2" [ label = "looper user #2" ]; "creating a post_2_0"; "creating a post_2" -> "creating a post_2_0"; }; subgraph "creating a post_3_looper" { label = "looper user 3"; subgraph "requests_3" { label = "requests 3"; node [ style = filled, color = lightgray ]; "creating a post_3_0" [ label = "Fragment Request 0",shape = box ]; "creating a post_3_1" [ label = "Fragment Request 1",shape = box ]; "creating a post_3_2" [ label = "Fragment Request 2",shape = box ]; "creating a post_3_3" [ label = "Fragment Request 3",shape = box ]; "creating a post_3_0" -> "creating a post_3_1"; "creating a post_3_1" -> "creating a post_3_2"; "creating a post_3_2" -> "creating a post_3_3"; "creating a post_3_3" -> "creating a post_3_0"; }; "creating a post_3" [ label = "looper user #3" ]; "creating a post_3_0"; "creating a post_3" -> "creating a post_3_0"; }; subgraph "creating a post_4_looper" { label = "looper user 4"; subgraph "requests_4" { label = "requests 4"; node [ style = filled, color = lightgray ]; "creating a post_4_0" [ label = "Fragment Request 0",shape = box ]; "creating a post_4_1" [ label = "Fragment Request 1",shape = box ]; "creating a post_4_2" [ label = "Fragment Request 2",shape = box ]; "creating a post_4_3" [ label = "Fragment Request 3",shape = box ]; "creating a post_4_0" -> "creating a post_4_1"; "creating a post_4_1" -> "creating a post_4_2"; "creating a post_4_2" -> "creating a post_4_3"; "creating a post_4_3" -> "creating a post_4_0"; }; "creating a post_4" [ label = "looper user #4" ]; "creating a post_4_0"; "creating a post_4" -> "creating a post_4_0"; }; "benchmark 'creating a post'"; "creating a post_0"; "creating a post_1"; "creating a post_2"; "creating a post_3"; "creating a post_4"; "benchmark 'creating a post'" -> "creating a post_0"; "benchmark 'creating a post'" -> "creating a post_1"; "benchmark 'creating a post'" -> "creating a post_2"; "benchmark 'creating a post'" -> "creating a post_3"; "benchmark 'creating a post'" -> "creating a post_4"; }; "EventMachine.run" -> "benchmark 'serving website'"; "EventMachine.run" -> "benchmark 'creating a post'"; }