rusage 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,23 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'autotest/restart'
4
+
5
+ # Autotest.add_hook :initialize do |at|
6
+ # at.extra_files << "../some/external/dependency.rb"
7
+ #
8
+ # at.libs << ":../some/external"
9
+ #
10
+ # at.add_exception 'vendor'
11
+ #
12
+ # at.add_mapping(/dependency.rb/) do |f, _|
13
+ # at.files_matching(/test_.*rb$/)
14
+ # end
15
+ #
16
+ # %w(TestA TestB).each do |klass|
17
+ # at.extra_class_map[klass] = "test/test_misc.rb"
18
+ # end
19
+ # end
20
+
21
+ # Autotest.add_hook :run_command do |at|
22
+ # system "rake build"
23
+ # end
@@ -0,0 +1,6 @@
1
+ === 1.0.0 / 2009-12-09
2
+
3
+ * 1 major enhancement
4
+
5
+ * Birthday!
6
+
@@ -0,0 +1,7 @@
1
+ .autotest
2
+ History.txt
3
+ Manifest.txt
4
+ README.txt
5
+ Rakefile
6
+ ext/rusage/extconf.rb
7
+ ext/rusage/rusage.c
@@ -0,0 +1,21 @@
1
+ = rusage
2
+
3
+ * http://github.com/sandofsky/rusage
4
+
5
+ == DESCRIPTION:
6
+
7
+ A gem that calls getrusage to get details on the current process.
8
+
9
+ Ripped out of the proc/wait3 library, originally written by Daniel J. Berger.
10
+
11
+ http://raa.ruby-lang.org/project/proc-wait3/
12
+
13
+ == LICENSE:
14
+
15
+ Inherits the Artistic License 2.0 from proc/wait3.
16
+
17
+ == COPYRIGHT:
18
+
19
+ The original code is still copyright Daniel J. Berger.
20
+
21
+ Anything new is copyright Ben Sandofsky.
@@ -0,0 +1,12 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+
6
+ Hoe.spec 'rusage' do
7
+ developer('Ben Sandofsky', 'ben@sandofsky.com')
8
+ self.version = "0.1.0"
9
+ self.spec_extras = { :extensions => ["ext/rusage/extconf.rb"] }
10
+ end
11
+
12
+ # vim: syntax=ruby
@@ -0,0 +1,5 @@
1
+ require 'mkmf'
2
+
3
+ dir_config("rusage")
4
+
5
+ create_makefile("rusage")
@@ -0,0 +1,41 @@
1
+ // VERSION = "x.y.z"
2
+ #include <ruby.h>
3
+ #include <sys/resource.h>
4
+ VALUE v_usage_struct;
5
+ static VALUE rusage_get(int argc, VALUE* argv, VALUE mod){
6
+ int who = RUSAGE_SELF;
7
+ struct rusage r;
8
+ int ret;
9
+
10
+ ret = getrusage(who, &r);
11
+ if(ret == -1)
12
+ rb_sys_fail("getrusage");
13
+
14
+ return rb_struct_new(v_usage_struct,
15
+ rb_float_new((double)r.ru_utime.tv_sec+(double)r.ru_utime.tv_usec/1e6),
16
+ rb_float_new((double)r.ru_stime.tv_sec+(double)r.ru_stime.tv_usec/1e6),
17
+ LONG2NUM(r.ru_maxrss),
18
+ LONG2NUM(r.ru_ixrss),
19
+ LONG2NUM(r.ru_idrss),
20
+ LONG2NUM(r.ru_isrss),
21
+ LONG2NUM(r.ru_minflt),
22
+ LONG2NUM(r.ru_majflt),
23
+ LONG2NUM(r.ru_nswap),
24
+ LONG2NUM(r.ru_inblock),
25
+ LONG2NUM(r.ru_oublock),
26
+ LONG2NUM(r.ru_msgsnd),
27
+ LONG2NUM(r.ru_msgrcv),
28
+ LONG2NUM(r.ru_nsignals),
29
+ LONG2NUM(r.ru_nvcsw),
30
+ LONG2NUM(r.ru_nivcsw)
31
+ );
32
+ }
33
+ void Init_rusage(){
34
+ v_usage_struct =
35
+ rb_struct_define("RUsage","utime","stime","maxrss","ixrss","idrss",
36
+ "isrss","minflt","majflt","nswap","inblock","oublock","msgsnd",
37
+ "msgrcv","nsignals","nvcsw","nivcsw",NULL
38
+ );
39
+
40
+ rb_define_module_function(rb_mProcess, "rusage", rusage_get, -1);
41
+ }
metadata ADDED
@@ -0,0 +1,79 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rusage
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ben Sandofsky
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-12-09 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.3.3
24
+ version:
25
+ description: |-
26
+ A gem that calls getrusage to get details on the current process.
27
+
28
+ Ripped out of the proc/wait3 library, originally written by Daniel J. Berger.
29
+
30
+ http://raa.ruby-lang.org/project/proc-wait3/
31
+ email:
32
+ - ben@sandofsky.com
33
+ executables: []
34
+
35
+ extensions:
36
+ - ext/rusage/extconf.rb
37
+ extra_rdoc_files:
38
+ - History.txt
39
+ - Manifest.txt
40
+ - README.txt
41
+ files:
42
+ - .autotest
43
+ - History.txt
44
+ - Manifest.txt
45
+ - README.txt
46
+ - Rakefile
47
+ - ext/rusage/extconf.rb
48
+ - ext/rusage/rusage.c
49
+ has_rdoc: true
50
+ homepage: http://github.com/sandofsky/rusage
51
+ licenses: []
52
+
53
+ post_install_message:
54
+ rdoc_options:
55
+ - --main
56
+ - README.txt
57
+ require_paths:
58
+ - ext
59
+ required_ruby_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: "0"
70
+ version:
71
+ requirements: []
72
+
73
+ rubyforge_project: rusage
74
+ rubygems_version: 1.3.5
75
+ signing_key:
76
+ specification_version: 3
77
+ summary: A gem that calls getrusage to get details on the current process
78
+ test_files: []
79
+