hitimes 1.1.1-x86-mswin32 → 1.2.0-x86-mswin32

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.
Files changed (49) hide show
  1. data/CONTRIBUTING.md +45 -0
  2. data/{HISTORY → HISTORY.rdoc} +14 -1
  3. data/LICENSE +11 -8
  4. data/Manifest.txt +44 -0
  5. data/{README → README.rdoc} +18 -5
  6. data/Rakefile +20 -62
  7. data/ext/hitimes/{extconf.rb → c/extconf.rb} +3 -3
  8. data/ext/hitimes/{hitimes_ext.c → c/hitimes.c} +1 -1
  9. data/ext/hitimes/{hitimes_instant_clock_gettime.c → c/hitimes_instant_clock_gettime.c} +0 -0
  10. data/ext/hitimes/c/hitimes_instant_osx.c +45 -0
  11. data/ext/hitimes/{hitimes_instant_windows.c → c/hitimes_instant_windows.c} +0 -0
  12. data/ext/hitimes/{hitimes_interval.c → c/hitimes_interval.c} +15 -7
  13. data/ext/hitimes/{hitimes_interval.h → c/hitimes_interval.h} +5 -5
  14. data/ext/hitimes/{hitimes_stats.c → c/hitimes_stats.c} +0 -0
  15. data/ext/hitimes/{hitimes_stats.h → c/hitimes_stats.h} +0 -0
  16. data/ext/hitimes/java/src/hitimes/Hitimes.java +54 -0
  17. data/ext/hitimes/java/src/hitimes/HitimesInterval.java +181 -0
  18. data/ext/hitimes/java/src/hitimes/HitimesService.java +16 -0
  19. data/ext/hitimes/java/src/hitimes/HitimesStats.java +112 -0
  20. data/lib/hitimes.rb +15 -5
  21. data/lib/hitimes/1.8/hitimes.so +0 -0
  22. data/lib/hitimes/1.9/hitimes.so +0 -0
  23. data/lib/hitimes/version.rb +1 -50
  24. data/spec/hitimes_spec.rb +14 -0
  25. data/spec/interval_spec.rb +24 -21
  26. data/spec/metric_spec.rb +8 -10
  27. data/spec/mutex_stats_spec.rb +8 -6
  28. data/spec/paths_spec.rb +1 -3
  29. data/spec/spec_helper.rb +7 -3
  30. data/spec/stats_spec.rb +26 -28
  31. data/spec/timed_metric_spec.rb +33 -33
  32. data/spec/timed_value_metric_spec.rb +45 -46
  33. data/spec/value_metric_spec.rb +21 -23
  34. data/spec/version_spec.rb +4 -30
  35. data/tasks/default.rake +267 -0
  36. data/tasks/extension.rake +31 -101
  37. data/tasks/this.rb +209 -0
  38. metadata +89 -88
  39. data/ext/hitimes/hitimes_instant_osx.c +0 -16
  40. data/gemspec.rb +0 -64
  41. data/lib/hitimes/1.8/hitimes_ext.so +0 -0
  42. data/lib/hitimes/1.9/hitimes_ext.so +0 -0
  43. data/tasks/announce.rake +0 -42
  44. data/tasks/config.rb +0 -109
  45. data/tasks/distribution.rake +0 -93
  46. data/tasks/documentation.rake +0 -32
  47. data/tasks/rspec.rake +0 -33
  48. data/tasks/rubyforge.rake +0 -55
  49. data/tasks/utils.rb +0 -80
@@ -1,16 +0,0 @@
1
- #ifdef USE_INSTANT_OSX
2
-
3
- #include "hitimes_interval.h"
4
- #include <CoreServices/CoreServices.h>
5
-
6
- /*
7
- * returns the number of nanoseconds since the machine was booted
8
- */
9
- hitimes_instant_t hitimes_get_current_instant( )
10
- {
11
- Nanoseconds nano = AbsoluteToNanoseconds( UpTime() );
12
-
13
- return *( hitimes_instant_t *)&nano;
14
- }
15
-
16
- #endif
data/gemspec.rb DELETED
@@ -1,64 +0,0 @@
1
- require 'rubygems'
2
- require 'hitimes/version'
3
- require 'tasks/config'
4
-
5
- Hitimes::GEM_SPEC = Gem::Specification.new do |spec|
6
- proj = Configuration.for('project')
7
- spec.name = proj.name
8
- spec.version = Hitimes::VERSION
9
-
10
- spec.author = proj.author
11
- spec.email = proj.email
12
- spec.homepage = proj.homepage
13
- spec.summary = proj.summary
14
- spec.description = proj.description
15
- spec.platform = Gem::Platform::RUBY
16
-
17
-
18
- pkg = Configuration.for('packaging')
19
- spec.files = pkg.files.all
20
- spec.executables = pkg.files.bin.collect { |b| File.basename(b) }
21
-
22
- # add dependencies here
23
- spec.add_development_dependency("rake", "~> 0.8.1")
24
- spec.add_development_dependency("configuration", " ~> 0.0.5")
25
- spec.add_development_dependency( "json", "~> 1.1.3")
26
- spec.add_development_dependency( "rake-compiler", "~> 0.5.0")
27
-
28
- if ext_conf = Configuration.for_if_exist?("extension") then
29
- spec.extensions << ext_conf.configs
30
- spec.require_paths << 'ext'
31
- spec.extensions.flatten!
32
- end
33
-
34
- if rdoc = Configuration.for_if_exist?('rdoc') then
35
- spec.has_rdoc = true
36
- spec.extra_rdoc_files = pkg.files.rdoc
37
- spec.rdoc_options = rdoc.options + [ "--main" , rdoc.main_page ]
38
- else
39
- spec.has_rdoc = false
40
- end
41
-
42
- if test = Configuration.for_if_exist?('testing') then
43
- spec.test_files = test.files
44
- end
45
-
46
- if rf = Configuration.for_if_exist?('rubyforge') then
47
- spec.rubyforge_project = rf.project
48
- end
49
- end
50
-
51
- Hitimes::GEM_SPEC_MSWIN32 = Hitimes::GEM_SPEC.clone
52
- Hitimes::GEM_SPEC_MSWIN32.platform = ::Gem::Platform.new( "i386-mswin32" )
53
- Hitimes::GEM_SPEC_MSWIN32.extensions = []
54
-
55
- Hitimes::GEM_SPEC_MINGW32= Hitimes::GEM_SPEC.clone
56
- Hitimes::GEM_SPEC_MINGW32.platform = ::Gem::Platform.new( "i386-mingw32" )
57
- Hitimes::GEM_SPEC_MINGW32.extensions = []
58
-
59
- Hitimes::GEM_SPEC_JAVA = Hitimes::GEM_SPEC.clone
60
- Hitimes::GEM_SPEC_JAVA.platform = ::Gem::Platform.new( 'java' )
61
- Hitimes::GEM_SPEC_JAVA.extensions = []
62
-
63
- Hitimes::SPECS = [ Hitimes::GEM_SPEC, Hitimes::GEM_SPEC_MSWIN32, Hitimes::GEM_SPEC_MINGW32, Hitimes::GEM_SPEC_JAVA ]
64
-
Binary file
Binary file
data/tasks/announce.rake DELETED
@@ -1,42 +0,0 @@
1
- require 'tasks/config'
2
- #-------------------------------------------------------------------------------
3
- # announcement methods
4
- #-------------------------------------------------------------------------------
5
-
6
- proj_config = Configuration.for('project')
7
- namespace :announce do
8
- desc "create email for ruby-talk"
9
- task :email do
10
- info = Utils.announcement
11
-
12
- File.open("email.txt", "w") do |mail|
13
- mail.puts "From: #{proj_config.author} <#{proj_config.email}>"
14
- mail.puts "To: ruby-talk@ruby-lang.org"
15
- mail.puts "Date: #{Time.now.rfc2822}"
16
- mail.puts "Subject: [ANN] #{info[:subject]}"
17
- mail.puts
18
- mail.puts info[:title]
19
- mail.puts
20
- mail.puts "{{ Release notes for Version #{Hitimes::VERSION} }}"
21
- mail.puts
22
- mail.puts info[:release_notes]
23
- mail.puts
24
- mail.puts " #{info[:urls]}"
25
- mail.puts
26
- mail.puts "=== Installation"
27
- mail.puts
28
- mail.puts " gem install #{Hitimes::GEM_SPEC.name}"
29
- mail.puts
30
- mail.puts "=== Description"
31
- mail.puts
32
- mail.puts info[:description]
33
- end
34
- puts "Created the following as email.txt:"
35
- puts "-" * 72
36
- puts File.read("email.txt")
37
- puts "-" * 72
38
- end
39
-
40
- CLOBBER << "email.txt"
41
- end
42
-
data/tasks/config.rb DELETED
@@ -1,109 +0,0 @@
1
- require 'configuration'
2
-
3
- require 'rake'
4
- require 'tasks/utils'
5
- require 'yaml'
6
-
7
- #-----------------------------------------------------------------------
8
- # General project configuration
9
- #-----------------------------------------------------------------------
10
- Configuration.for('project') {
11
- name "hitimes"
12
- version Hitimes::Version.to_s
13
- author "Jeremy Hinegardner"
14
- email "jeremy at copiousfreetime dot org"
15
- homepage "http://copiousfreetime.rubyforge.org/hitimes/"
16
- description Utils.section_of("README", "description")
17
- summary description.split(".").first
18
- history "HISTORY"
19
- license FileList["LICENSE"]
20
- readme "README"
21
- }
22
-
23
- #-----------------------------------------------------------------------
24
- # Packaging
25
- #-----------------------------------------------------------------------
26
- Configuration.for('packaging') {
27
- # files in the project
28
- proj_conf = Configuration.for('project')
29
- files {
30
- bin FileList["bin/*"]
31
- ext FileList["ext/hitimes/*.{c,h,rb}"]
32
- examples FileList["examples/*.rb"]
33
- lib FileList["lib/**/*.rb"]
34
- test FileList["spec/**/*.rb", "test/**/*.rb"]
35
- data FileList["data/**/*"]
36
- tasks FileList["tasks/**/*.r{ake,b}"]
37
- rdoc FileList[proj_conf.readme, proj_conf.history,
38
- proj_conf.license] + lib + FileList["ext/*.c"]
39
- all bin + examples + ext + lib + test + data + rdoc + tasks + FileList["Rakefile"]
40
- }
41
-
42
- # ways to package the results
43
- formats {
44
- tgz true
45
- zip true
46
- rubygem Configuration::Table.has_key?('gem')
47
- }
48
- }
49
-
50
- #-----------------------------------------------------------------------
51
- # Gem packaging
52
- #-----------------------------------------------------------------------
53
- Configuration.for("gem") {
54
- spec "gemspec.rb"
55
- Configuration.for('packaging').files.all << spec
56
- }
57
-
58
- #-----------------------------------------------------------------------
59
- # Testing
60
- # - change mode to 'testunit' to use unit testing
61
- #-----------------------------------------------------------------------
62
- Configuration.for('test') {
63
- mode "spec"
64
- files Configuration.for("packaging").files.test
65
- options %w[ --format specdoc --color ]
66
- ruby_opts %w[ ]
67
- }
68
-
69
- #-----------------------------------------------------------------------
70
- # Rcov
71
- #-----------------------------------------------------------------------
72
- Configuration.for('rcov') {
73
- output_dir "coverage"
74
- libs %w[ lib ]
75
- rcov_opts %w[ --html ]
76
- ruby_opts %w[ ]
77
- test_files Configuration.for('packaging').files.test
78
- }
79
-
80
- #-----------------------------------------------------------------------
81
- # Rdoc
82
- #-----------------------------------------------------------------------
83
- Configuration.for('rdoc') {
84
- files Configuration.for('packaging').files.rdoc
85
- main_page files.first
86
- title Configuration.for('project').name
87
- options %w[ --line-numbers ]
88
- output_dir "doc"
89
- }
90
-
91
- #-----------------------------------------------------------------------
92
- # Extension
93
- #-----------------------------------------------------------------------
94
- Configuration.for('extension') {
95
- configs Configuration.for('packaging').files.ext.find_all { |x| %w[ mkrf_conf.rb extconf.rb ].include?(File.basename(x)) }
96
- cross_rbconfig ::YAML::load_file( File.expand_path("~/.rake-compiler/config.yml"))
97
- }
98
-
99
- #-----------------------------------------------------------------------
100
- # Rubyforge
101
- #-----------------------------------------------------------------------
102
- Configuration.for('rubyforge') {
103
- project "copiousfreetime"
104
- user "jjh"
105
- host "rubyforge.org"
106
- rdoc_location "#{user}@#{host}:/var/www/gforge-projects/#{project}/hitimes"
107
- }
108
-
109
-
@@ -1,93 +0,0 @@
1
- require 'tasks/config'
2
-
3
- #-------------------------------------------------------------------------------
4
- # Distribution and Packaging
5
- #-------------------------------------------------------------------------------
6
- if pkg_config = Configuration.for_if_exist?("packaging") then
7
-
8
- require 'gemspec'
9
- require 'rake/gempackagetask'
10
- require 'rake/contrib/sshpublisher'
11
-
12
- namespace :dist do
13
-
14
- Rake::GemPackageTask.new(Hitimes::GEM_SPEC) do |pkg|
15
- pkg.need_tar = pkg_config.formats.tgz
16
- pkg.need_zip = pkg_config.formats.zip
17
- end
18
-
19
- desc "Install as a gem"
20
- task :install => [:clobber, :package] do
21
- sh "sudo gem install pkg/#{Hitimes::GEM_SPEC.full_name}.gem"
22
- end
23
-
24
- desc "Uninstall gem"
25
- task :uninstall do
26
- sh "sudo gem uninstall -x #{Hitimes::GEM_SPEC.name}"
27
- end
28
-
29
- desc "dump gemspec"
30
- task :gemspec do
31
- puts Hitimes::GEM_SPEC.to_ruby
32
- end
33
-
34
- desc "dump gemspec for win"
35
- task :gemspec_win do
36
- puts Hitimes::GEM_SPEC_WIN.to_ruby
37
- end
38
-
39
- desc "dump gemspec for java"
40
- task :gemspec_java do
41
- puts Hitimes::GEM_SPEC_JAVA.to_ruby
42
- end
43
-
44
- desc "reinstall gem"
45
- task :reinstall => [:uninstall, :repackage, :install]
46
-
47
- desc "package up a windows gem"
48
- task :package_win => :clean do
49
- Configuration.for("extension").cross_rbconfig.keys.each do |rbconfig|
50
- v = rbconfig.split("-").last
51
- s = v.sub(/\.\d$/,'')
52
- sh "rake ext:build_win-#{v}"
53
- mkdir_p "lib/hitimes/#{s}", :verbose => true
54
- cp "ext/hitimes/hitimes_ext.so", "lib/hitimes/#{s}/", :verbose => true
55
- end
56
-
57
- Hitimes::SPECS.each do |spec|
58
- next if spec.platform == "ruby"
59
- spec.files += FileList["lib/hitimes/{1.8,1.9}/**.{dll,so}"]
60
- Gem::Builder.new( spec ).build
61
- mkdir "pkg" unless File.directory?( 'pkg' )
62
- mv Dir["*.gem"].first, "pkg"
63
- end
64
- end
65
-
66
- if RUBY_PLATFORM == "java" then
67
- desc "package up a jruby gem"
68
- task :package_java => "ext:build_java" do
69
- Hitimes::GEM_SPEC_JAVA.files += FileList["lib/hitimes/*.jar"]
70
- Hitimes::GEM_SPEC_JAVA.files += FileList["ext/java/src/hitimes/*.java"]
71
- Gem::Builder.new( Hitimes::GEM_SPEC_JAVA ).build
72
- mv Dir["*.gem"].first, "pkg"
73
- end
74
- end
75
-
76
- task :clobber do
77
- rm_rf "lib/hitimes/1.8"
78
- rm_rf "lib/hitimes/1.9"
79
- rm_rf "lib/hitimes/*.jar"
80
- end
81
-
82
- task :prep => [:clean, :package, :package_win, :package_java ]
83
-
84
- desc "distribute copiously"
85
- task :copious => [:clean, :package, :package_win, :package_java ] do
86
- gems = Hitimes::SPECS.collect { |s| "#{s.full_name}.gem" }
87
- Rake::SshFilePublisher.new('jeremy@copiousfreetime.org',
88
- '/var/www/vhosts/www.copiousfreetime.org/htdocs/gems/gems',
89
- 'pkg', *gems).upload
90
- sh "ssh jeremy@copiousfreetime.org rake -f /var/www/vhosts/www.copiousfreetime.org/htdocs/gems/Rakefile"
91
- end
92
- end
93
- end
@@ -1,32 +0,0 @@
1
- require 'tasks/config'
2
-
3
- #-----------------------------------------------------------------------
4
- # Documentation
5
- #-----------------------------------------------------------------------
6
-
7
- if rdoc_config = Configuration.for_if_exist?('rdoc') then
8
-
9
- namespace :doc do
10
-
11
- require 'rdoc'
12
- require 'rake/rdoctask'
13
-
14
- # generating documentation locally
15
- Rake::RDocTask.new do |rdoc|
16
- rdoc.rdoc_dir = rdoc_config.output_dir
17
- rdoc.options = rdoc_config.options
18
- rdoc.rdoc_files = rdoc_config.files.sort
19
- rdoc.title = rdoc_config.title
20
- rdoc.main = rdoc_config.main_page
21
- end
22
-
23
- if rubyforge_config = Configuration.for_if_exist?('rubyforge') then
24
- desc "Deploy the RDoc documentation to #{rubyforge_config.rdoc_location}"
25
- task :deploy => :rerdoc do
26
- sh "rsync -zav --delete #{rdoc_config.output_dir}/ #{rubyforge_config.rdoc_location}"
27
- end
28
- end
29
-
30
- end
31
- end
32
-
data/tasks/rspec.rake DELETED
@@ -1,33 +0,0 @@
1
-
2
- require 'tasks/config'
3
-
4
- #--------------------------------------------------------------------------------
5
- # configuration for running rspec. This shows up as the test:default task
6
- #--------------------------------------------------------------------------------
7
- if spec_config = Configuration.for_if_exist?("test") then
8
- if spec_config.mode == "spec" then
9
- namespace :test do
10
-
11
- task :default => :spec
12
-
13
- require 'spec/rake/spectask'
14
- Spec::Rake::SpecTask.new do |r|
15
- r.ruby_opts = spec_config.ruby_opts
16
- r.libs = [ Hitimes::Paths.lib_path,
17
- Hitimes::Paths.root_dir ]
18
- r.spec_files = spec_config.files
19
- r.spec_opts = spec_config.options
20
-
21
- if rcov_config = Configuration.for_if_exist?('rcov') then
22
- r.rcov = true
23
- r.rcov_dir = rcov_config.output_dir
24
- r.rcov_opts = rcov_config.rcov_opts
25
- end
26
- end
27
-
28
- pre_req = "ext:build"
29
- pre_req += "_java" if RUBY_PLATFORM == "java"
30
- task :spec => pre_req
31
- end
32
- end
33
- end
data/tasks/rubyforge.rake DELETED
@@ -1,55 +0,0 @@
1
- require 'tasks/config'
2
-
3
- #-----------------------------------------------------------------------
4
- # Rubyforge additions to the task library
5
- #-----------------------------------------------------------------------
6
- if rf_conf = Configuration.for_if_exist?("rubyforge") then
7
-
8
- abort("rubyforge gem not installed 'gem install rubyforge'") unless Utils.try_require('rubyforge')
9
-
10
- proj_conf = Configuration.for('project')
11
-
12
- namespace :dist do
13
- desc "Release files to rubyforge"
14
- task :rubyforge => [:clean, :package, :package_win] do
15
-
16
- rubyforge = RubyForge.new
17
-
18
- config = {}
19
- config["release_notes"] = proj_conf.description
20
- config["release_changes"] = Utils.release_notes_from(proj_conf.history)[Hitimes::VERSION]
21
- config["Prefomatted"] = true
22
-
23
-
24
- rubyforge.configure config
25
-
26
- # make sure this release doesn't already exist
27
- releases = rubyforge.autoconfig['release_ids']
28
- if releases.has_key?(Hitimes::GEM_SPEC.name) and releases[Hitimes::GEM_SPEC.name][Hitimes::VERSION] then
29
- abort("Release #{Hitimes::VERSION} already exists! Unable to release.")
30
- end
31
-
32
- puts "Uploading to rubyforge..."
33
- files = FileList[File.join("pkg","#{Hitimes::GEM_SPEC.name}-#{Hitimes::VERSION}*.*")].to_a
34
- files.each do |f|
35
- puts " * #{f}"
36
- end
37
- rubyforge.login
38
- rubyforge.add_release(Hitimes::GEM_SPEC.rubyforge_project, Hitimes::GEM_SPEC.name, Hitimes::VERSION, *files)
39
- puts "done."
40
- end
41
- end
42
-
43
- namespace :announce do
44
- desc "Post news of #{proj_conf.name} to #{rf_conf.project} on rubyforge"
45
- task :rubyforge do
46
- info = Utils.announcement
47
- rubyforge = RubyForge.new
48
- rubyforge.configure
49
- rubyforge.login
50
- rubyforge.post_news(rf_conf.project, info[:subject], "#{info[:title]}\n\n#{info[:urls]}\n\n#{info[:release_notes]}")
51
- puts "Posted to rubyforge"
52
- end
53
-
54
- end
55
- end