xcprofiler 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ffcc953c056267edd13f20ea8417c23b670efa04
4
- data.tar.gz: 2f11b4192566fb48a550b5fe30f1b485527d4cea
3
+ metadata.gz: 619014224d306a694c7da11d1ed1306b9b2e3fac
4
+ data.tar.gz: c0b91191a1208dff867f74cde952515736439118
5
5
  SHA512:
6
- metadata.gz: 26564e45a20bdd327ac39da21564b95d42a14d39f1e15eadb7ffef7e5bfedc85046dce4d599adeef6f8eda99d7389a5c3e19f96a3115067deba9606ab9bb40a0
7
- data.tar.gz: 69e94149a711acdf8c4c66e41fffe853a3ae2f09966f591b9df7301f61ac85057fee41fc916e34f33fca52597b1dc9bf5bbd2b40f22b686c7aeee448d69f27e6
6
+ metadata.gz: 3239189c1c076857ca30a1d68a1682452118e963d2491750c08b4ddacf0a1a9dc61c5027e0c35910469e38b7a4ec4ce268b08ea05f3429bdfd80614b542b09ed
7
+ data.tar.gz: ca139ec88be8f4d7f8429018b04df948e1eb961259c89733f16895cd6698fea69591c09f10aab7b64e8962812a51eba292bcbf8213f308443d97c22aa0172ee1
data/README.md CHANGED
@@ -75,6 +75,7 @@ Sample output is here
75
75
  |--show-invalids||Show invalid location results|
76
76
  |--order|-o|Sort order (default,time,file)|
77
77
  |--derived-data-path||Root path of DerivedData directory|
78
+ |--truncate-at|-t|Truncate the method name with specified length|
78
79
 
79
80
  ## Use custom reporters
80
81
 
@@ -34,7 +34,11 @@ module Xcprofiler
34
34
  private
35
35
 
36
36
  def reporters
37
- @reporters ||= [StandardOutputReporter.new(limit: options[:limit], threshold: options[:threshold], order: options[:order])]
37
+ @reporters ||= [StandardOutputReporter.new(limit: options[:limit],
38
+ threshold: options[:threshold],
39
+ order: options[:order],
40
+ truncate_at: options[:truncate_at])
41
+ ]
38
42
  end
39
43
  end
40
44
  end
@@ -2,6 +2,8 @@ module Xcprofiler
2
2
  class AbstractReporter
3
3
  attr_reader :options
4
4
 
5
+ DEFAULT_TRUNCATE_AT = 150
6
+
5
7
  def initialize(options = {})
6
8
  @options = options
7
9
  end
@@ -46,5 +48,9 @@ module Xcprofiler
46
48
  def order
47
49
  options[:order] || :time
48
50
  end
51
+
52
+ def truncate_at
53
+ options[:truncate_at] ||= DEFAULT_TRUNCATE_AT
54
+ end
49
55
  end
50
56
  end
@@ -13,9 +13,17 @@ module Xcprofiler
13
13
  t << ['File', 'Line', 'Method name', 'Time(ms)']
14
14
  t << :separator
15
15
  executions.each do |execution|
16
- t << [execution.filename, execution.line, execution.method_name, execution.time]
16
+ t << [execution.filename, execution.line, truncate(execution.method_name, truncate_at), execution.time]
17
17
  end
18
18
  end
19
19
  end
20
+
21
+ def truncate(text, truncate_at)
22
+ omission = '...'
23
+ return text unless text.length >= truncate_at
24
+ return text unless truncate_at >= omission.length
25
+ length_with_room_for_omission = truncate_at - omission.length
26
+ "#{text[0...length_with_room_for_omission]}#{omission}"
27
+ end
20
28
  end
21
29
  end
@@ -1,3 +1,3 @@
1
1
  module Xcprofiler
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/xcprofiler.rb CHANGED
@@ -25,6 +25,7 @@ module Xcprofiler
25
25
  opts.on("-l", "--limit [LIMIT]", Integer, "Limit for display") { |v| options.limit = v }
26
26
  opts.on("--threshold [THRESHOLD]", Integer, "Threshold of time to display(ms)") { |v| options.threshold = v }
27
27
  opts.on("--derived-data-path", String, "Root path of DerivedData") { |v| options.derived_data_path = v }
28
+ opts.on("-t", "--truncate-at [TRUNCATE_AT]", Integer, "Truncate the method name with specified length") { |v| options.truncate_at = v }
28
29
  opts.on_tail("-h", "--help", "Show this message") do
29
30
  puts opts
30
31
  exit
@@ -51,7 +52,8 @@ module Xcprofiler
51
52
  StandardOutputReporter.new(limit: options[:limit],
52
53
  threshold: options[:threshold],
53
54
  order: order,
54
- show_invalid_locations: options[:show_invalid_locations])
55
+ show_invalid_locations: options[:show_invalid_locations],
56
+ truncate_at: options[:truncate_at])
55
57
  ]
56
58
  profiler.report!
57
59
  rescue Exception => e
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcprofiler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - giginet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-05 00:00:00.000000000 Z
11
+ date: 2017-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler