memory_usage 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,10 +14,16 @@ class MemoryUsage
14
14
  refresh
15
15
  end
16
16
 
17
+ #Filter process by name when printing
17
18
  def filter (text="")
18
19
  @options.filter = (text)
19
20
  end
20
21
 
22
+ #Filter processes using greater than x MB
23
+ def gt( num=0 )
24
+ @options.min = num
25
+ end
26
+
21
27
 
22
28
  #Recalculate Memory usage. stops have to call MemoryUsage.new
23
29
  def refresh
@@ -37,9 +43,6 @@ class MemoryUsage
37
43
  #Allow if no options set OR
38
44
  #Allow if command matches filter but not with --filter (because that is this file) OR
39
45
  #Filter is memory_usage we will allow it to profile itself
40
- if (@options.filter == "") or
41
- ((command.match(/.*#{@options.filter}.*/)) and (not command.match(/.*--filter #{@options.filter}.*/) )) or
42
- ((command.match(/.*#{@options.filter}.*/)) and (@options.filter.match(/.*memory_usage.*/)))
43
46
  rss = rss.to_f
44
47
  @usage << {:pid=>pid, :rss=>(rss/1024), :command=>command }
45
48
  @total += rss/1024
@@ -55,7 +58,6 @@ class MemoryUsage
55
58
  if command.size > @max[:command]
56
59
  @max[:command] = command.size
57
60
  end
58
- end
59
61
  #puts pid + (" %.2f MB " % (rss/1024)) + command
60
62
 
61
63
  end
@@ -68,8 +70,14 @@ class MemoryUsage
68
70
  #Display to stdout Error report
69
71
  def report
70
72
  @usage.each do |x|
71
- #rjust string.rjust(min length)
72
- puts x[:pid].rjust( @max[:pid] ) + (" %.2f MB " % x[:rss]).rjust( @max[:rss]+3 ) + x[:command]
73
+ if (@options.filter == "") or
74
+ ((x[:command].match(/.*#{@options.filter}.*/)) and (not x[:command].match(/.*--filter #{@options.filter}.*/) )) or
75
+ ((x[:command].match(/.*#{@options.filter}.*/)) and (@options.filter.match(/.*memory_usage.*/)))
76
+ if x[:rss] > @options.min
77
+ #rjust string.rjust(min length)
78
+ puts x[:pid].rjust( @max[:pid] ) + (" %.2f MB " % x[:rss]).rjust( @max[:rss]+3 ) + x[:command]
79
+ end
80
+ end
73
81
  end
74
82
  puts "Total Memory Usage: %.2f MB" % @total
75
83
  end
@@ -9,7 +9,7 @@ class MemoryUsageOptparse
9
9
  # Return a structure describing the options.
10
10
  #
11
11
  def self.parse(args)
12
- @VERSION = "0.0.3"
12
+ @VERSION = "0.0.4"
13
13
 
14
14
  # The options specified on the command line will be collected in *options*.
15
15
  # We set default values here.
@@ -26,22 +26,22 @@ class MemoryUsageOptparse
26
26
  opts.separator "Common options:"
27
27
 
28
28
  # No argument, shows at tail. This will print an options summary.
29
- opts.on_tail("-h", "--help", "Show this message") do
29
+ opts.on("-h", "--help", "Show this message") do
30
30
  puts opts
31
31
  exit
32
32
  end
33
33
 
34
34
  # Another typical switch to print the version.
35
- opts.on_tail("--version", "Show version") do
35
+ opts.on("--version", "Show version") do
36
36
  #puts OptionParser::Version.join('.')
37
37
  puts "Version #{@VERSION}"
38
38
  exit
39
39
  end
40
40
 
41
41
  # Boolean switch.
42
- opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
43
- options.verbose = v
44
- end
42
+ #opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
43
+ # options.verbose = v
44
+ #end
45
45
 
46
46
  opts.separator ""
47
47
  opts.separator "Specific options:"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memory_usage
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Morgan Prior
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-22 00:00:00 +01:00
18
+ date: 2010-06-23 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies: []
21
21