Skip to content

Instantly share code, notes, and snippets.

@matthewd
Created April 4, 2011 10:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matthewd/901434 to your computer and use it in GitHub Desktop.
Save matthewd/901434 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
lib_path = File.expand_path("../../lib", __FILE__)
$:.unshift lib_path
require 'uri'
require 'net/http'
require 'optparse'
require 'tempfile'
require 'benchmark/suite'
require 'benchmark/ips'
#report_uri = URI.parse("http://sierra.trebex.net:8000/result/add/")
report_uri = URI.parse("http://localhost:8000/result/add/")
project = ARGV.shift
executable = ARGV.shift
commit = ARGV.shift
date = ARGV.shift
results = Marshal.load(ARGF.read)
results.reports.each do |file, subreports|
report_name = file.sub(/^(?:.*\/)?benchmark\/(.*[^\/])\/+bench_(.*)\.rb$/, '\1/\2')
ips = 0
subreports.each do |report|
ips += report.ips
end
ips /= subreports.size
params = {
'project' => project,
'executable' => executable,
'commitid' => commit,
'benchmark' => report_name,
'environment' => `hostname`.chomp,
#'revision_date' => Time.now.strftime('%Y-%m-%d %H:%M:%S'),
'revision_date' => date,
'result_date' => Time.now.strftime('%Y-%m-%d %H:%M:%S'),
'result_value' => ips,
#'std_dev' => report.ips_sd,
}
result = Net::HTTP.post_form(report_uri, params)
unless Net::HTTPSuccess === result
p result
p result.body
exit
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment