trace_location 0.9.3 → 0.10.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/.rubocop.yml +1 -1
- data/.travis.yml +8 -2
- data/Gemfile.lock +4 -8
- data/README.md +43 -316
- data/examples/active_record_establish_connection/result.csv +265 -0
- data/examples/active_record_establish_connection/result.log +271 -0
- data/examples/active_record_establish_connection/result.md +2279 -0
- data/examples/active_record_validation_process/result.csv +11 -0
- data/examples/active_record_validation_process/result.log +17 -0
- data/examples/active_record_validation_process/result.md +69 -0
- data/examples/has_secure_password/result.csv +41 -0
- data/examples/has_secure_password/result.log +47 -0
- data/examples/has_secure_password/result.md +395 -0
- data/examples/lifecycle_of_rails_application/result.csv +2769 -0
- data/examples/lifecycle_of_rails_application/result.log +2775 -0
- data/examples/lifecycle_of_rails_application/result.md +21437 -0
- data/examples/rendering_process/result.csv +617 -0
- data/examples/rendering_process/result.log +623 -0
- data/examples/rendering_process/result.md +4414 -0
- data/lib/trace_location.rb +2 -1
- data/lib/trace_location/collector.rb +19 -10
- data/lib/trace_location/config.rb +3 -3
- data/lib/trace_location/generator/csv.rb +12 -2
- data/lib/trace_location/generator/log.rb +6 -7
- data/lib/trace_location/generator/markdown.rb +5 -4
- data/lib/trace_location/report.rb +1 -0
- data/lib/trace_location/version.rb +1 -1
- data/trace_location.gemspec +3 -4
- metadata +21 -19
- data/CHANGELOG.md +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1e2f74ef8aefad64a0a962c2a77dbd4a47d8992ca5ef027d0acf47da19e7c2a
|
4
|
+
data.tar.gz: ad9b606d32f96289cb629f0c58f7324e9d9704e084f61fc9bbf2d689836eabee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9835516aba4ce712bd1ef3311947e315e052de1c6cd102967d06d740db127c459754339b92221b7a2904046a8fdfe8391e105ff8001af915b9cd67eef79da1b2
|
7
|
+
data.tar.gz: 24d753f05e76317957adf43a6ab02024558af46f623a4ac548f22130b6bc7d450d238fca16d303986d3d70791b3f112919808f5de750a520c01978880826fe08
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,25 +1,21 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
trace_location (0.
|
5
|
-
binding_of_caller
|
4
|
+
trace_location (0.10.0)
|
6
5
|
method_source
|
7
6
|
|
8
7
|
GEM
|
9
8
|
remote: https://rubygems.org/
|
10
9
|
specs:
|
11
10
|
ast (2.4.0)
|
12
|
-
binding_of_caller (0.8.0)
|
13
|
-
debug_inspector (>= 0.0.1)
|
14
|
-
debug_inspector (0.0.3)
|
15
11
|
diff-lcs (1.3)
|
16
12
|
jaro_winkler (1.5.2)
|
17
|
-
method_source (0.
|
13
|
+
method_source (1.0.0)
|
18
14
|
parallel (1.17.0)
|
19
15
|
parser (2.6.3.0)
|
20
16
|
ast (~> 2.4.0)
|
21
17
|
rainbow (3.0.0)
|
22
|
-
rake (
|
18
|
+
rake (13.0.1)
|
23
19
|
rspec (3.8.0)
|
24
20
|
rspec-core (~> 3.8.0)
|
25
21
|
rspec-expectations (~> 3.8.0)
|
@@ -54,4 +50,4 @@ DEPENDENCIES
|
|
54
50
|
trace_location!
|
55
51
|
|
56
52
|
BUNDLED WITH
|
57
|
-
2.
|
53
|
+
2.1.4
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# TraceLocation
|
2
2
|
|
3
|
+
[](https://travis-ci.org/yhirano55/trace_location)
|
4
|
+
|
3
5
|
TraceLocation helps you get tracing the source location of codes, and helps you can get reading the huge open souce libraries in Ruby.
|
4
6
|
|
5
7
|
## Installation
|
@@ -20,355 +22,80 @@ Or install it yourself as:
|
|
20
22
|
|
21
23
|
## Usage
|
22
24
|
|
23
|
-
|
24
|
-
|
25
|
-
### Example 01. Track the validation process of Active Record
|
26
|
-
|
27
|
-
```
|
28
|
-
% bin/rails c
|
29
|
-
|
30
|
-
irb(main):001:0> book = Book.new(title: "My Book Title")
|
31
|
-
irb(main):002:0> TraceLocation.trace(ignore: /active_support/) { book.validate }
|
32
|
-
Created at /path/to/sampleapp/log/trace_location-2019060401061559579741.md
|
33
|
-
=> true
|
34
|
-
```
|
35
|
-
|
36
|
-
Then you can get a markdown file like this:
|
25
|
+
### Example: Track establish connection in Active Record
|
37
26
|
|
38
|
-
--
|
39
|
-
|
40
|
-
Generated by [trace_location](https://github.com/yhirano55/trace_location) at 2019-06-04 01:35:41 +0900
|
41
|
-
|
42
|
-
<details open>
|
43
|
-
<summary>activerecord-5.2.3/lib/active_record/validations.rb:65</summary>
|
44
|
-
|
45
|
-
##### ActiveRecord::Validations#valid?
|
46
27
|
```ruby
|
47
|
-
|
48
|
-
context ||= default_validation_context
|
49
|
-
output = super(context)
|
50
|
-
errors.empty? && output
|
51
|
-
end
|
52
|
-
# called from (irb):2
|
53
|
-
```
|
54
|
-
|
55
|
-
</details>
|
56
|
-
<details open>
|
57
|
-
<summary>activerecord-5.2.3/lib/active_record/validations.rb:75</summary>
|
28
|
+
config = Rails.application.config.database_configuration[Rails.env]
|
58
29
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
new_record? ? :create : :update
|
30
|
+
TraceLocation.trace do
|
31
|
+
# You just surround you want to track the process.
|
32
|
+
ActiveRecord::Base.establish_connection(config)
|
63
33
|
end
|
64
|
-
# called from activerecord-5.2.3/lib/active_record/validations.rb:66
|
65
34
|
```
|
66
35
|
|
67
|
-
|
68
|
-
<details open>
|
69
|
-
<summary>activerecord-5.2.3/lib/active_record/persistence.rb:231</summary>
|
36
|
+
Then you can get logs like this: [.md](https://github.com/yhirano55/trace_location/blob/master/examples/active_record_establish_connection/result.md), [.log](https://github.com/yhirano55/trace_location/blob/master/examples/active_record_establish_connection/result.log), [.csv](https://github.com/yhirano55/trace_location/blob/master/examples/active_record_establish_connection/result.csv)
|
70
37
|
|
71
|
-
|
72
|
-
```ruby
|
73
|
-
def new_record?
|
74
|
-
sync_with_transaction_state
|
75
|
-
@new_record
|
76
|
-
end
|
77
|
-
# called from activerecord-5.2.3/lib/active_record/validations.rb:76
|
78
|
-
```
|
38
|
+
### Trace method options
|
79
39
|
|
80
|
-
|
81
|
-
|
82
|
-
|
40
|
+
| name | content | example |
|
41
|
+
|:-----|:--------|:--------|
|
42
|
+
| format | `:md`, `:log`, `:csv` (default: `:md`) | `:md` |
|
43
|
+
| match | Regexp, Symbol, String or Array for allow list | `[:activerecord, :activesupport]` |
|
44
|
+
| ignore | Regexp, Symbol, String or Array for deny list | `/bootsnap\|activesupport/` |
|
83
45
|
|
84
|
-
|
85
|
-
```ruby
|
86
|
-
def sync_with_transaction_state
|
87
|
-
update_attributes_from_transaction_state(@transaction_state)
|
88
|
-
end
|
89
|
-
# called from activerecord-5.2.3/lib/active_record/persistence.rb:232
|
90
|
-
```
|
46
|
+
## More examples
|
91
47
|
|
92
|
-
|
93
|
-
<details open>
|
94
|
-
<summary>activerecord-5.2.3/lib/active_record/transactions.rb:494</summary>
|
48
|
+
### Example: Track the validation process of Active Record
|
95
49
|
|
96
|
-
##### ActiveRecord::Transactions#update_attributes_from_transaction_state
|
97
50
|
```ruby
|
98
|
-
|
99
|
-
|
100
|
-
restore_transaction_record_state(transaction_state.fully_rolledback?) if transaction_state.rolledback?
|
101
|
-
force_clear_transaction_record_state if transaction_state.fully_committed?
|
102
|
-
clear_transaction_record_state if transaction_state.fully_completed?
|
103
|
-
end
|
104
|
-
end
|
105
|
-
# called from activerecord-5.2.3/lib/active_record/transactions.rb:491
|
51
|
+
book = Book.new(title: "My Book Title")
|
52
|
+
TraceLocation.trace(match: /activerecord/) { book.validate }
|
106
53
|
```
|
107
54
|
|
108
|
-
|
109
|
-
<details open>
|
110
|
-
<summary>activemodel-5.2.3/lib/active_model/validations.rb:336</summary>
|
55
|
+
Results: [.md](https://github.com/yhirano55/trace_location/blob/master/examples/active_record_validation_process/result.md), [.log](https://github.com/yhirano55/trace_location/blob/master/examples/active_record_validation_process/result.log), [.csv](https://github.com/yhirano55/trace_location/blob/master/examples/active_record_validation_process/result.csv)
|
111
56
|
|
112
|
-
|
113
|
-
```ruby
|
114
|
-
def valid?(context = nil)
|
115
|
-
current_context, self.validation_context = validation_context, context
|
116
|
-
errors.clear
|
117
|
-
run_validations!
|
118
|
-
ensure
|
119
|
-
self.validation_context = current_context
|
120
|
-
end
|
121
|
-
# called from activerecord-5.2.3/lib/active_record/validations.rb:67
|
122
|
-
```
|
57
|
+
### Example: Track the lifecycle of Rails application
|
123
58
|
|
124
|
-
</details>
|
125
|
-
<details open>
|
126
|
-
<summary>activemodel-5.2.3/lib/active_model/validations.rb:303</summary>
|
127
|
-
|
128
|
-
##### ActiveModel::Validations#errors
|
129
|
-
```ruby
|
130
|
-
def errors
|
131
|
-
@errors ||= Errors.new(self)
|
132
|
-
end
|
133
|
-
# called from activemodel-5.2.3/lib/active_model/validations.rb:338
|
134
|
-
```
|
135
|
-
|
136
|
-
</details>
|
137
|
-
<details open>
|
138
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:74</summary>
|
139
|
-
|
140
|
-
##### ActiveModel::Errors#initialize
|
141
|
-
```ruby
|
142
|
-
def initialize(base)
|
143
|
-
@base = base
|
144
|
-
@messages = apply_default_array({})
|
145
|
-
@details = apply_default_array({})
|
146
|
-
end
|
147
|
-
# called from activemodel-5.2.3/lib/active_model/validations.rb:304
|
148
|
-
```
|
149
|
-
|
150
|
-
</details>
|
151
|
-
<details open>
|
152
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:470</summary>
|
153
|
-
|
154
|
-
##### ActiveModel::Errors#apply_default_array
|
155
|
-
```ruby
|
156
|
-
def apply_default_array(hash)
|
157
|
-
hash.default_proc = proc { |h, key| h[key] = [] }
|
158
|
-
hash
|
159
|
-
end
|
160
|
-
# called from activemodel-5.2.3/lib/active_model/errors.rb:76
|
161
|
-
```
|
162
|
-
|
163
|
-
</details>
|
164
|
-
<details open>
|
165
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:470</summary>
|
166
|
-
|
167
|
-
##### ActiveModel::Errors#apply_default_array
|
168
59
|
```ruby
|
169
|
-
|
170
|
-
hash.default_proc = proc { |h, key| h[key] = [] }
|
171
|
-
hash
|
172
|
-
end
|
173
|
-
# called from activemodel-5.2.3/lib/active_model/errors.rb:77
|
174
|
-
```
|
60
|
+
env = Rack::MockRequest.env_for('http://localhost:3000/books')
|
175
61
|
|
176
|
-
|
177
|
-
|
178
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:115</summary>
|
179
|
-
|
180
|
-
##### ActiveModel::Errors#clear
|
181
|
-
```ruby
|
182
|
-
def clear
|
183
|
-
messages.clear
|
184
|
-
details.clear
|
62
|
+
TraceLocation.trace do
|
63
|
+
status, headers, body = Rails.application.call(env)
|
185
64
|
end
|
186
|
-
# called from activemodel-5.2.3/lib/active_model/validations.rb:338
|
187
65
|
```
|
188
66
|
|
189
|
-
|
190
|
-
<details open>
|
191
|
-
<summary>activemodel-5.2.3/lib/active_model/validations/callbacks.rb:117</summary>
|
192
|
-
|
193
|
-
##### ActiveModel::Validations::Callbacks#run_validations!
|
194
|
-
```ruby
|
195
|
-
def run_validations!
|
196
|
-
_run_validation_callbacks { super }
|
197
|
-
end
|
198
|
-
# called from activemodel-5.2.3/lib/active_model/validations.rb:339
|
199
|
-
```
|
67
|
+
Results: [.md](https://github.com/yhirano55/trace_location/blob/master/examples/lifecycle_of_rails_application/result.md), [.log](https://github.com/yhirano55/trace_location/blob/master/examples/lifecycle_of_rails_application/result.log), [.csv](https://github.com/yhirano55/trace_location/blob/master/examples/lifecycle_of_rails_application/result.csv)
|
200
68
|
|
201
|
-
|
202
|
-
<details open>
|
203
|
-
<summary>activemodel-5.2.3/lib/active_model/validations.rb:408</summary>
|
69
|
+
### Example: Track the `has_secure_password` in User model
|
204
70
|
|
205
|
-
##### ActiveModel::Validations#run_validations!
|
206
71
|
```ruby
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
```
|
213
|
-
|
214
|
-
</details>
|
215
|
-
<details open>
|
216
|
-
<summary>activemodel-5.2.3/lib/active_model/validations.rb:303</summary>
|
217
|
-
|
218
|
-
##### ActiveModel::Validations#errors
|
219
|
-
```ruby
|
220
|
-
def errors
|
221
|
-
@errors ||= Errors.new(self)
|
222
|
-
end
|
223
|
-
# called from activemodel-5.2.3/lib/active_model/validations.rb:410
|
224
|
-
```
|
225
|
-
|
226
|
-
</details>
|
227
|
-
<details open>
|
228
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:209</summary>
|
229
|
-
|
230
|
-
##### ActiveModel::Errors#empty?
|
231
|
-
```ruby
|
232
|
-
def empty?
|
233
|
-
size.zero?
|
234
|
-
end
|
235
|
-
# called from activemodel-5.2.3/lib/active_model/validations.rb:410
|
236
|
-
```
|
237
|
-
|
238
|
-
</details>
|
239
|
-
<details open>
|
240
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:179</summary>
|
241
|
-
|
242
|
-
##### ActiveModel::Errors#size
|
243
|
-
```ruby
|
244
|
-
def size
|
245
|
-
values.flatten.size
|
246
|
-
end
|
247
|
-
# called from activemodel-5.2.3/lib/active_model/errors.rb:210
|
248
|
-
```
|
249
|
-
|
250
|
-
</details>
|
251
|
-
<details open>
|
252
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:188</summary>
|
253
|
-
|
254
|
-
##### ActiveModel::Errors#values
|
255
|
-
```ruby
|
256
|
-
def values
|
257
|
-
messages.select do |key, value|
|
258
|
-
!value.empty?
|
259
|
-
end.values
|
260
|
-
end
|
261
|
-
# called from activemodel-5.2.3/lib/active_model/errors.rb:180
|
262
|
-
```
|
263
|
-
|
264
|
-
</details>
|
265
|
-
<details open>
|
266
|
-
<summary>activemodel-5.2.3/lib/active_model/validations.rb:303</summary>
|
267
|
-
|
268
|
-
##### ActiveModel::Validations#errors
|
269
|
-
```ruby
|
270
|
-
def errors
|
271
|
-
@errors ||= Errors.new(self)
|
272
|
-
end
|
273
|
-
# called from activerecord-5.2.3/lib/active_record/validations.rb:68
|
274
|
-
```
|
275
|
-
|
276
|
-
</details>
|
277
|
-
<details open>
|
278
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:209</summary>
|
279
|
-
|
280
|
-
##### ActiveModel::Errors#empty?
|
281
|
-
```ruby
|
282
|
-
def empty?
|
283
|
-
size.zero?
|
284
|
-
end
|
285
|
-
# called from activerecord-5.2.3/lib/active_record/validations.rb:68
|
72
|
+
class User < ApplicationRecord
|
73
|
+
# temporary surrounding with TraceLocation#trace
|
74
|
+
TraceLocation.trace(format: :md, ignore: /activesupport/) do
|
75
|
+
has_secure_password
|
76
|
+
end
|
286
77
|
```
|
287
78
|
|
288
|
-
|
289
|
-
<details open>
|
290
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:179</summary>
|
291
|
-
|
292
|
-
##### ActiveModel::Errors#size
|
293
|
-
```ruby
|
294
|
-
def size
|
295
|
-
values.flatten.size
|
296
|
-
end
|
297
|
-
# called from activemodel-5.2.3/lib/active_model/errors.rb:210
|
298
|
-
```
|
79
|
+
Results: [.md](https://github.com/yhirano55/trace_location/blob/master/examples/has_secure_password/result.md), [.log](https://github.com/yhirano55/trace_location/blob/master/examples/has_secure_password/result.log), [.csv](https://github.com/yhirano55/trace_location/blob/master/examples/has_secure_password/result.csv)
|
299
80
|
|
300
|
-
|
301
|
-
<details open>
|
302
|
-
<summary>activemodel-5.2.3/lib/active_model/errors.rb:188</summary>
|
81
|
+
### Example: Track the rendering process of action in controller class
|
303
82
|
|
304
|
-
##### ActiveModel::Errors#values
|
305
83
|
```ruby
|
306
|
-
|
307
|
-
|
308
|
-
!value.empty?
|
309
|
-
end.values
|
310
|
-
end
|
311
|
-
# called from activemodel-5.2.3/lib/active_model/errors.rb:180
|
312
|
-
```
|
313
|
-
|
314
|
-
</details>
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
### Example 02. Track the lifecycle of Rails application
|
84
|
+
class BooksController < ApplicationController
|
85
|
+
before_action :set_book, only: [:show, :update, :destroy]
|
319
86
|
|
87
|
+
# GET /books
|
88
|
+
def index
|
89
|
+
@books = Book.all
|
320
90
|
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
Created at /path/to/sampleapp/log/trace_location-2019050602051557077971.log
|
327
|
-
=> true
|
91
|
+
# temporary surrounding with TraceLocation#trace
|
92
|
+
TraceLocation.trace(format: :md, ignore: /activesupport|rbenv|concurrent-ruby/) do
|
93
|
+
render json: @books
|
94
|
+
end
|
95
|
+
end
|
328
96
|
```
|
329
97
|
|
330
|
-
|
331
|
-
|
332
|
-
```
|
333
|
-
Logged by TraceLocation gem at 2019-05-06 02:39:31 +0900
|
334
|
-
https://github.com/yhirano55/trace_location
|
335
|
-
|
336
|
-
[Tracing events] C: Call, R: Return
|
337
|
-
|
338
|
-
C railties-5.2.3/lib/rails.rb:39 [Rails.application]
|
339
|
-
R railties-5.2.3/lib/rails.rb:41 [Rails.application]
|
340
|
-
C railties-5.2.3/lib/rails/engine.rb:522 [Rails::Engine#call]
|
341
|
-
C railties-5.2.3/lib/rails/application.rb:607 [Rails::Application#build_request]
|
342
|
-
C railties-5.2.3/lib/rails/engine.rb:705 [Rails::Engine#build_request]
|
343
|
-
C railties-5.2.3/lib/rails/application.rb:247 [Rails::Application#env_config]
|
344
|
-
C railties-5.2.3/lib/rails/engine.rb:528 [Rails::Engine#env_config]
|
345
|
-
R railties-5.2.3/lib/rails/engine.rb:530 [Rails::Engine#env_config]
|
346
|
-
C railties-5.2.3/lib/rails/application.rb:372 [Rails::Application#config]
|
347
|
-
R railties-5.2.3/lib/rails/application.rb:374 [Rails::Application#config]
|
348
|
-
C railties-5.2.3/lib/rails/application.rb:372 [Rails::Application#config]
|
349
|
-
R railties-5.2.3/lib/rails/application.rb:374 [Rails::Application#config]
|
350
|
-
C railties-5.2.3/lib/rails/application.rb:394 [Rails::Application#secrets]
|
351
|
-
R railties-5.2.3/lib/rails/application.rb:414 [Rails::Application#secrets]
|
352
|
-
C activesupport-5.2.3/lib/active_support/ordered_options.rb:41 [ActiveSupport::OrderedOptions#method_missing]
|
353
|
-
C activesupport-5.2.3/lib/active_support/ordered_options.rb:37 [ActiveSupport::OrderedOptions#[]]
|
354
|
-
R activesupport-5.2.3/lib/active_support/ordered_options.rb:39 [ActiveSupport::OrderedOptions#[]]
|
355
|
-
R activesupport-5.2.3/lib/active_support/ordered_options.rb:54 [ActiveSupport::OrderedOptions#method_missing]
|
356
|
-
C railties-5.2.3/lib/rails/application.rb:428 [Rails::Application#secret_key_base]
|
357
|
-
C railties-5.2.3/lib/rails.rb:72 [Rails.env]
|
358
|
-
R railties-5.2.3/lib/rails.rb:74 [Rails.env]
|
359
|
-
C activesupport-5.2.3/lib/active_support/string_inquirer.rb:26 [ActiveSupport::StringInquirer#method_missing]
|
360
|
-
R activesupport-5.2.3/lib/active_support/string_inquirer.rb:32 [ActiveSupport::StringInquirer#method_missing]
|
361
|
-
C railties-5.2.3/lib/rails/application.rb:394 [Rails::Application#secrets]
|
362
|
-
R railties-5.2.3/lib/rails/application.rb:414 [Rails::Application#secrets]
|
363
|
-
C activesupport-5.2.3/lib/active_support/ordered_options.rb:41 [ActiveSupport::OrderedOptions#method_missing]
|
364
|
-
C activesupport-5.2.3/lib/active_support/ordered_options.rb:37 [ActiveSupport::OrderedOptions#[]]
|
365
|
-
R activesupport-5.2.3/lib/active_support/ordered_options.rb:39 [ActiveSupport::OrderedOptions#[]]
|
366
|
-
R activesupport-5.2.3/lib/active_support/ordered_options.rb:54 [ActiveSupport::OrderedOptions#method_missing]
|
367
|
-
R railties-5.2.3/lib/rails/application.rb:436 [Rails::Application#secret_key_base]
|
368
|
-
..................
|
369
|
-
(an omission)
|
370
|
-
..................
|
371
|
-
```
|
98
|
+
Results: [.md](https://github.com/yhirano55/trace_location/blob/master/examples/rendering_process/result.md), [.log](https://github.com/yhirano55/trace_location/blob/master/examples/rendering_process/result.log), [.csv](https://github.com/yhirano55/trace_location/blob/master/examples/rendering_process/result.csv)
|
372
99
|
|
373
100
|
## License
|
374
101
|
|