trace_viz 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +34 -0
- data/README.md +130 -38
- data/examples/example.cast +285 -0
- data/examples/example.rb +94 -23
- data/lib/trace_viz/adapters/base_adapter.rb +0 -2
- data/lib/trace_viz/adapters/trace_point_adapter.rb +17 -11
- data/lib/trace_viz/collectors/base_collector.rb +83 -0
- data/lib/trace_viz/collectors/depth_manager.rb +37 -0
- data/lib/trace_viz/collectors/evaluators/base_evaluator.rb +23 -0
- data/lib/trace_viz/collectors/evaluators/filter_evaluator.rb +30 -0
- data/lib/trace_viz/collectors/evaluators/hidden_evaluator.rb +21 -0
- data/lib/trace_viz/collectors/filters/base_filter.rb +23 -0
- data/lib/trace_viz/collectors/filters/exclude_classes_filter.rb +28 -0
- data/lib/trace_viz/collectors/filters/exclude_default_classes_filter.rb +38 -0
- data/lib/trace_viz/collectors/filters/exclude_gems_filter.rb +30 -0
- data/lib/trace_viz/collectors/filters/exclude_internal_call_filter.rb +31 -0
- data/lib/trace_viz/collectors/filters/exclude_rails_framework_filter.rb +38 -0
- data/lib/trace_viz/collectors/filters/include_classes_filter.rb +28 -0
- data/lib/trace_viz/collectors/filters/include_gems_filter.rb +54 -0
- data/lib/trace_viz/collectors/filters/registry.rb +59 -0
- data/lib/trace_viz/collectors/matchers/trace_point_action_matcher.rb +36 -0
- data/lib/trace_viz/collectors/matchers/within_depth_matcher.rb +25 -0
- data/lib/trace_viz/collectors/trace_point_collector.rb +51 -0
- data/lib/trace_viz/collectors/trace_stats.rb +21 -0
- data/lib/trace_viz/config/copier.rb +38 -0
- data/lib/trace_viz/config/validator.rb +74 -0
- data/lib/trace_viz/configuration.rb +36 -30
- data/lib/trace_viz/context/config_context.rb +1 -1
- data/lib/trace_viz/context/manager.rb +17 -21
- data/lib/trace_viz/context/map.rb +29 -0
- data/lib/trace_viz/context/registry.rb +37 -0
- data/lib/trace_viz/context/tracking/active_calls.rb +37 -0
- data/lib/trace_viz/context/tracking_context.rb +7 -2
- data/lib/trace_viz/context.rb +2 -2
- data/lib/trace_viz/core/tracer.rb +1 -0
- data/lib/trace_viz/defaults.rb +139 -0
- data/lib/trace_viz/exporters/base_exporter.rb +84 -0
- data/lib/trace_viz/exporters/formatters/base_formatter.rb +12 -0
- data/lib/trace_viz/exporters/formatters/method_call_formatter.rb +21 -0
- data/lib/trace_viz/exporters/formatters/method_return_formatter.rb +22 -0
- data/lib/trace_viz/exporters/text_exporter.rb +15 -0
- data/lib/trace_viz/exporters/transformers/base_transformer.rb +25 -0
- data/lib/trace_viz/exporters/transformers/text_transformer.rb +28 -0
- data/lib/trace_viz/formatters/base_formatter.rb +42 -0
- data/lib/trace_viz/formatters/helpers/depth_helper.rb +21 -0
- data/lib/trace_viz/formatters/helpers/indent_helper.rb +15 -0
- data/lib/trace_viz/formatters/helpers/method_details_helper.rb +15 -0
- data/lib/trace_viz/formatters/helpers/params_helper.rb +26 -0
- data/lib/trace_viz/formatters/helpers/result_helper.rb +21 -0
- data/lib/trace_viz/formatters/helpers/source_helper.rb +21 -0
- data/lib/trace_viz/formatters/helpers/time_helper.rb +15 -0
- data/lib/trace_viz/logger.rb +37 -47
- data/lib/trace_viz/loggers/trace_builder.rb +30 -0
- data/lib/trace_viz/loggers/trace_formatters/base_formatter.rb +32 -0
- data/lib/trace_viz/loggers/trace_formatters/method_call_formatter.rb +21 -0
- data/lib/trace_viz/loggers/trace_formatters/method_return_formatter.rb +22 -0
- data/lib/trace_viz/loggers/trace_logger.rb +38 -0
- data/lib/trace_viz/loggers/trace_stats_logger.rb +33 -0
- data/lib/trace_viz/trace_data/base.rb +56 -0
- data/lib/trace_viz/trace_data/trace_point/base.rb +68 -0
- data/lib/trace_viz/trace_data/trace_point/method_call.rb +42 -0
- data/lib/trace_viz/trace_data/trace_point/method_return.rb +25 -0
- data/lib/trace_viz/trace_data/trace_point_builder.rb +23 -0
- data/lib/trace_viz/utils/colorize.rb +12 -23
- data/lib/trace_viz/utils/format_utils.rb +67 -0
- data/lib/trace_viz/version.rb +1 -1
- metadata +58 -13
- data/lib/trace_viz/adapters/trace_point/depth_manager.rb +0 -34
- data/lib/trace_viz/adapters/trace_point/event_handler.rb +0 -36
- data/lib/trace_viz/adapters/trace_point/trace_data.rb +0 -89
- data/lib/trace_viz/adapters/trace_point/trace_formatter.rb +0 -95
- data/lib/trace_viz/adapters/trace_point/trace_logger.rb +0 -44
- data/lib/trace_viz/context/manager/context_map.rb +0 -31
- data/lib/trace_viz/context/manager/context_operations.rb +0 -60
- data/lib/trace_viz/context/manager/context_registry.rb +0 -20
- data/lib/trace_viz/context/manager/context_validation.rb +0 -34
@@ -0,0 +1,285 @@
|
|
1
|
+
{"version": 2, "width": 212, "height": 59, "timestamp": 1735147257, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
|
2
|
+
[0.64568, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
|
3
|
+
[0.646231, "o", "\u001b]2;patrick204nqh@Patrick-Mac:~/Desktop/sandbox/trace_viz\u0007\u001b]1;..box/trace_viz\u0007"]
|
4
|
+
[0.648024, "o", "\u001b]7;file://Patrick-Mac.local/Users/patrick204nqh/Desktop/sandbox/trace_viz\u001b\\"]
|
5
|
+
[0.738818, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
6
|
+
[0.738961, "o", "\u001b[?1h\u001b=\u001b[?2004h"]
|
7
|
+
[0.792791, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
8
|
+
[0.914575, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
9
|
+
[0.971096, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
10
|
+
[1.108353, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
11
|
+
[1.774491, "o", "\u001b[H\u001b[2J\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
12
|
+
[4.833607, "o", "b"]
|
13
|
+
[4.843204, "o", "\b\u001b[4mb\u001b[24m"]
|
14
|
+
[4.84343, "o", "\b\u001b[4mb\u001b[24m\u001b[90mat tmp/trace_output.txt\u001b[39m\u001b[23D"]
|
15
|
+
[5.002367, "o", "\b\u001b[4mb\u001b[39m\u001b[4ma\u001b[24m"]
|
16
|
+
[5.009045, "o", "\b\b\u001b[24m\u001b[1m\u001b[31mb\u001b[24m\u001b[1m\u001b[31ma\u001b[0m\u001b[39m"]
|
17
|
+
[5.279827, "o", "\b\b\u001b[1m\u001b[31mb\u001b[1m\u001b[31ma\u001b[1m\u001b[31mt\u001b[0m\u001b[39m"]
|
18
|
+
[5.28265, "o", "\b\b\b\u001b[0m\u001b[32mb\u001b[0m\u001b[32ma\u001b[0m\u001b[32mt\u001b[39m"]
|
19
|
+
[6.248245, "o", "\b\u001b[32mt\u001b[32m \u001b[39m"]
|
20
|
+
[6.250512, "o", "\b\b\u001b[32mt\u001b[39m\u001b[39m "]
|
21
|
+
[6.558669, "o", "\u001b[39me\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[19D"]
|
22
|
+
[6.561992, "o", "\b\u001b[4me\u001b[24m"]
|
23
|
+
[6.562225, "o", "\u001b[90mxamples/example.rb\u001b[39m\u001b[18D"]
|
24
|
+
[6.804794, "o", "\b\u001b[4me\u001b[39m\u001b[4mx\u001b[24m"]
|
25
|
+
[6.909949, "o", "\b\u001b[4mx\u001b[39m\u001b[4ma\u001b[24m"]
|
26
|
+
[7.634714, "o", "\u001b[39mm\u001b[39mp\u001b[39ml\u001b[39me\u001b[39ms\u001b[39m/\u001b[39me\u001b[39mx\u001b[39ma\u001b[39mm\u001b[39mp\u001b[39ml\u001b[39me\u001b[39m.\u001b[39mr\u001b[39mb"]
|
27
|
+
[7.636148, "o", "\u001b[17D\u001b[4ma\u001b[4mm\u001b[4mp\u001b[4ml\u001b[4me\u001b[4ms\u001b[4m/\u001b[4me\u001b[4mx\u001b[4ma\u001b[4mm\u001b[4mp\u001b[4ml\u001b[4me\u001b[4m.\u001b[4mr\u001b[4mb\u001b[24m"]
|
28
|
+
[7.99046, "o", "\u001b[?1l\u001b>"]
|
29
|
+
[7.990625, "o", "\u001b[?2004l"]
|
30
|
+
[7.993914, "o", "\r\r\n"]
|
31
|
+
[7.994761, "o", "\u001b]2;bat examples/example.rb\u0007\u001b]1;bat\u0007"]
|
32
|
+
[8.070849, "o", "\u001b[?1049h\u001b[?1h\u001b=\r\u001b[38;5;238m───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mexamples/example.rb\u001b[0m\u001b[m\r\n\u001b[38;5;238m───────┼────────────────────────────────────────────────────────────────────────────────────"]
|
33
|
+
[8.070997, "o", "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n\u001b[38;5;238m 1\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;246;170;17m$\u001b[0m\u001b[38;2;255;255;255mLOAD_PATH\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242munshift\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;102;217;239mFile\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242mexpand_path\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;230;219;116m../lib\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239m__dir__\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 2\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;249;38;114mrequire\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;230;219;116mtrace_viz\u001b[0m\u001b[38;2;249;38;114m"]
|
34
|
+
[8.071099, "o", "\"\u001b[0m\u001b[m\r\n\u001b[38;5;238m 3\u001b[0m \u001b[31m_\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 4\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;249;38;114mclass\u001b[0m\u001b[38;2;166;226;46m \u001b[0m\u001b[4;38;2;102;217;239mCalculator\u001b[0m\u001b[m\r\n\u001b[38;5;238m 5\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;166;226;46m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17minitialize\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31mfactor\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 6\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17m@\u001b[0m\u001b[38;2;255;255;255mfactor\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114m=\u001b[0m\u001b[38;2;248;248;242m factor\u001b[0m\u001b[m\r\n\u001b[38;5;238m 7\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n\u001b[38;5;238m 8\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 9\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;117;113;94m#\u001b[0m\u001b[38;2;117;113;94m A method that triggers a chain of calculations\u001b[0m\u001b[m\r\n\u001b[38;5;238m 10\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[3"]
|
35
|
+
[8.071193, "o", "8;2;248;2"]
|
36
|
+
[8.071343, "o", "48;242m \u001b[0m\u001b[38;2;246;170;17mcalculate_chain\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31ma\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;253;151;31mb\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 11\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m sum \u001b[0m\u001b[38;2;249;38;114m=\u001b[0m\u001b[38;2;248;248;242m add\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;248;248;242ma\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m b\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 12\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m scaled \u001b[0m\u001b[38;2;249;38;114m=\u001b[0m\u001b[38;2;248;248;242m scale\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;248;248;242msum\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 13\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m complex_operation\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;248;248;242mscaled\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 14\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n\u001b[38;5;238m 15\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 16\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0"]
|
37
|
+
[8.071405, "o", "m\u001b[38;2;117;113;94m#\u001b[0m\u001b[38;2;117;113;94m Basic addition\u001b[0m\u001b[m\r\n\u001b[38;5;238m 17\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17madd\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31mx\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;253;151;31my\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 18\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239msleep\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;190;132;255m0\u001b[0m\u001b[38;2;190;132;255m.\u001b[0m\u001b[38;2;190;132;255m05\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 19\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m x \u001b[0m\u001b[38;2;249;38;114m+\u001b[0m\u001b[38;2;248;248;242m y\u001b[0m\u001b[m\r\n\u001b[38;5;238m 20\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n\u001b[38;5;238m 21\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 22\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;117;113;94m#\u001b[0m\u001b[38;2;117;113;94m Scaling a number by the factor\u001b[0m\u001b[m\r\n\u001b[38;5;238m 23\u001b[0m \u001b[38;5;238m│\u001b"]
|
38
|
+
[8.071483, "o", "[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17mscale\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31mvalue\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 24\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239msleep\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;190;132;255m0\u001b[0m\u001b[38;2;190;132;255m.\u001b[0m\u001b[38;2;190;132;255m05\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 25\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m value \u001b[0m\u001b[38;2;249;38;114m*\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17m@\u001b[0m\u001b[38;2;255;255;255mfactor\u001b[0m\u001b[m\r\n\u001b[38;5;238m 26\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n\u001b[38;5;238m 27\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 28\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;117;113;94m#\u001b[0m\u001b[38;2;117;113;94m Complex operation involving another class\u001b[0m\u001b[m\r\n\u001b[38;5;238m 29\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17mcomple"]
|
39
|
+
[8.071526, "o", "x_operation\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31mvalue\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 30\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239msleep\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;190;132;255m0\u001b[0m\u001b[38;2;190;132;255m.\u001b[0m\u001b[38;2;190;132;255m05\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 31\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mLogger\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;166;226;46mnew\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242mlog\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;230;219;116mStarting complex operation\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 32\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m divider \u001b[0m\u001b[38;2;249;38;114m=\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mDivider\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;166;226;46mnew\u001b[0m\u001b[m\r\n\u001b[38;5;238m 33\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m divider\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242mdivide_and_process\u001b[0m\u001b[38;2;255;255;2"]
|
40
|
+
[8.071568, "o", "55m(\u001b[0m\u001b[38;2;248;"]
|
41
|
+
[8.071652, "o", "248;242mvalue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;190;132;255m2\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 34\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n\u001b[38;5;238m 35\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n\u001b[38;5;238m 36\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 37\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;249;38;114mclass\u001b[0m\u001b[38;2;166;226;46m \u001b[0m\u001b[4;38;2;102;217;239mDivider\u001b[0m\u001b[m\r\n\u001b[38;5;238m 38\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;166;226;46m \u001b[0m\u001b[38;2;117;113;94m#\u001b[0m\u001b[38;2;117;113;94m Divides a number and calls a nested method\u001b[0m\u001b[m\r\n\u001b[38;5;238m 39\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17mdivide_and_process\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31mvalue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;253;151;31mdivisor\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 40\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m result \u001b[0m\u001b[38;2;249;38;114m=\u001b"]
|
42
|
+
[8.071726, "o", "[0m\u001b[38;2;248;248;242m divide\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;248;248;242mvalue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m divisor\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 41\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m process_divided_result\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;248;248;242mresult\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 42\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n\u001b[38;5;238m 43\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 44\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;117;113;94m#\u001b[0m\u001b[38;2;117;113;94m Performs division\u001b[0m\u001b[m\r\n\u001b[38;5;238m 45\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17mdivide\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31ma\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;253;151;31mb\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 46\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mraise\u001b[0m\u001b[38;2;248;248;242m \u001b["]
|
43
|
+
[8.071781, "o", "0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;230;219;116mDivision by zero!\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mif\u001b[0m\u001b[38;2;248;248;242m b\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242mzero?\u001b[0m\u001b[m\r\n\u001b[38;5;238m 47\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 48\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239msleep\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;190;132;255m0\u001b[0m\u001b[38;2;190;132;255m.\u001b[0m\u001b[38;2;190;132;255m05\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 49\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m a \u001b[0m\u001b[38;2;249;38;114m/\u001b[0m\u001b[38;2;248;248;242m b\u001b[0m\u001b[m\r\n\u001b[38;5;238m 50\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n\u001b[38;5;238m 51\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m 52\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;117;113;94m#\u001b[0m\u001b[38;2;117;113;94m Processes the divided result further\u001b[0m\u001b[m\r\n\u001b[38;5;238m 53\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;"]
|
44
|
+
[8.071839, "o", "2;246;170;17mproc"]
|
45
|
+
[8.071868, "o", "ess_divided_result\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31mvalue\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 54\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mLogger\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;166;226;46mnew\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242mlog\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;230;219;116mProcessing divided result: \u001b[0m\u001b[38;2;248;248;242m#{\u001b[0m\u001b[38;2;248;248;242mvalue\u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 55\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m nested_process\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;248;248;242mvalue\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n:\u001b[K"]
|
46
|
+
[10.116272, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
47
|
+
[10.116331, "o", "\u001b[38;5;238m 56\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n:\u001b[K"]
|
48
|
+
[10.146992, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
49
|
+
[10.147073, "o", "\u001b[38;5;238m 57\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n:\u001b[K"]
|
50
|
+
[10.163626, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 58\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;117;113;94m#\u001b[0m\u001b[38;2;117;113;94m A nested operation\u001b[0m\u001b[m\r\n:\u001b[K"]
|
51
|
+
[10.180272, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 59\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17mnested_process\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31mvalue\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n:\u001b[K"]
|
52
|
+
[10.196812, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
53
|
+
[10.19695, "o", "\u001b[38;5;238m 60\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239msleep\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;190;132;255m0\u001b[0m\u001b[38;2;190;132;255m.\u001b[0m\u001b[38;2;190;132;255m05\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n:\u001b[K"]
|
54
|
+
[10.215983, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
55
|
+
[10.216091, "o", "\u001b[38;5;238m 61\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mLogger\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;166;226;46mnew\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242mlog\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;230;219;116mFinal nested processing on \u001b[0m\u001b[38;2;248;248;242m#{\u001b[0m\u001b[38;2;248;248;242mvalue\u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n:\u001b[K"]
|
56
|
+
[10.239924, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
57
|
+
[10.240002, "o", "\u001b[38;5;238m 62\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m value \u001b[0m\u001b[38;2;249;38;114m+\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;190;132;255m10\u001b[0m\u001b[m\r\n:\u001b[K"]
|
58
|
+
[10.264725, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 63\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n:\u001b[K"]
|
59
|
+
[10.299632, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
60
|
+
[10.299742, "o", "\u001b[38;5;238m 64\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n:\u001b[K"]
|
61
|
+
[10.322251, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 65\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n:\u001b[K"]
|
62
|
+
[10.338525, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 66\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;249;38;114mclass\u001b[0m\u001b[38;2;166;226;46m \u001b[0m\u001b[4;38;2;102;217;239mLogger\u001b[0m\u001b[m\r\n:\u001b[K"]
|
63
|
+
[10.363229, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 67\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;166;226;46m \u001b[0m\u001b[38;2;249;38;114mdef\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;170;17mlog\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;253;151;31mmessage\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n:\u001b[K"]
|
64
|
+
[10.380024, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
65
|
+
[10.380178, "o", "\u001b[38;5;238m 68\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239msleep\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;190;132;255m0\u001b[0m\u001b[38;2;190;132;255m.\u001b[0m\u001b[38;2;190;132;255m01\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n:\u001b[K"]
|
66
|
+
[10.396664, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
67
|
+
[10.396691, "o", "\u001b[38;5;238m 69\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mputs\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;230;219;116m[LOG] \u001b[0m\u001b[38;2;248;248;242m#{\u001b[0m\u001b[38;2;248;248;242mmessage\u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[m\r\n:\u001b[K"]
|
68
|
+
[10.413701, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 70\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n:\u001b[K"]
|
69
|
+
[10.430283, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
70
|
+
[10.430421, "o", "\u001b[38;5;238m 71\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n:\u001b[K"]
|
71
|
+
[10.43825, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
72
|
+
[10.438269, "o", "\u001b[38;5;238m 72\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[m\r\n:\u001b[K"]
|
73
|
+
[10.4552, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 73\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;102;217;239mTraceViz\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242mtrace\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[m\r\n:\u001b[K"]
|
74
|
+
[10.480994, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 74\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mgeneral\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m{\u001b[0m\u001b[m\r\n:\u001b[K"]
|
75
|
+
[10.496674, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
76
|
+
[10.496726, "o", "\u001b[38;5;238m 75\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mtab_size\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;190;132;255m4\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
77
|
+
[10.522133, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 76\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mshow_indent\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
78
|
+
[10.547977, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
79
|
+
[10.548062, "o", "\u001b[38;5;238m 77\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mshow_depth\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
80
|
+
[10.571783, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
81
|
+
[10.571856, "o", "\u001b[38;5;238m 78\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mmax_display_depth\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;190;132;255m10\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
82
|
+
[10.606774, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 79\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mshow_method_name\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
83
|
+
[10.648629, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 80\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
84
|
+
[10.690297, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
85
|
+
[10.690464, "o", "\u001b[38;5;238m 81\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mparams\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m{\u001b[0m\u001b[m\r\n:\u001b[K"]
|
86
|
+
[10.748575, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 82\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mshow\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
87
|
+
[10.81526, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
88
|
+
[10.815404, "o", "\u001b[38;5;238m 83\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mmode\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;246;240;128mname_and_value\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
89
|
+
[10.983258, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
90
|
+
[10.983377, "o", "\u001b[38;5;238m 84\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mtruncate_values\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;190;132;255m10\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
91
|
+
[11.038736, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
92
|
+
[11.038815, "o", "\u001b[38;5;238m 85\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
93
|
+
[11.113697, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
94
|
+
[11.113753, "o", "\u001b[38;5;238m 86\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mresult\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m{\u001b[0m\u001b[m\r\n:\u001b[K"]
|
95
|
+
[11.175071, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
96
|
+
[11.175183, "o", "\u001b[38;5;238m 87\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mshow\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
97
|
+
[11.231143, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
98
|
+
[11.231272, "o", "\u001b[38;5;238m 88\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mtruncate_length\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;190;132;255m5\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
99
|
+
[11.291343, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
100
|
+
[11.291782, "o", "\u001b[38;5;238m 89\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
101
|
+
[11.33122, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
102
|
+
[11.33132, "o", "\u001b[38;5;238m 90\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128msource_location\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m{\u001b[0m\u001b[m\r\n:\u001b[K"]
|
103
|
+
[11.365506, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
104
|
+
[11.365599, "o", "\u001b[38;5;238m 91\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mshow\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
105
|
+
[11.38852, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
106
|
+
[11.388552, "o", "\u001b[38;5;238m 92\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mtruncate_length\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;190;132;255m20\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
107
|
+
[11.415886, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 93\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
108
|
+
[11.441992, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
109
|
+
[11.442039, "o", "\u001b[38;5;238m 94\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mexecution\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m{\u001b[0m\u001b[m\r\n:\u001b[K"]
|
110
|
+
[11.463644, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
111
|
+
[11.463706, "o", "\u001b[38;5;238m 95\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mshow_time\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
112
|
+
[11.488566, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
113
|
+
[11.488692, "o", "\u001b[38;5;238m 96\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mshow_trace_events\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m[\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;246;240;128mcall\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;246;240;128mreturn\u001b[0m\u001b[38;2;248;248;242m]\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
114
|
+
[11.514954, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 97\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
115
|
+
[11.540246, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 98\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mfilters\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m[\u001b[0m\u001b[m\r\n:\u001b[K"]
|
116
|
+
[11.554885, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
117
|
+
[11.554935, "o", "\u001b[38;5;238m 99\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;246;240;128mexclude_internal_call\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
118
|
+
[11.575981, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 100\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128minclude_classes\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m{\u001b[0m\u001b[m\r\n:\u001b[K"]
|
119
|
+
[11.588551, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
120
|
+
[11.588726, "o", "\u001b[38;5;238m 101\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mclasses\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m[\u001b[0m\u001b[38;2;102;217;239mCalculator\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mDivider\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mLogger\u001b[0m\u001b[38;2;248;248;242m]\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
121
|
+
[11.613292, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
122
|
+
[11.613409, "o", "\u001b[38;5;238m 102\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[m\r\n:\u001b[K"]
|
123
|
+
[11.649292, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
124
|
+
[11.649419, "o", "\u001b[38;5;238m 103\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m]\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
125
|
+
[11.672046, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 104\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mexport\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m{\u001b[0m\u001b[m\r\n:\u001b[K"]
|
126
|
+
[11.715235, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 105\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128menabled\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
127
|
+
[11.758306, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 106\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128mformat\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;246;240;128mtxt\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[m\r\n:\u001b[K"]
|
128
|
+
[11.858086, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
129
|
+
[11.858211, "o", "\u001b[38;5;238m 107\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;246;240;128moverwrite\u001b[0m\u001b[38;2;246;240;128m:\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;174;129;255mtrue\u001b[0m\u001b[m\r\n:\u001b[K"]
|
130
|
+
[11.89158, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
131
|
+
[11.892863, "o", "\u001b[38;5;238m 108\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[m\r\n:\u001b[K"]
|
132
|
+
[11.913246, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
133
|
+
[11.91337, "o", "\u001b[38;5;238m 109\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;255;255;255m)\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114mdo\u001b[0m\u001b[m\r\n:\u001b[K"]
|
134
|
+
[11.938248, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
135
|
+
[11.938413, "o", "\u001b[38;5;238m 110\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m calculator \u001b[0m\u001b[38;2;249;38;114m=\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mCalculator\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;166;226;46mnew\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;190;132;255m3\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n:\u001b[K"]
|
136
|
+
[11.967097, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 111\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m result \u001b[0m\u001b[38;2;249;38;114m=\u001b[0m\u001b[38;2;248;248;242m calculator\u001b[0m\u001b[38;2;248;248;242m.\u001b[0m\u001b[38;2;248;248;242mcalculate_chain\u001b[0m\u001b[38;2;255;255;255m(\u001b[0m\u001b[38;2;190;132;255m10\u001b[0m\u001b[38;2;248;248;242m,\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;190;132;255m20\u001b[0m\u001b[38;2;255;255;255m)\u001b[0m\u001b[m\r\n:\u001b[K"]
|
137
|
+
[11.996793, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
138
|
+
[11.996933, "o", "\u001b[38;5;238m 112\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;102;217;239mputs\u001b[0m\u001b[38;2;248;248;242m \u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[38;2;230;219;116mFinal result: \u001b[0m\u001b[38;2;248;248;242m#{\u001b[0m\u001b[38;2;248;248;242mresult\u001b[0m\u001b[38;2;248;248;242m}\u001b[0m\u001b[38;2;249;38;114m\"\u001b[0m\u001b[m\r\n:\u001b[K"]
|
139
|
+
[12.030507, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u001b[38;5;238m 113\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;249;38;114mend\u001b[0m\u001b[m\r\n:\u001b[K"]
|
140
|
+
[12.046693, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
141
|
+
[12.046723, "o", "\u001b[38;5;238m───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n:\u001b[K"]
|
142
|
+
[12.074647, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\u0007\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
143
|
+
[12.0881, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
144
|
+
[12.105923, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
145
|
+
[12.13234, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
146
|
+
[12.156743, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
147
|
+
[12.181792, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
148
|
+
[12.214547, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
149
|
+
[12.248182, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
150
|
+
[12.250077, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
151
|
+
[12.290325, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
152
|
+
[12.409303, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
153
|
+
[12.409347, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
154
|
+
[12.457518, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
155
|
+
[12.457887, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
156
|
+
[12.474405, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
157
|
+
[12.474606, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
158
|
+
[12.490261, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
159
|
+
[12.490302, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
160
|
+
[12.507379, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
161
|
+
[12.507636, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
162
|
+
[12.531977, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
163
|
+
[12.532099, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
164
|
+
[12.546664, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
165
|
+
[12.55675, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
166
|
+
[12.573634, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
167
|
+
[12.582173, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
168
|
+
[12.582311, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
169
|
+
[12.59004, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
170
|
+
[12.606783, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
171
|
+
[12.615699, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
172
|
+
[12.631678, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
173
|
+
[12.631731, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
174
|
+
[12.641306, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
175
|
+
[12.655344, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
176
|
+
[12.655457, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
177
|
+
[12.674909, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
178
|
+
[12.688416, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
179
|
+
[12.688534, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
180
|
+
[12.706563, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
181
|
+
[12.706661, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
182
|
+
[12.72186, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[KO\bO\u001b[KB\bB\r\u001b[K"]
|
183
|
+
[12.721905, "o", "\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
|
184
|
+
[16.230674, "o", "\r\u001b[K\u001b[?1l\u001b>\u001b[?1049l"]
|
185
|
+
[16.234603, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
|
186
|
+
[16.234934, "o", "\u001b]2;patrick204nqh@Patrick-Mac:~/Desktop/sandbox/trace_viz\u0007\u001b]1;..box/trace_viz\u0007"]
|
187
|
+
[16.240086, "o", "\u001b]7;file://Patrick-Mac.local/Users/patrick204nqh/Desktop/sandbox/trace_viz\u001b\\"]
|
188
|
+
[16.341667, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mtook \u001b[0m\u001b[1m\u001b[33m8.3s\u001b[0m\u001b[33m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
189
|
+
[16.341758, "o", "\u001b[?1h\u001b=\u001b[?2004h"]
|
190
|
+
[16.39663, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mtook \u001b[0m\u001b[1m\u001b[33m8.3s\u001b[0m\u001b[33m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
191
|
+
[16.521073, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1mtook \u001b[0m\u001b[1m\u001b[33m8.3s\u001b[0m\u001b[33m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
192
|
+
[16.569822, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1mtook \u001b[0m\u001b[1m\u001b[33m8.3s\u001b[0m\u001b[33m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
193
|
+
[16.719055, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1mtook \u001b[0m\u001b[1m\u001b[33m8.3s\u001b[0m\u001b[33m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
194
|
+
[18.16768, "o", "r"]
|
195
|
+
[18.170405, "o", "\b\u001b[32mr\u001b[39m"]
|
196
|
+
[18.170724, "o", "\b\u001b[32mr\u001b[39m\u001b[90muby examples/example.rb\u001b[39m\u001b[23D"]
|
197
|
+
[18.301485, "o", "\b\u001b[32mr\u001b[32mu\u001b[39m"]
|
198
|
+
[18.307918, "o", "\b\b\u001b[1m\u001b[31mr\u001b[1m\u001b[31mu\u001b[0m\u001b[39m"]
|
199
|
+
[18.50469, "o", "\b\b\u001b[1m\u001b[31mr\u001b[1m\u001b[31mu\u001b[1m\u001b[31mb\u001b[0m\u001b[39m"]
|
200
|
+
[18.693919, "o", "\b\u001b[1m\u001b[31mb\u001b[1m\u001b[31my\u001b[0m\u001b[39m"]
|
201
|
+
[18.695187, "o", "\b\b\b\b\u001b[0m\u001b[32mr\u001b[0m\u001b[32mu\u001b[0m\u001b[32mb\u001b[0m\u001b[32my\u001b[39m"]
|
202
|
+
[19.366731, "o", "\u001b[39m \u001b[39me\u001b[39mx\u001b[39ma\u001b[39mm\u001b[39mp\u001b[39ml\u001b[39me\u001b[39ms\u001b[39m/\u001b[39me\u001b[39mx\u001b[39ma\u001b[39mm\u001b[39mp\u001b[39ml\u001b[39me\u001b[39m.\u001b[39mr\u001b[39mb"]
|
203
|
+
[19.368136, "o", "\u001b[19D\u001b[4me\u001b[4mx\u001b[4ma\u001b[4mm\u001b[4mp\u001b[4ml\u001b[4me\u001b[4ms\u001b[4m/\u001b[4me\u001b[4mx\u001b[4ma\u001b[4mm\u001b[4mp\u001b[4ml\u001b[4me\u001b[4m.\u001b[4mr\u001b[4mb\u001b[24m"]
|
204
|
+
[20.01911, "o", "\u001b[?1l\u001b>"]
|
205
|
+
[20.019357, "o", "\u001b[?2004l"]
|
206
|
+
[20.022218, "o", "\r\r\n"]
|
207
|
+
[20.023149, "o", "\u001b]2;ruby examples/example.rb\u0007\u001b]1;ruby\u0007"]
|
208
|
+
[20.227433, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[0]\u001b[0m \u001b[92mCalculator#initialize\u001b[0m \u001b[90mat examples/example.rb:5\u001b[0m \u001b[33m(factor: 3)\u001b[0m\u001b[0m\r\n\u001b[35m🏁 [FINISH] \u001b[34mdepth[0]\u001b[0m \u001b[92mCalculator#initialize\u001b[0m \u001b[36m#=> 3\u001b[0m \u001b[90mat examples/example.rb:7\u001b[0m\u001b[0m\r\n"]
|
209
|
+
[20.227462, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[0]\u001b[0m \u001b[92mCalculator#calculate_chain\u001b[0m \u001b[90mat examples/example.rb:10\u001b[0m \u001b[33m(a: 10, b: 20)\u001b[0m\u001b[0m\r\n\u001b[36m🚀 [START] \u001b[34mdepth[+1]\u001b[0m \u001b[92mCalculator#add\u001b[0m \u001b[90mat examples/example.rb:17\u001b[0m \u001b[33m(x: 10, y: 20)\u001b[0m\u001b[0m\r\n"]
|
210
|
+
[20.280131, "o", "\u001b[35m🏁 [FINISH] \u001b[34mdepth[-1]\u001b[0m \u001b[92mCalculator#add\u001b[0m \u001b[36m#=> 30\u001b[0m \u001b[90mat examples/example.rb:20\u001b[0m\u001b[0m\r\n"]
|
211
|
+
[20.280219, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+1]\u001b[0m \u001b[92mCalculator#scale\u001b[0m \u001b[90mat examples/example.rb:23\u001b[0m \u001b[33m(value: 30)\u001b[0m\u001b[0m\r\n"]
|
212
|
+
[20.335563, "o", "\u001b[35m🏁 [FINISH] \u001b[34mdepth[-1]\u001b[0m \u001b[92mCalculator#scale\u001b[0m \u001b[36m#=> 90\u001b[0m \u001b[90mat examples/example.rb:26\u001b[0m\u001b[0m\r\n"]
|
213
|
+
[20.335599, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+1]\u001b[0m \u001b[92mCalculator#complex_operation\u001b[0m \u001b[90mat examples/example.rb:29\u001b[0m \u001b[33m(value: 90)\u001b[0m\u001b[0m\r\n"]
|
214
|
+
[20.39116, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+2]\u001b[0m \u001b[92mLogger#log\u001b[0m \u001b[90mat examples/example.rb:67\u001b[0m \u001b[33m(message: Starting c...)\u001b[0m\u001b[0m\r\n"]
|
215
|
+
[20.403782, "o", "[LOG] Starting complex operation\r\n"]
|
216
|
+
[20.403912, "o", "\u001b[35m🏁 [FINISH] \u001b[34mdepth[-2]\u001b[0m \u001b[92mLogger#log\u001b[0m \u001b[36m#=> nil\u001b[0m \u001b[90mat examples/example.rb:70\u001b[0m\u001b[0m\r\n"]
|
217
|
+
[20.403998, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+2]\u001b[0m \u001b[92mDivider#divide_and_process\u001b[0m \u001b[90mat examples/example.rb:39\u001b[0m \u001b[33m(value: 90, divisor: 2)\u001b[0m\u001b[0m\r\n"]
|
218
|
+
[20.404205, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+3]\u001b[0m \u001b[92mDivider#divide\u001b[0m \u001b[90mat examples/example.rb:45\u001b[0m \u001b[33m(a: 90, b: 2)\u001b[0m\u001b[0m\r\n"]
|
219
|
+
[20.45964, "o", "\u001b[35m🏁 [FINISH] \u001b[34mdepth[-3]\u001b[0m \u001b[92mDivider#divide\u001b[0m \u001b[36m#=> 45\u001b[0m \u001b[90mat examples/example.rb:50\u001b[0m\u001b[0m\r\n"]
|
220
|
+
[20.459776, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+3]\u001b[0m \u001b[92mDivider#process_divided_result\u001b[0m \u001b[90mat examples/example.rb:53\u001b[0m \u001b[33m(value: 45)\u001b[0m\u001b[0m\r\n"]
|
221
|
+
[20.459855, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+4]\u001b[0m \u001b[92mLogger#log\u001b[0m \u001b[90mat examples/example.rb:67\u001b[0m \u001b[33m(message: Processing...)\u001b[0m\u001b[0m\r\n"]
|
222
|
+
[20.472455, "o", "[LOG] Processing divided result: 45\r\n"]
|
223
|
+
[20.472734, "o", "\u001b[35m🏁 [FINISH] \u001b[34mdepth[-4]\u001b[0m \u001b[92mLogger#log\u001b[0m \u001b[36m#=> nil\u001b[0m \u001b[90mat examples/example.rb:70\u001b[0m\u001b[0m\r\n"]
|
224
|
+
[20.472924, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+4]\u001b[0m \u001b[92mDivider#nested_process\u001b[0m \u001b[90mat examples/example.rb:59\u001b[0m \u001b[33m(value: 45)\u001b[0m\u001b[0m\r\n"]
|
225
|
+
[20.52383, "o", "\u001b[36m🚀 [START] \u001b[34mdepth[+5]\u001b[0m \u001b[92mLogger#log\u001b[0m \u001b[90mat examples/example.rb:67\u001b[0m \u001b[33m(message: Final nest...)\u001b[0m\u001b[0m\r\n"]
|
226
|
+
[20.536452, "o", "[LOG] Final nested processing on 45\r\n"]
|
227
|
+
[20.536603, "o", "\u001b[35m🏁 [FINISH] \u001b[34mdepth[-5]\u001b[0m \u001b[92mLogger#log\u001b[0m \u001b[36m#=> nil\u001b[0m \u001b[90mat examples/example.rb:70\u001b[0m\u001b[0m\r\n"]
|
228
|
+
[20.53671, "o", "\u001b[35m🏁 [FINISH] \u001b[34mdepth[-4]\u001b[0m \u001b[92mDivider#nested_process\u001b[0m \u001b[36m#=> 55\u001b[0m \u001b[90mat examples/example.rb:63\u001b[0m\u001b[0m\r\n\u001b[35m🏁 [FINISH] \u001b[34mdepth[-3]\u001b[0m \u001b[92mDivider#process_divided_result\u001b[0m \u001b[36m#=> 55\u001b[0m \u001b[90mat examples/example.rb:56\u001b[0m\u001b[0m\r\n\u001b[35m🏁 [FINISH] \u001b[34mdepth[-2]\u001b[0m \u001b[92mDivider#divide_and_process\u001b[0m \u001b[36m#=> 55\u001b[0m \u001b[90mat examples/example.rb:42\u001b[0m\u001b[0m\r\n\u001b[35m🏁 [FINISH] \u001b[34mdepth[-1]\u001b[0m \u001b[92mCalculator#complex_operation\u001b[0m \u001b[36m#=> 55\u001b[0m \u001b[90mat examples/example.rb:34\u001b[0m\u001b[0m\r\n\u001b[35m🏁 [FINISH] \u001b[34mdepth[0]\u001b[0m \u001b[92mCalculator#calculate_chain\u001b[0m \u001b[36m#=> 55\u001b[0m \u001b[90mat examples/example.rb:14\u001b[0m\u001b[0m\r\nFinal result: 55\r\n"]
|
229
|
+
[20.536763, "o", "\u001b[4m📊 [STATS] Total Traces: 24 | Max Depth: 5 | Event Counts: [Call: 12, Return: 12]\u001b[0m\r\n"]
|
230
|
+
[20.53703, "o", "\u001b[2;37m🔄 [PROCESSING] Overwriting existing file: tmp/trace_output.txt\u001b[0m\r\n"]
|
231
|
+
[20.538379, "o", "\u001b[92m📤 [EXPORTED] Data successfully exported to tmp/trace_output.txt\u001b[0m\r\n"]
|
232
|
+
[20.539486, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
|
233
|
+
[20.539619, "o", "\u001b]2;patrick204nqh@Patrick-Mac:~/Desktop/sandbox/trace_viz\u0007"]
|
234
|
+
[20.539631, "o", "\u001b]1;..box/trace_viz\u0007"]
|
235
|
+
[20.542084, "o", "\u001b]7;file://Patrick-Mac.local/Users/patrick204nqh/Desktop/sandbox/trace_viz\u001b\\"]
|
236
|
+
[20.643273, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
237
|
+
[20.643363, "o", "\u001b[?1h\u001b=\u001b[?2004h"]
|
238
|
+
[20.697038, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
239
|
+
[20.819721, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
240
|
+
[20.866436, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
241
|
+
[21.010292, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
242
|
+
[26.824578, "o", "a"]
|
243
|
+
[26.829963, "o", "\b\u001b[1m\u001b[31ma\u001b[0m\u001b[39m"]
|
244
|
+
[26.830362, "o", "\b\u001b[1m\u001b[31ma\u001b[0m\u001b[39m\u001b[90msciinema rec trace_viz_demo.cast\u001b[39m\u001b[32D"]
|
245
|
+
[27.232232, "o", "\b\u001b[0m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[33D"]
|
246
|
+
[27.37372, "o", "b"]
|
247
|
+
[27.379121, "o", "\b\u001b[4mb\u001b[24m"]
|
248
|
+
[27.379368, "o", "\b\u001b[4mb\u001b[24m\u001b[90mat examples/example.rb\u001b[39m\u001b[22D"]
|
249
|
+
[27.468568, "o", "\b\u001b[4mb\u001b[39m\u001b[4ma\u001b[24m"]
|
250
|
+
[27.472927, "o", "\b\b\u001b[24m\u001b[1m\u001b[31mb\u001b[24m\u001b[1m\u001b[31ma\u001b[0m\u001b[39m"]
|
251
|
+
[27.971363, "o", "\b\b\u001b[1m\u001b[31mb\u001b[1m\u001b[31ma\u001b[1m\u001b[31mt\u001b[0m\u001b[39m"]
|
252
|
+
[27.973942, "o", "\b\b\b\u001b[0m\u001b[32mb\u001b[0m\u001b[32ma\u001b[0m\u001b[32mt\u001b[39m"]
|
253
|
+
[28.11948, "o", "\b\u001b[32mt\u001b[32m \u001b[39m"]
|
254
|
+
[28.121821, "o", "\b\b\u001b[32mt\u001b[39m\u001b[39m "]
|
255
|
+
[28.350561, "o", "\u001b[39mt\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[18D"]
|
256
|
+
[28.354573, "o", "\b\u001b[4mt\u001b[24m"]
|
257
|
+
[28.354983, "o", "\u001b[90mmp/trace_output.txt\u001b[39m\u001b[19D"]
|
258
|
+
[28.573172, "o", "\b\u001b[4mt\u001b[39m\u001b[4mm\u001b[24m"]
|
259
|
+
[28.718216, "o", "\b\u001b[4mm\u001b[39m\u001b[4mp\u001b[24m"]
|
260
|
+
[29.18966, "o", "\u001b[39m/\u001b[39mt\u001b[39mr\u001b[39ma\u001b[39mc\u001b[39me\u001b[39m_\u001b[39mo\u001b[39mu\u001b[39mt\u001b[39mp\u001b[39mu\u001b[39mt\u001b[39m.\u001b[39mt\u001b[39mx\u001b[39mt"]
|
261
|
+
[29.192524, "o", "\u001b[18D\u001b[4mp\u001b[4m/\u001b[4mt\u001b[4mr\u001b[4ma\u001b[4mc\u001b[4me\u001b[4m_\u001b[4mo\u001b[4mu\u001b[4mt\u001b[4mp\u001b[4mu\u001b[4mt\u001b[4m.\u001b[4mt\u001b[4mx\u001b[4mt\u001b[24m"]
|
262
|
+
[29.653735, "o", "\u001b[?1l\u001b>"]
|
263
|
+
[29.65398, "o", "\u001b[?2004l"]
|
264
|
+
[29.656753, "o", "\r\r\n"]
|
265
|
+
[29.657805, "o", "\u001b]2;bat tmp/trace_output.txt\u0007\u001b]1;bat\u0007"]
|
266
|
+
[29.690057, "o", "\r\u001b[38;5;238m───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mtmp/trace_output.txt\u001b[0m\u001b[m\r\n\u001b[38;5;238m───────┼─────────────────────────────────────────────────────────────────────────────────────────"]
|
267
|
+
[29.690181, "o", ""]
|
268
|
+
[29.690364, "o", "───────────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n\u001b[38;5;238m 1\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[0] Calculator#initialize at examples/example.rb:5 (factor: 3)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 2\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[0] Calculator#initialize #=> 3 at examples/example.rb:7\u001b[0m\u001b[m\r\n\u001b[38;5;238m 3\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[0] Calculator#calculate_chain at examples/example.rb:10 (a: 10, b: 20)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 4\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+1] Calculator#add at examples/example.rb:17 (x: 10, y: 20)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 5\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-1] Calculator#add #=> 30 at examples/example.r"]
|
269
|
+
[29.690433, "o", "b:20\u001b[0m\u001b[m\r\n\u001b[38;5;238m 6\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+1] Calculator#scale at examples/example.rb:23 (value: 30)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 7\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-1] Calculator#scale #=> 90 at examples/example.rb:26\u001b[0m\u001b[m\r\n\u001b[38;5;238m 8\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+1] Calculator#complex_operation at examples/example.rb:29 (value: 90)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 9\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+2] Logger#log at examples/example.rb:67 (message: Starting c...)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 10\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-2] Logger#log #=> nil at examples/example.rb:70\u001b[0m\u001b[m\r\n\u001b[38;5;238m 11\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+2] Divider#divide_and_process at examples/example.rb:39 (value: 90, divisor: 2)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 12\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+3] Divider#divide at examples/example.rb:45 (a: 90, b: 2)\u001b[0m\u001b[m\r"]
|
270
|
+
[29.690528, "o", "\r\n\u001b[38;5;238m 13\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-3] Divider#divide #=> 45 at examples/example.rb:50\u001b[0m\u001b[m\r\n\u001b[38;5;238m 14\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+3] Divider#process_divided_result at examples/example.rb:53 (value: 45)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 15\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+4] Logger#log at examples/example.rb:67 (message: Processing...)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 16\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-4] Logger#log #=> nil at examples/example.rb:70\u001b[0m\u001b[m\r\n\u001b[38;5;238m 17\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+4] Divider#nested_process at examples/example.rb:59 (value: 45)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 18\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[+5] Logger#log at examples/example.rb:67 (message: Final nest...)\u001b[0m\u001b[m\r\n\u001b[38;5;238m 19\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-5] Logger#log #=> nil"]
|
271
|
+
[29.690537, "o", " at examples/exam"]
|
272
|
+
[29.690596, "o", "ple.rb:70\u001b[0m\u001b[m\r\n\u001b[38;5;238m 20\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-4] Divider#nested_process #=> 55 at examples/example.rb:63\u001b[0m\u001b[m\r\n\u001b[38;5;238m 21\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-3] Divider#process_divided_result #=> 55 at examples/example.rb:56\u001b[0m\u001b[m\r\n\u001b[38;5;238m 22\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-2] Divider#divide_and_process #=> 55 at examples/example.rb:42\u001b[0m\u001b[m\r\n\u001b[38;5;238m 23\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[-1] Calculator#complex_operation #=> 55 at examples/example.rb:34\u001b[0m\u001b[m\r\n\u001b[38;5;238m 24\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;2;248;248;242m depth[0] Calculator#calculate_chain #=> 55 at examples/example.rb:14\u001b[0m\u001b[m\r\n\u001b[38;5;238m───────┴──────────────────────────────────────────────────────────────────────────────"]
|
273
|
+
[29.690645, "o", "──"]
|
274
|
+
[29.691077, "o", "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n\r\u001b[K"]
|
275
|
+
[29.692221, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
|
276
|
+
[29.692371, "o", "\u001b]2;patrick204nqh@Patrick-Mac:~/Desktop/sandbox/trace_viz\u0007\u001b]1;..box/trace_viz\u0007"]
|
277
|
+
[29.694482, "o", "\u001b]7;file://Patrick-Mac.local/Users/patrick204nqh/Desktop/sandbox/trace_viz\u001b\\"]
|
278
|
+
[29.783966, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
279
|
+
[29.784116, "o", "\u001b[?1h\u001b=\u001b[?2004h"]
|
280
|
+
[29.838984, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
281
|
+
[29.963102, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
282
|
+
[30.011214, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[39m…\u001b[0m\u001b[39m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
283
|
+
[30.155657, "o", "\r\r\u001b[A\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[J\r\n\u001b[1m\u001b[36mtrace_viz\u001b[0m\u001b[36m\u001b[39m\u001b[1m \u001b[0m\u001b[1mon \u001b[0m\u001b[1m\u001b[37m\u001b[1m\u001b[37m\u001b[35m develop\u001b[0m\u001b[35m\u001b[39m\u001b[1m\u001b[31m [!+?]\u001b[0m\u001b[31m\u001b[39m\u001b[0m\u001b[39m\u001b[1m \u001b[0m\u001b[1mvia \u001b[0m\u001b[1m\u001b[31m💎 v3.3.0\u001b[0m\u001b[31m\u001b[39m\u001b[1m \u001b[0m\u001b[1m\u001b[37m\r\n\u001b[0m\u001b[37m\u001b[39m\u001b[1m\u001b[32m➜ \u001b[0m\u001b[32m\u001b[39m\u001b[K\u001b[209C\u001b[1A\u001b[1B\u001b[209D"]
|
284
|
+
[36.461007, "o", "\u001b[?2004l"]
|
285
|
+
[36.461058, "o", "\r\r\n"]
|
data/examples/example.rb
CHANGED
@@ -1,42 +1,113 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.expand_path("../lib", __dir__))
|
2
2
|
require "trace_viz"
|
3
3
|
|
4
|
-
class
|
5
|
-
def
|
6
|
-
|
7
|
-
log_result(result)
|
8
|
-
result
|
4
|
+
class Calculator
|
5
|
+
def initialize(factor)
|
6
|
+
@factor = factor
|
9
7
|
end
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
sum = a
|
14
|
-
|
9
|
+
# A method that triggers a chain of calculations
|
10
|
+
def calculate_chain(a, b)
|
11
|
+
sum = add(a, b)
|
12
|
+
scaled = scale(sum)
|
13
|
+
complex_operation(scaled)
|
15
14
|
end
|
16
15
|
|
17
|
-
|
16
|
+
# Basic addition
|
17
|
+
def add(x, y)
|
18
18
|
sleep(0.05)
|
19
|
-
|
19
|
+
x + y
|
20
20
|
end
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
# Scaling a number by the factor
|
23
|
+
def scale(value)
|
24
|
+
sleep(0.05)
|
25
|
+
value * @factor
|
26
|
+
end
|
27
|
+
|
28
|
+
# Complex operation involving another class
|
29
|
+
def complex_operation(value)
|
30
|
+
sleep(0.05)
|
31
|
+
Logger.new.log("Starting complex operation")
|
32
|
+
divider = Divider.new
|
33
|
+
divider.divide_and_process(value, 2)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class Divider
|
38
|
+
# Divides a number and calls a nested method
|
39
|
+
def divide_and_process(value, divisor)
|
40
|
+
result = divide(value, divisor)
|
41
|
+
process_divided_result(result)
|
42
|
+
end
|
43
|
+
|
44
|
+
# Performs division
|
45
|
+
def divide(a, b)
|
46
|
+
raise "Division by zero!" if b.zero?
|
47
|
+
|
48
|
+
sleep(0.05)
|
49
|
+
a / b
|
50
|
+
end
|
51
|
+
|
52
|
+
# Processes the divided result further
|
53
|
+
def process_divided_result(value)
|
54
|
+
Logger.new.log("Processing divided result: #{value}")
|
55
|
+
nested_process(value)
|
56
|
+
end
|
57
|
+
|
58
|
+
# A nested operation
|
59
|
+
def nested_process(value)
|
60
|
+
sleep(0.05)
|
61
|
+
Logger.new.log("Final nested processing on #{value}")
|
62
|
+
value + 10
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
class Logger
|
67
|
+
def log(message)
|
68
|
+
sleep(0.01)
|
69
|
+
puts "[LOG] #{message}"
|
25
70
|
end
|
26
71
|
end
|
27
72
|
|
28
73
|
TraceViz.trace(
|
74
|
+
general: {
|
29
75
|
tab_size: 4,
|
30
76
|
show_indent: true,
|
31
77
|
show_depth: true,
|
32
|
-
max_display_depth:
|
78
|
+
max_display_depth: 10,
|
33
79
|
show_method_name: true,
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
80
|
+
},
|
81
|
+
params: {
|
82
|
+
show: true,
|
83
|
+
mode: :name_and_value,
|
84
|
+
truncate_values: 10,
|
85
|
+
},
|
86
|
+
result: {
|
87
|
+
show: true,
|
88
|
+
truncate_length: 5,
|
89
|
+
},
|
90
|
+
source_location: {
|
91
|
+
show: true,
|
92
|
+
truncate_length: 20,
|
93
|
+
},
|
94
|
+
execution: {
|
95
|
+
show_time: true,
|
96
|
+
show_trace_events: [:call, :return],
|
97
|
+
},
|
98
|
+
filters: [
|
99
|
+
:exclude_internal_call,
|
100
|
+
include_classes: {
|
101
|
+
classes: [Calculator, Divider, Logger],
|
102
|
+
}
|
103
|
+
],
|
104
|
+
export: {
|
105
|
+
enabled: true,
|
106
|
+
format: :txt,
|
107
|
+
overwrite: true
|
108
|
+
}
|
39
109
|
) do
|
40
|
-
|
41
|
-
|
42
|
-
|
110
|
+
calculator = Calculator.new(3)
|
111
|
+
result = calculator.calculate_chain(10, 20)
|
112
|
+
puts "Final result: #{result}"
|
113
|
+
end
|
@@ -1,25 +1,31 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "trace_viz/logger"
|
4
3
|
require "trace_viz/adapters/base_adapter"
|
5
|
-
require "trace_viz/
|
6
|
-
require "trace_viz/
|
7
|
-
require "trace_viz/
|
8
|
-
require "trace_viz/adapters/trace_point/event_handler"
|
4
|
+
require "trace_viz/collectors/trace_point_collector"
|
5
|
+
require "trace_viz/exporters/text_exporter"
|
6
|
+
require "trace_viz/loggers/trace_stats_logger"
|
9
7
|
|
10
8
|
module TraceViz
|
11
9
|
module Adapters
|
12
10
|
class TracePointAdapter < BaseAdapter
|
13
|
-
def
|
14
|
-
|
15
|
-
trace_data = TracePoint::TraceData.new(tp)
|
11
|
+
def initialize
|
12
|
+
super()
|
16
13
|
|
17
|
-
|
18
|
-
|
14
|
+
@collector = Collectors::TracePointCollector.new
|
15
|
+
end
|
19
16
|
|
20
|
-
|
17
|
+
def trace(&block)
|
18
|
+
::TracePoint.new(:call, :return) do |tp|
|
19
|
+
collector.collect(tp)
|
21
20
|
end.enable(&block)
|
21
|
+
ensure
|
22
|
+
Loggers::TraceStatsLogger.log(collector)
|
23
|
+
Exporters::TextExporter.new(collector).export
|
22
24
|
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
attr_reader :collector
|
23
29
|
end
|
24
30
|
end
|
25
31
|
end
|