statter 0.1.0 → 0.2.0

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.
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: []