statter 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: db65cdc3c39dc2558fdc66d9edb92ee34b5ff006
4
- data.tar.gz: f047631a145212571f1df2cf72647688f47e8831
3
+ metadata.gz: aff96e49df3a9eec2ea07c06930931306c4cc900
4
+ data.tar.gz: 663ec5dbd49b13fb4761e0f5a1fd15137ba0214f
5
5
  SHA512:
6
- metadata.gz: 149b889c6571635d1836aa3164d77c3a2808282a978428addb2c51bc5043dd3cfd681f97d48d5f7fa175cb1edbf138705120c305f1a18126f4d6c8ca53aab1cc
7
- data.tar.gz: 211eeed63698f322243dfdde1bbc373c5b4d7c70367a0b5ddcd95a79a56bd3cf534754bcd6f38a828384337ef3eb9566d2f09272b2b312021081347bd1f9535d
6
+ metadata.gz: 351b0b0a4735f3de26a097667ba611c15bda8e4c2a14d2dd0f65b53d3cd7298afe2b8ec590ceb1d507650a29cca192fa222fb29dd0f0b910371df73259268fc7
7
+ data.tar.gz: b50bebfbd4db442523946467d90a3e58eb2bbbdb328662945f33b0a8900383b67ff7f5a6133faf8485a0e3ed7d75ca41fc2c4219299b691e0c44e1651d1b6da2
data/lib/statter.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require "statter/version"
2
2
  require "singleton"
3
- require "typhoeus"
4
- require "thread"
3
+ require "logger"
4
+ require "statter/reporter_job"
5
5
 
6
6
  module Statter
7
7
 
@@ -33,7 +33,13 @@ module Statter
33
33
  attr_accessor :config
34
34
 
35
35
  def self.logger
36
- @logger ||= Logger.new(Rails.root + "log/statter.#{Rails.env}.log", "daily")
36
+ if defined? Rails
37
+ log_path = "log/statter.#{Rails.env}.log"
38
+ else
39
+ log_path = "./statter.log"
40
+ end
41
+
42
+ @logger ||= Logger.new(log_path)
37
43
  end
38
44
 
39
45
  def self.with_config(config)
@@ -42,25 +48,17 @@ module Statter
42
48
  i
43
49
  end
44
50
 
51
+ def self.log(str)
52
+ logger.info(str) if Config.instance.logging_on
53
+ end
54
+
45
55
  def log(str)
46
- self.class.logger.info(str) if config.logging_on
56
+ self.class.log(str)
47
57
  end
48
58
 
49
59
  def send_data(type, name, data)
50
- Thread.new do
51
- resp = Typhoeus.post(
52
- "#{config.url}/stats",
53
- headers: {
54
- "x-auth-header" => config.auth_header
55
- },
56
- body: {
57
- type: type,
58
- name: name,
59
- data: data
60
- }
61
- )
62
- log("name: #{name}, data: #{data}, response: #{resp.response_headers}")
63
- end
60
+ log("enqueueing type: #{type}, name: #{name}, data: #{data}")
61
+ ReporterJob.new.async.perform(config, type, name, data)
64
62
  end
65
63
 
66
64
  end # Agent
@@ -0,0 +1,23 @@
1
+
2
+ require "typhoeus"
3
+ require "sucker_punch"
4
+
5
+ class ReporterJob
6
+ include SuckerPunch::Job
7
+
8
+ def perform(config, type, name, data)
9
+ resp = Typhoeus.post(
10
+ "#{config.url}/stats",
11
+ headers: {
12
+ "x-auth-header" => config.auth_header
13
+ },
14
+ body: {
15
+ type: type,
16
+ name: name,
17
+ data: data
18
+ }
19
+ )
20
+ Statter::Agent.log("sent type: #{type}, name: #{name}, data: #{data}, response: [#{resp.response_code}] #{resp.response_headers}")
21
+ end
22
+
23
+ end
@@ -1,3 +1,3 @@
1
1
  module Statter
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/statter.gemspec CHANGED
@@ -8,9 +8,9 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Statter::VERSION
9
9
  spec.authors = ["Jeff Emminger"]
10
10
  spec.email = ["jeff@7compass.com"]
11
- spec.summary = %q{Report stats to the statter backend.}
12
- spec.description = %q{}
13
- spec.homepage = ""
11
+ spec.summary = %q{Report stats to the statter backend}
12
+ spec.description = %q{Report stats to the statter backend}
13
+ spec.homepage = "https://bitbucket.org/7compass/statter"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_runtime_dependency "sucker_punch", "~> 1.2"
21
22
  spec.add_runtime_dependency "typhoeus", "~> 0.6"
22
23
 
23
24
  spec.add_development_dependency "bundler", "~> 1.7"
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statter
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
  - Jeff Emminger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-23 00:00:00.000000000 Z
11
+ date: 2014-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sucker_punch
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.2'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: typhoeus
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +66,7 @@ dependencies:
52
66
  - - ~>
53
67
  - !ruby/object:Gem::Version
54
68
  version: '10.0'
55
- description: ''
69
+ description: Report stats to the statter backend
56
70
  email:
57
71
  - jeff@7compass.com
58
72
  executables: []
@@ -67,9 +81,10 @@ files:
67
81
  - README.md
68
82
  - Rakefile
69
83
  - lib/statter.rb
84
+ - lib/statter/reporter_job.rb
70
85
  - lib/statter/version.rb
71
86
  - statter.gemspec
72
- homepage: ''
87
+ homepage: https://bitbucket.org/7compass/statter
73
88
  licenses:
74
89
  - MIT
75
90
  metadata: {}
@@ -92,5 +107,5 @@ rubyforge_project:
92
107
  rubygems_version: 2.4.2
93
108
  signing_key:
94
109
  specification_version: 4
95
- summary: Report stats to the statter backend.
110
+ summary: Report stats to the statter backend
96
111
  test_files: []