trace_viz 0.0.2 → 1.0.0
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/README.md +40 -37
- data/Steepfile +34 -0
- data/examples/eu_central_bank.rb +69 -0
- data/examples/example.cast +189 -285
- data/lib/trace_viz/adapters/base_adapter.rb +24 -1
- data/lib/trace_viz/adapters/trace_point_adapter.rb +3 -10
- data/lib/trace_viz/collectors/base_collector.rb +42 -35
- data/lib/trace_viz/collectors/filters/base_class_filter.rb +29 -0
- data/lib/trace_viz/collectors/filters/base_exclude_filter.rb +16 -0
- data/lib/trace_viz/collectors/filters/base_filter.rb +2 -8
- data/lib/trace_viz/collectors/filters/base_include_filter.rb +16 -0
- data/lib/trace_viz/collectors/filters/exclude_classes_filter.rb +4 -17
- data/lib/trace_viz/collectors/filters/exclude_default_classes_filter.rb +22 -26
- data/lib/trace_viz/collectors/filters/include_classes_filter.rb +4 -17
- data/lib/trace_viz/collectors/hierarchy_linker.rb +30 -0
- data/lib/trace_viz/collectors/matchers/base_matcher.rb +13 -0
- data/lib/trace_viz/collectors/matchers/trace_point_action_matcher.rb +12 -10
- data/lib/trace_viz/collectors/matchers/within_depth_matcher.rb +6 -5
- data/lib/trace_viz/collectors/steps/assign_depth_for_call_step.rb +30 -0
- data/lib/trace_viz/collectors/steps/assign_depth_for_return_step.rb +39 -0
- data/lib/trace_viz/collectors/steps/base_step.rb +27 -0
- data/lib/trace_viz/collectors/steps/build_hierarchy_step.rb +32 -0
- data/lib/trace_viz/collectors/{evaluators/hidden_evaluator.rb → steps/hidden_step.rb} +9 -5
- data/lib/trace_viz/collectors/steps/linking_step.rb +36 -0
- data/lib/trace_viz/collectors/{evaluators/filter_evaluator.rb → steps/validation_step.rb} +9 -6
- data/lib/trace_viz/collectors/steps.rb +10 -0
- data/lib/trace_viz/collectors/trace_pipeline.rb +26 -0
- data/lib/trace_viz/collectors/trace_pipeline_builder.rb +29 -0
- data/lib/trace_viz/collectors/trace_point_collector.rb +1 -11
- data/lib/trace_viz/config/validator.rb +6 -5
- data/lib/trace_viz/configuration.rb +3 -3
- data/lib/trace_viz/context/tracking_context.rb +4 -0
- data/lib/trace_viz/core/tracer.rb +2 -0
- data/lib/trace_viz/defaults/actions.rb +84 -0
- data/lib/trace_viz/defaults/colors.rb +61 -0
- data/lib/trace_viz/defaults/config.rb +89 -0
- data/lib/trace_viz/defaults/themes.rb +66 -0
- data/lib/trace_viz/defaults.rb +10 -129
- data/lib/trace_viz/exporters/base_exporter.rb +8 -11
- data/lib/trace_viz/exporters/export_manager.rb +33 -0
- data/lib/trace_viz/exporters/registry.rb +25 -0
- data/lib/trace_viz/exporters/text_exporter.rb +22 -0
- data/lib/trace_viz/formatters/base_formatter.rb +3 -30
- data/lib/trace_viz/formatters/export/base_formatter.rb +12 -0
- data/lib/trace_viz/formatters/export/formatter_factory.rb +27 -0
- data/lib/trace_viz/formatters/export/method_call_formatter.rb +21 -0
- data/lib/trace_viz/formatters/export/method_return_formatter.rb +22 -0
- data/lib/trace_viz/formatters/export/summary_group_formatter.rb +35 -0
- data/lib/trace_viz/formatters/helpers/depth_helper.rb +2 -8
- data/lib/trace_viz/formatters/helpers/indent_helper.rb +1 -1
- data/lib/trace_viz/formatters/helpers/log/color_helper.rb +23 -0
- data/lib/trace_viz/formatters/helpers/log/depth_helper.rb +22 -0
- data/lib/trace_viz/formatters/helpers/log/method_name_helper.rb +29 -0
- data/lib/trace_viz/formatters/helpers/log/params_helper.rb +51 -0
- data/lib/trace_viz/formatters/helpers/log/result_helper.rb +27 -0
- data/lib/trace_viz/formatters/helpers/log/summary/params_helper.rb +53 -0
- data/lib/trace_viz/formatters/helpers/method_details_helper.rb +1 -1
- data/lib/trace_viz/formatters/helpers/params_helper.rb +26 -9
- data/lib/trace_viz/formatters/helpers/result_helper.rb +1 -1
- data/lib/trace_viz/formatters/helpers/source_helper.rb +2 -1
- data/lib/trace_viz/formatters/helpers/summary/params_helper.rb +41 -0
- data/lib/trace_viz/formatters/helpers/summary/source_helper.rb +24 -0
- data/lib/trace_viz/formatters/helpers/time_helper.rb +2 -2
- data/lib/trace_viz/formatters/helpers.rb +10 -0
- data/lib/trace_viz/formatters/log/base_formatter.rb +13 -0
- data/lib/trace_viz/formatters/log/formatter_factory.rb +27 -0
- data/lib/trace_viz/formatters/log/method_call_formatter.rb +34 -0
- data/lib/trace_viz/formatters/log/method_return_formatter.rb +24 -0
- data/lib/trace_viz/formatters/log/summary_group_formatter.rb +40 -0
- data/lib/trace_viz/formatters/log/verbose_formatter.rb +14 -0
- data/lib/trace_viz/formatters/trace_data_formatter.rb +24 -0
- data/lib/trace_viz/helpers/config_helper.rb +13 -0
- data/lib/trace_viz/helpers/trace_point/param_helper.rb +98 -0
- data/lib/trace_viz/helpers/tracking_helper.rb +26 -0
- data/lib/trace_viz/helpers.rb +9 -0
- data/lib/trace_viz/logger.rb +9 -20
- data/lib/trace_viz/loggers/base_logger.rb +29 -0
- data/lib/trace_viz/loggers/log_level_resolver.rb +18 -0
- data/lib/trace_viz/loggers/logging_manager.rb +46 -0
- data/lib/trace_viz/loggers/post_collection_logger.rb +39 -0
- data/lib/trace_viz/loggers/trace_logger.rb +17 -18
- data/lib/trace_viz/loggers/trace_stats_logger.rb +28 -14
- data/lib/trace_viz/renderers/base_renderer.rb +24 -0
- data/lib/trace_viz/renderers/render_context.rb +18 -0
- data/lib/trace_viz/renderers/renderer_factory.rb +41 -0
- data/lib/trace_viz/renderers/summary/node_processor.rb +82 -0
- data/lib/trace_viz/renderers/summary_renderer.rb +22 -0
- data/lib/trace_viz/renderers/verbose_renderer.rb +29 -0
- data/lib/trace_viz/shared/renderer_helper.rb +46 -0
- data/lib/trace_viz/shared.rb +8 -0
- data/lib/trace_viz/trace_data/base.rb +16 -23
- data/lib/trace_viz/trace_data/node.rb +33 -0
- data/lib/trace_viz/trace_data/root_node.rb +20 -0
- data/lib/trace_viz/trace_data/summary_node.rb +49 -0
- data/lib/trace_viz/trace_data/trace_point/base.rb +22 -31
- data/lib/trace_viz/trace_data/trace_point/method_call.rb +22 -17
- data/lib/trace_viz/trace_data/trace_point/method_return.rb +21 -1
- data/lib/trace_viz/traits/depth_trackable.rb +13 -0
- data/lib/trace_viz/traits/identifiable.rb +25 -0
- data/lib/trace_viz/traits/time_trackable.rb +13 -0
- data/lib/trace_viz/traits.rb +10 -0
- data/lib/trace_viz/utils/colorize.rb +6 -6
- data/lib/trace_viz/utils/format_utils/key_value_formatter.rb +37 -0
- data/lib/trace_viz/utils/format_utils/value_truncator.rb +74 -0
- data/lib/trace_viz/utils/format_utils.rb +10 -53
- data/lib/trace_viz/utils/id_generator.rb +35 -0
- data/lib/trace_viz/version.rb +1 -1
- data/sig/adapters/base_adapter.rbs +11 -0
- data/sig/adapters/trace_point_adapter.rbs +13 -0
- data/sig/collectors/filters/registry.rbs +13 -0
- data/sig/collectors/trace_point_collector.rbs +17 -0
- data/sig/config/copier.rbs +15 -0
- data/sig/config/validator.rbs +18 -0
- data/sig/configuration.rbs +22 -0
- data/sig/context/base_context.rbs +9 -0
- data/sig/context/config_context.rbs +13 -0
- data/sig/context/manager.rbs +10 -0
- data/sig/context/map.rbs +13 -0
- data/sig/context.rbs +5 -0
- data/sig/core/tracer.rbs +7 -0
- data/sig/core.rbs +4 -0
- data/sig/defaults.rbs +17 -0
- data/sig/errors.rbs +13 -0
- data/sig/logger.rbs +33 -0
- data/sig/trace_viz.rbs +1 -2
- data/sig/utils/colorize.rbs +8 -0
- data/sig/utils/format_utils/key_value_formatter.rbs +16 -0
- data/sig/utils/format_utils/value_truncator.rbs +19 -0
- data/sig/utils/format_utils.rbs +8 -0
- data/sig/version.rbs +3 -0
- metadata +97 -18
- data/lib/trace_viz/collectors/depth_manager.rb +0 -37
- data/lib/trace_viz/collectors/evaluators/base_evaluator.rb +0 -23
- data/lib/trace_viz/exporters/formatters/base_formatter.rb +0 -12
- data/lib/trace_viz/exporters/formatters/method_call_formatter.rb +0 -21
- data/lib/trace_viz/exporters/formatters/method_return_formatter.rb +0 -22
- data/lib/trace_viz/exporters/transformers/base_transformer.rb +0 -25
- data/lib/trace_viz/exporters/transformers/text_transformer.rb +0 -28
- data/lib/trace_viz/loggers/trace_builder.rb +0 -30
- data/lib/trace_viz/loggers/trace_formatters/base_formatter.rb +0 -32
- data/lib/trace_viz/loggers/trace_formatters/method_call_formatter.rb +0 -21
- data/lib/trace_viz/loggers/trace_formatters/method_return_formatter.rb +0 -22
data/sig/core/tracer.rbs
ADDED
data/sig/core.rbs
ADDED
data/sig/defaults.rbs
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
module TraceViz
|
2
|
+
class Defaults
|
3
|
+
COLORS: Hash[Symbol, String]
|
4
|
+
ACTION_EMOJIS: Hash[Symbol, String]
|
5
|
+
ACTION_COLORS: Hash[Symbol, Symbol]
|
6
|
+
CONFIG: Hash[Symbol, untyped]
|
7
|
+
VALID_PARAM_MODES: Array[Symbol]
|
8
|
+
VALID_EXPORT_FORMATS: Array[Symbol]
|
9
|
+
|
10
|
+
def self.colors: () -> Hash[Symbol, String]
|
11
|
+
def self.action_colors: () -> Hash[Symbol, Symbol]
|
12
|
+
def self.action_emojis: () -> Hash[Symbol, String]
|
13
|
+
def self.fetch_defaults: () -> Hash[Symbol, untyped]
|
14
|
+
def self.valid_param_modes: () -> Array[Symbol]
|
15
|
+
def self.valid_export_formats: () -> Array[Symbol]
|
16
|
+
end
|
17
|
+
end
|
data/sig/errors.rbs
ADDED
data/sig/logger.rbs
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
module TraceViz
|
2
|
+
class Logger
|
3
|
+
# Constants
|
4
|
+
LEVELS: Array[Symbol]
|
5
|
+
|
6
|
+
# Constructor
|
7
|
+
def initialize: (output: IO) -> void
|
8
|
+
|
9
|
+
# Dynamic methods for each log level
|
10
|
+
def info: (String?) -> void
|
11
|
+
def success: (String?) -> void
|
12
|
+
def error: (String?) -> void
|
13
|
+
def warn: (String?) -> void
|
14
|
+
def start: (String?) -> void
|
15
|
+
def processing: (String?) -> void
|
16
|
+
def finish: (String?) -> void
|
17
|
+
def exported: (String?) -> void
|
18
|
+
def skipped: (String?) -> void
|
19
|
+
def stats: (String?) -> void
|
20
|
+
def default: (String?) -> void
|
21
|
+
|
22
|
+
# Public methods
|
23
|
+
def log: (String?, Symbol) -> void
|
24
|
+
|
25
|
+
# Private methods
|
26
|
+
private def validate_message!: (String?) -> void
|
27
|
+
private def validate_level!: (Symbol) -> void
|
28
|
+
private def colors_for: (Symbol) -> Array[Symbol]
|
29
|
+
private def emoji_for: (Symbol) -> String
|
30
|
+
private def build_message: (String?, Symbol, String) -> String
|
31
|
+
private def apply_colors: (String, Array[Symbol]) -> String
|
32
|
+
end
|
33
|
+
end
|
data/sig/trace_viz.rbs
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
module TraceViz
|
2
|
+
module Utils
|
3
|
+
module FormatUtils
|
4
|
+
class KeyValueFormatter
|
5
|
+
DEFAULT_MODE: Symbol
|
6
|
+
|
7
|
+
def initialize: (mode: Symbol) -> void
|
8
|
+
|
9
|
+
def format: (Hash[untyped, untyped]) -> String
|
10
|
+
|
11
|
+
private def validate_input: (untyped) -> void
|
12
|
+
private def build_formatter: () -> Hash[Symbol, ^(untyped, untyped) -> String]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TraceViz
|
2
|
+
module Utils
|
3
|
+
module FormatUtils
|
4
|
+
class ValueTruncator
|
5
|
+
DEFAULT_LENGTH: Integer
|
6
|
+
|
7
|
+
def initialize: (length: Integer) -> void
|
8
|
+
|
9
|
+
def truncate: (String | Array[untyped] | Hash[untyped, untyped] | Object) -> (String | Array[untyped] | Hash[untyped, untyped] | Object)
|
10
|
+
|
11
|
+
private def valid_length?: () -> bool
|
12
|
+
private def truncate_string: (String) -> String
|
13
|
+
private def truncate_array: (Array[untyped]) -> Array[untyped]
|
14
|
+
private def truncate_hash: (Hash[untyped, untyped]) -> String
|
15
|
+
private def truncate_generic: (Object) -> String
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/sig/version.rbs
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trace_viz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Huy Nguyen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: "TraceViz is a Ruby library designed to trace and visualize events executed
|
14
14
|
\nin a block of code. Useful for debugging and logging. \nDiagram generation is
|
@@ -29,17 +29,18 @@ files:
|
|
29
29
|
- LICENSE.txt
|
30
30
|
- README.md
|
31
31
|
- Rakefile
|
32
|
+
- Steepfile
|
33
|
+
- examples/eu_central_bank.rb
|
32
34
|
- examples/example.cast
|
33
35
|
- examples/example.rb
|
34
36
|
- lib/trace_viz.rb
|
35
37
|
- lib/trace_viz/adapters/base_adapter.rb
|
36
38
|
- lib/trace_viz/adapters/trace_point_adapter.rb
|
37
39
|
- lib/trace_viz/collectors/base_collector.rb
|
38
|
-
- lib/trace_viz/collectors/
|
39
|
-
- lib/trace_viz/collectors/
|
40
|
-
- lib/trace_viz/collectors/evaluators/filter_evaluator.rb
|
41
|
-
- lib/trace_viz/collectors/evaluators/hidden_evaluator.rb
|
40
|
+
- lib/trace_viz/collectors/filters/base_class_filter.rb
|
41
|
+
- lib/trace_viz/collectors/filters/base_exclude_filter.rb
|
42
42
|
- lib/trace_viz/collectors/filters/base_filter.rb
|
43
|
+
- lib/trace_viz/collectors/filters/base_include_filter.rb
|
43
44
|
- lib/trace_viz/collectors/filters/exclude_classes_filter.rb
|
44
45
|
- lib/trace_viz/collectors/filters/exclude_default_classes_filter.rb
|
45
46
|
- lib/trace_viz/collectors/filters/exclude_gems_filter.rb
|
@@ -48,8 +49,20 @@ files:
|
|
48
49
|
- lib/trace_viz/collectors/filters/include_classes_filter.rb
|
49
50
|
- lib/trace_viz/collectors/filters/include_gems_filter.rb
|
50
51
|
- lib/trace_viz/collectors/filters/registry.rb
|
52
|
+
- lib/trace_viz/collectors/hierarchy_linker.rb
|
53
|
+
- lib/trace_viz/collectors/matchers/base_matcher.rb
|
51
54
|
- lib/trace_viz/collectors/matchers/trace_point_action_matcher.rb
|
52
55
|
- lib/trace_viz/collectors/matchers/within_depth_matcher.rb
|
56
|
+
- lib/trace_viz/collectors/steps.rb
|
57
|
+
- lib/trace_viz/collectors/steps/assign_depth_for_call_step.rb
|
58
|
+
- lib/trace_viz/collectors/steps/assign_depth_for_return_step.rb
|
59
|
+
- lib/trace_viz/collectors/steps/base_step.rb
|
60
|
+
- lib/trace_viz/collectors/steps/build_hierarchy_step.rb
|
61
|
+
- lib/trace_viz/collectors/steps/hidden_step.rb
|
62
|
+
- lib/trace_viz/collectors/steps/linking_step.rb
|
63
|
+
- lib/trace_viz/collectors/steps/validation_step.rb
|
64
|
+
- lib/trace_viz/collectors/trace_pipeline.rb
|
65
|
+
- lib/trace_viz/collectors/trace_pipeline_builder.rb
|
53
66
|
- lib/trace_viz/collectors/trace_point_collector.rb
|
54
67
|
- lib/trace_viz/collectors/trace_stats.rb
|
55
68
|
- lib/trace_viz/config/copier.rb
|
@@ -67,38 +80,104 @@ files:
|
|
67
80
|
- lib/trace_viz/core.rb
|
68
81
|
- lib/trace_viz/core/tracer.rb
|
69
82
|
- lib/trace_viz/defaults.rb
|
83
|
+
- lib/trace_viz/defaults/actions.rb
|
84
|
+
- lib/trace_viz/defaults/colors.rb
|
85
|
+
- lib/trace_viz/defaults/config.rb
|
86
|
+
- lib/trace_viz/defaults/themes.rb
|
70
87
|
- lib/trace_viz/errors.rb
|
71
88
|
- lib/trace_viz/exporters/base_exporter.rb
|
72
|
-
- lib/trace_viz/exporters/
|
73
|
-
- lib/trace_viz/exporters/
|
74
|
-
- lib/trace_viz/exporters/formatters/method_return_formatter.rb
|
89
|
+
- lib/trace_viz/exporters/export_manager.rb
|
90
|
+
- lib/trace_viz/exporters/registry.rb
|
75
91
|
- lib/trace_viz/exporters/text_exporter.rb
|
76
|
-
- lib/trace_viz/exporters/transformers/base_transformer.rb
|
77
|
-
- lib/trace_viz/exporters/transformers/text_transformer.rb
|
78
92
|
- lib/trace_viz/formatters/base_formatter.rb
|
93
|
+
- lib/trace_viz/formatters/export/base_formatter.rb
|
94
|
+
- lib/trace_viz/formatters/export/formatter_factory.rb
|
95
|
+
- lib/trace_viz/formatters/export/method_call_formatter.rb
|
96
|
+
- lib/trace_viz/formatters/export/method_return_formatter.rb
|
97
|
+
- lib/trace_viz/formatters/export/summary_group_formatter.rb
|
98
|
+
- lib/trace_viz/formatters/helpers.rb
|
79
99
|
- lib/trace_viz/formatters/helpers/depth_helper.rb
|
80
100
|
- lib/trace_viz/formatters/helpers/indent_helper.rb
|
101
|
+
- lib/trace_viz/formatters/helpers/log/color_helper.rb
|
102
|
+
- lib/trace_viz/formatters/helpers/log/depth_helper.rb
|
103
|
+
- lib/trace_viz/formatters/helpers/log/method_name_helper.rb
|
104
|
+
- lib/trace_viz/formatters/helpers/log/params_helper.rb
|
105
|
+
- lib/trace_viz/formatters/helpers/log/result_helper.rb
|
106
|
+
- lib/trace_viz/formatters/helpers/log/summary/params_helper.rb
|
81
107
|
- lib/trace_viz/formatters/helpers/method_details_helper.rb
|
82
108
|
- lib/trace_viz/formatters/helpers/params_helper.rb
|
83
109
|
- lib/trace_viz/formatters/helpers/result_helper.rb
|
84
110
|
- lib/trace_viz/formatters/helpers/source_helper.rb
|
111
|
+
- lib/trace_viz/formatters/helpers/summary/params_helper.rb
|
112
|
+
- lib/trace_viz/formatters/helpers/summary/source_helper.rb
|
85
113
|
- lib/trace_viz/formatters/helpers/time_helper.rb
|
114
|
+
- lib/trace_viz/formatters/log/base_formatter.rb
|
115
|
+
- lib/trace_viz/formatters/log/formatter_factory.rb
|
116
|
+
- lib/trace_viz/formatters/log/method_call_formatter.rb
|
117
|
+
- lib/trace_viz/formatters/log/method_return_formatter.rb
|
118
|
+
- lib/trace_viz/formatters/log/summary_group_formatter.rb
|
119
|
+
- lib/trace_viz/formatters/log/verbose_formatter.rb
|
120
|
+
- lib/trace_viz/formatters/trace_data_formatter.rb
|
121
|
+
- lib/trace_viz/helpers.rb
|
122
|
+
- lib/trace_viz/helpers/config_helper.rb
|
123
|
+
- lib/trace_viz/helpers/trace_point/param_helper.rb
|
124
|
+
- lib/trace_viz/helpers/tracking_helper.rb
|
86
125
|
- lib/trace_viz/logger.rb
|
87
|
-
- lib/trace_viz/loggers/
|
88
|
-
- lib/trace_viz/loggers/
|
89
|
-
- lib/trace_viz/loggers/
|
90
|
-
- lib/trace_viz/loggers/
|
126
|
+
- lib/trace_viz/loggers/base_logger.rb
|
127
|
+
- lib/trace_viz/loggers/log_level_resolver.rb
|
128
|
+
- lib/trace_viz/loggers/logging_manager.rb
|
129
|
+
- lib/trace_viz/loggers/post_collection_logger.rb
|
91
130
|
- lib/trace_viz/loggers/trace_logger.rb
|
92
131
|
- lib/trace_viz/loggers/trace_stats_logger.rb
|
132
|
+
- lib/trace_viz/renderers/base_renderer.rb
|
133
|
+
- lib/trace_viz/renderers/render_context.rb
|
134
|
+
- lib/trace_viz/renderers/renderer_factory.rb
|
135
|
+
- lib/trace_viz/renderers/summary/node_processor.rb
|
136
|
+
- lib/trace_viz/renderers/summary_renderer.rb
|
137
|
+
- lib/trace_viz/renderers/verbose_renderer.rb
|
138
|
+
- lib/trace_viz/shared.rb
|
139
|
+
- lib/trace_viz/shared/renderer_helper.rb
|
93
140
|
- lib/trace_viz/trace_data/base.rb
|
141
|
+
- lib/trace_viz/trace_data/node.rb
|
142
|
+
- lib/trace_viz/trace_data/root_node.rb
|
143
|
+
- lib/trace_viz/trace_data/summary_node.rb
|
94
144
|
- lib/trace_viz/trace_data/trace_point/base.rb
|
95
145
|
- lib/trace_viz/trace_data/trace_point/method_call.rb
|
96
146
|
- lib/trace_viz/trace_data/trace_point/method_return.rb
|
97
147
|
- lib/trace_viz/trace_data/trace_point_builder.rb
|
148
|
+
- lib/trace_viz/traits.rb
|
149
|
+
- lib/trace_viz/traits/depth_trackable.rb
|
150
|
+
- lib/trace_viz/traits/identifiable.rb
|
151
|
+
- lib/trace_viz/traits/time_trackable.rb
|
98
152
|
- lib/trace_viz/utils/colorize.rb
|
99
153
|
- lib/trace_viz/utils/format_utils.rb
|
154
|
+
- lib/trace_viz/utils/format_utils/key_value_formatter.rb
|
155
|
+
- lib/trace_viz/utils/format_utils/value_truncator.rb
|
156
|
+
- lib/trace_viz/utils/id_generator.rb
|
100
157
|
- lib/trace_viz/version.rb
|
158
|
+
- sig/adapters/base_adapter.rbs
|
159
|
+
- sig/adapters/trace_point_adapter.rbs
|
160
|
+
- sig/collectors/filters/registry.rbs
|
161
|
+
- sig/collectors/trace_point_collector.rbs
|
162
|
+
- sig/config/copier.rbs
|
163
|
+
- sig/config/validator.rbs
|
164
|
+
- sig/configuration.rbs
|
165
|
+
- sig/context.rbs
|
166
|
+
- sig/context/base_context.rbs
|
167
|
+
- sig/context/config_context.rbs
|
168
|
+
- sig/context/manager.rbs
|
169
|
+
- sig/context/map.rbs
|
170
|
+
- sig/core.rbs
|
171
|
+
- sig/core/tracer.rbs
|
172
|
+
- sig/defaults.rbs
|
173
|
+
- sig/errors.rbs
|
174
|
+
- sig/logger.rbs
|
101
175
|
- sig/trace_viz.rbs
|
176
|
+
- sig/utils/colorize.rbs
|
177
|
+
- sig/utils/format_utils.rbs
|
178
|
+
- sig/utils/format_utils/key_value_formatter.rbs
|
179
|
+
- sig/utils/format_utils/value_truncator.rbs
|
180
|
+
- sig/version.rbs
|
102
181
|
homepage: https://github.com/patrick204nqh/trace_viz
|
103
182
|
licenses:
|
104
183
|
- MIT
|
@@ -106,7 +185,7 @@ metadata:
|
|
106
185
|
homepage_uri: https://github.com/patrick204nqh/trace_viz
|
107
186
|
source_code_uri: https://github.com/patrick204nqh/trace_viz
|
108
187
|
changelog_uri: https://github.com/patrick204nqh/trace_viz/blob/main/CHANGELOG.md
|
109
|
-
post_install_message:
|
188
|
+
post_install_message:
|
110
189
|
rdoc_options: []
|
111
190
|
require_paths:
|
112
191
|
- lib
|
@@ -122,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
201
|
version: '0'
|
123
202
|
requirements: []
|
124
203
|
rubygems_version: 3.5.3
|
125
|
-
signing_key:
|
204
|
+
signing_key:
|
126
205
|
specification_version: 4
|
127
206
|
summary: Trace method and attribute usage in Ruby classes and generate diagrams.
|
128
207
|
test_files: []
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module TraceViz
|
4
|
-
module Collectors
|
5
|
-
class DepthManager
|
6
|
-
def initialize
|
7
|
-
@tracker = Context.for(:tracking)
|
8
|
-
end
|
9
|
-
|
10
|
-
def align(trace_data)
|
11
|
-
case trace_data.event
|
12
|
-
when :call
|
13
|
-
push_to_call_stack(trace_data)
|
14
|
-
when :return
|
15
|
-
pop_from_call_stack(trace_data)
|
16
|
-
end
|
17
|
-
trace_data
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
attr_reader :tracker
|
23
|
-
|
24
|
-
# Increment the depth
|
25
|
-
def push_to_call_stack(trace_data)
|
26
|
-
trace_data.depth = tracker.current_depth
|
27
|
-
tracker.active_calls.push(trace_data)
|
28
|
-
end
|
29
|
-
|
30
|
-
# Decrement the depth
|
31
|
-
def pop_from_call_stack(trace_data)
|
32
|
-
tracker.active_calls.pop
|
33
|
-
trace_data.depth = tracker.current_depth
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "trace_viz/context"
|
4
|
-
|
5
|
-
module TraceViz
|
6
|
-
module Collectors
|
7
|
-
module Evaluators
|
8
|
-
class BaseEvaluator
|
9
|
-
def initialize
|
10
|
-
@config = Context.for(:config).configuration
|
11
|
-
end
|
12
|
-
|
13
|
-
def pass?(trace_data)
|
14
|
-
raise NotImplementedError
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
attr_reader :config
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "base_formatter"
|
4
|
-
|
5
|
-
module TraceViz
|
6
|
-
module Exporters
|
7
|
-
module Formatters
|
8
|
-
class MethodCallFormatter < BaseFormatter
|
9
|
-
def format
|
10
|
-
[
|
11
|
-
indent_representation,
|
12
|
-
depth_representation,
|
13
|
-
method_name_representation,
|
14
|
-
source_location_representation,
|
15
|
-
params_representation,
|
16
|
-
].compact.join(" ")
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "base_formatter"
|
4
|
-
|
5
|
-
module TraceViz
|
6
|
-
module Exporters
|
7
|
-
module Formatters
|
8
|
-
class MethodReturnFormatter < BaseFormatter
|
9
|
-
def format
|
10
|
-
[
|
11
|
-
indent_representation,
|
12
|
-
depth_representation,
|
13
|
-
method_name_representation,
|
14
|
-
result_representation,
|
15
|
-
source_location_representation,
|
16
|
-
execution_time_representation,
|
17
|
-
].compact.join(" ")
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module TraceViz
|
4
|
-
module Exporters
|
5
|
-
module Transformers
|
6
|
-
class BaseTransformer
|
7
|
-
def initialize(collector)
|
8
|
-
@collector = collector
|
9
|
-
end
|
10
|
-
|
11
|
-
def transform
|
12
|
-
raise NotImplementedError
|
13
|
-
end
|
14
|
-
|
15
|
-
private
|
16
|
-
|
17
|
-
attr_reader :collector
|
18
|
-
|
19
|
-
def collection
|
20
|
-
collector.collection
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "base_transformer"
|
4
|
-
require "trace_viz/exporters/formatters/method_call_formatter"
|
5
|
-
require "trace_viz/exporters/formatters/method_return_formatter"
|
6
|
-
|
7
|
-
module TraceViz
|
8
|
-
module Exporters
|
9
|
-
module Transformers
|
10
|
-
class TextTransformer < BaseTransformer
|
11
|
-
def transform
|
12
|
-
collection.map do |trace_data|
|
13
|
-
format_item(trace_data)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def format_item(trace_data)
|
18
|
-
case trace_data.event
|
19
|
-
when :call
|
20
|
-
Formatters::MethodCallFormatter.new(trace_data).format
|
21
|
-
when :return
|
22
|
-
Formatters::MethodReturnFormatter.new(trace_data).format
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "trace_viz/loggers/trace_formatters/method_call_formatter"
|
4
|
-
require "trace_viz/loggers/trace_formatters/method_return_formatter"
|
5
|
-
|
6
|
-
module TraceViz
|
7
|
-
module Loggers
|
8
|
-
class TraceBuilder
|
9
|
-
FORMATTERS = {
|
10
|
-
call: TraceFormatters::MethodCallFormatter,
|
11
|
-
return: TraceFormatters::MethodReturnFormatter,
|
12
|
-
}.freeze
|
13
|
-
|
14
|
-
def initialize(trace_data)
|
15
|
-
@trace_data = trace_data
|
16
|
-
end
|
17
|
-
|
18
|
-
def build
|
19
|
-
formatter_class = FORMATTERS[trace_data.event]
|
20
|
-
raise ArgumentError, "No formatter found for #{trace_data.event}" unless formatter_class
|
21
|
-
|
22
|
-
formatter_class.new(trace_data).format
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
attr_reader :trace_data
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "trace_viz/formatters/base_formatter"
|
4
|
-
require "trace_viz/utils/colorize"
|
5
|
-
|
6
|
-
module TraceViz
|
7
|
-
module Loggers
|
8
|
-
module TraceFormatters
|
9
|
-
class BaseFormatter < TraceViz::Formatters::BaseFormatter
|
10
|
-
private
|
11
|
-
|
12
|
-
def colorize(text, *styles)
|
13
|
-
Utils::Colorize.colorize(text, *styles)
|
14
|
-
end
|
15
|
-
|
16
|
-
def formatted_method_name
|
17
|
-
return unless config.general[:show_method_name]
|
18
|
-
|
19
|
-
"#{formatted_class_name}#{formatted_action_name}"
|
20
|
-
end
|
21
|
-
|
22
|
-
def formatted_class_name
|
23
|
-
colorize("#{trace_data.klass}#", :bold, :yellow)
|
24
|
-
end
|
25
|
-
|
26
|
-
def formatted_action_name
|
27
|
-
colorize(trace_data.action, :light_cyan)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "base_formatter"
|
4
|
-
|
5
|
-
module TraceViz
|
6
|
-
module Loggers
|
7
|
-
module TraceFormatters
|
8
|
-
class MethodCallFormatter < BaseFormatter
|
9
|
-
def format
|
10
|
-
[
|
11
|
-
indent_representation,
|
12
|
-
colorize(depth_representation, :blue),
|
13
|
-
formatted_method_name,
|
14
|
-
colorize(source_location_representation, :dark_gray),
|
15
|
-
colorize(params_representation, :light_yellow),
|
16
|
-
].compact.join(" ")
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "base_formatter"
|
4
|
-
|
5
|
-
module TraceViz
|
6
|
-
module Loggers
|
7
|
-
module TraceFormatters
|
8
|
-
class MethodReturnFormatter < BaseFormatter
|
9
|
-
def format
|
10
|
-
[
|
11
|
-
indent_representation,
|
12
|
-
colorize(depth_representation, :blue),
|
13
|
-
formatted_method_name,
|
14
|
-
colorize(result_representation, :cyan),
|
15
|
-
colorize(source_location_representation, :dark_gray),
|
16
|
-
colorize(execution_time_representation, :red),
|
17
|
-
].compact.join(" ")
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|