capistrano-mackerel 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fcf4bab425f17e1f0965535ab30cfc68b5d9f290
4
- data.tar.gz: 5d9648039c9f9844e819ff4a3711b9fd9abf45cf
3
+ metadata.gz: 62220dc181ad49ed1e4af1a13305e7ac3ad421af
4
+ data.tar.gz: 031a001f71c03198748d99586b3b157ab02ba658
5
5
  SHA512:
6
- metadata.gz: adf3a6a5d02802100120ef2dc53d9bc9e3f4fe3400420970b33e98266313ab8b6d67cdf85a470c72efee50863e9a41fc488d6d8b2701caf12f6705faf0ceefab
7
- data.tar.gz: 5b548b5ed15408fbeff4c05921b489cf7b8cce5f34329cc772fbf50e0c3dc7ff2cfa5299ff709b408034d9d5820353fee628baf89d938eba11cade589414679d
6
+ metadata.gz: 2f86a2c23fb00adcd9d94e569f97f112fb21a3c0a50ab32d35ad4c3387836d18c1490c390978f21ee628a67ba050ad0e9d603d97888af7e17162f06d6563b271
7
+ data.tar.gz: 8ccdf9dbceb8011322d06b2a055e9ce74d77ad11d5ff0506c612c61172b5a57efcd270008f9f22d4af110e396876eb1f407b025ef1c107507b76140d5b9edce4
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module Mackerel
3
- VERSION = '0.1.0'
3
+ VERSION = '0.2.0'.freeze
4
4
  end
5
5
  end
@@ -9,29 +9,42 @@ end
9
9
  namespace :mackerel do
10
10
  desc 'Set hooks'
11
11
  task :hooks do
12
- tasks = fetch(:mackerel_annotate_tasks)
12
+ tasks = fetch(:mackerel_annotate_tasks).uniq
13
13
  tasks.each do |task|
14
- before task, 'mackerel:starting' do
14
+ unless Rake::Task.task_defined?(task)
15
+ abort "Error: Task '#{task}' is not defined."
16
+ end
17
+
18
+ task_name = task.tr(':', '_')
19
+
20
+ before task, "mackerel:starting_#{task_name}" do
15
21
  results = fetch(:mackerel_measurements, {})
16
22
  results[task] = Time.now.to_i
17
23
  set :mackerel_measurements, results
18
24
  end
19
25
 
20
- after task, 'mackerel:finished' do
26
+ after task, "mackerel:finished_#{task_name}" do
21
27
  finish_time = Time.now.to_i
22
28
 
23
29
  results = fetch(:mackerel_measurements)
24
30
  start_time = results[task]
25
31
 
26
- client = Mackerel::Client.new(mackerel_api_key: fetch(:mackerel_api_key))
27
- client.post_graph_annotation({
28
- title: task,
29
- description: "Processing time for '#{task}'",
30
- from: start_time,
31
- to: finish_time,
32
- service: fetch(:mackerel_service),
33
- roles: fetch(:mackerel_roles)
34
- })
32
+ run_locally do
33
+ info "Task '#{task}' took #{finish_time - start_time} sec."
34
+ end
35
+
36
+ api_key = fetch(:mackerel_api_key)
37
+ if api_key
38
+ client = Mackerel::Client.new(mackerel_api_key: api_key)
39
+ client.post_graph_annotation({
40
+ title: task,
41
+ description: "Processing time for '#{task}'",
42
+ from: start_time,
43
+ to: finish_time,
44
+ service: fetch(:mackerel_service),
45
+ roles: fetch(:mackerel_roles)
46
+ })
47
+ end
35
48
  end
36
49
  end
37
50
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-mackerel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katsuma Tanaka
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-02 00:00:00.000000000 Z
11
+ date: 2017-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano