@@ -13,16 +13,29 @@ task 'benchmark:archive' do
13
13
require 'aws-sdk-s3'
14
14
require 'securerandom'
15
15
16
+ puts 'Archiving benchmark report from GH with ' \
17
+ "repo: #{ ENV [ 'GH_REPO' ] } , ref: #{ ENV [ 'GH_REF' ] } , event: #{ ENV [ 'GH_EVENT' ] } "
18
+ folder =
19
+ if ENV [ 'GH_EVENT' ] == 'pull_request'
20
+ ref = ENV [ 'GH_REF' ]
21
+ if ENV [ 'GH_REPO' ] == 'aws/aws-sdk-ruby-staging'
22
+ "staging-pr/#{ ref } "
23
+ else
24
+ "pr/#{ ref } "
25
+ end
26
+ else
27
+ 'release'
28
+ end
29
+ key = "#{ folder } /#{ Time . now . strftime ( '%Y-%m-%d' ) } /benchmark_#{ SecureRandom . uuid } .json"
16
30
17
- puts "Archiving benchmark report from GH with: #{ ENV [ 'GH_REF' ] } , #{ ENV [ 'GH_EVENT' ] } "
18
- ref = ENV [ 'GH_REF' ] || "version-3"
19
- event = ENV [ 'GH_EVENT' ] || 'push'
20
- client = Aws ::S3 ::Client . new
21
-
22
- key = "#{ event == 'pull_request' ? 'pr/' + ref : 'release' } /#{ Time . now . strftime ( '%Y-%m-%d' ) } /benchmark_#{ SecureRandom . uuid } .json"
23
31
puts "Uploading report to: #{ key } "
24
- client . put_object ( bucket : 'aws-sdk-ruby-performance-benchmark-archive' , key : key , body : File . read ( 'benchmark_report.json' ) )
25
- puts "Upload complete"
32
+ client = Aws ::S3 ::Client . new
33
+ client . put_object (
34
+ bucket : 'aws-sdk-ruby-performance-benchmark-archive' ,
35
+ key : key ,
36
+ body : File . read ( 'benchmark_report.json' )
37
+ )
38
+ puts 'Upload complete'
26
39
end
27
40
28
41
desc 'Upload benchmarking data to cloudwatch'
@@ -31,7 +44,16 @@ task 'benchmark:put-metrics' do
31
44
require 'aws-sdk-cloudwatch'
32
45
require_relative '../benchmark/metrics'
33
46
34
- event = ENV [ 'GH_EVENT' ] == 'pull_request' ? 'pr' : 'release'
47
+ event =
48
+ if ENV [ 'GH_EVENT' ] == 'pull_request'
49
+ if ENV [ 'GH_REPO' ] == 'aws/aws-sdk-ruby-staging'
50
+ 'staging-pr'
51
+ else
52
+ 'pr'
53
+ end
54
+ else
55
+ 'release'
56
+ end
35
57
report = JSON . parse ( File . read ( 'benchmark_report.json' ) )
36
58
target = report [ 'ruby_engine' ] + "-" + report [ 'ruby_version' ] . split ( '.' ) . first ( 2 ) . join ( '.' )
37
59
@@ -44,14 +66,12 @@ task 'benchmark:put-metrics' do
44
66
env : report [ 'execution_env' ]
45
67
}
46
68
47
- puts "Uploading benchmarking metrics"
48
-
69
+ puts 'Uploading benchmarking metrics'
49
70
client = Aws ::CloudWatch ::Client . new
50
-
51
- benchmark_data = report [ "benchmark" ]
71
+ benchmark_data = report [ 'benchmark' ]
52
72
benchmark_data . each do |gem_name , gem_data |
53
73
dims = report_dims . merge ( gem : gem_name )
54
- gem_data . each do |k , v |
74
+ gem_data . each do |k , v |
55
75
Benchmark ::Metrics . put_metric ( client , dims , report [ 'timestamp' ] || Time . now , k , v )
56
76
end
57
77
end
0 commit comments