red_cross 0.2.11 → 0.2.12

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: fae76cce40101d60298082fa79d9040f5170d4e7
4
- data.tar.gz: 9d083c41fa089a42d017e6ef281dfd3bbc80ee94
3
+ metadata.gz: 6255408e36f20f43729e251e07e53853e50a620e
4
+ data.tar.gz: 25a01c5edc94e4674bc282e26ece3d2f7b3bd1cd
5
5
  SHA512:
6
- metadata.gz: 6b2bc23899b273912014e77da357cca17e2a40b681e60d5f27716d47e77c69249dae2945a6a430a13197ad18733bd9635f8f91744b19387e0103e01aee19e7d0
7
- data.tar.gz: 6602bd29f28c59dc9117acee767bfc15c01cbfd97716746e84449d6e65053ac036a034a7d35cd48041163e5b84de9dfb48645c24be059a93903cf02d6cf2873b
6
+ metadata.gz: 6394974a4ed266b94a52698c312b33ea867c20a0cc119b141e70dc1bad9baac255e2799d845eb346bc438555aa64e6e9bcb813eff44979fc6460beda1e627405
7
+ data.tar.gz: fe4f98010703f0d8bbd4786cae835033c62686f87cf9417fcb114b3605a31856db434972af32eeec453fb53dafee2043f254ed157adf99b60fdd5008c5c4d703
@@ -1,7 +1,7 @@
1
1
  module RedCross
2
2
  module Configuration
3
3
  class << self
4
- attr_accessor :influxdb_connect, :influxdb, :trackers, :default_tracker, :tracker
4
+ attr_accessor :influxdb_connect, :influxdb, :trackers, :default_tracker, :tracker, :logger
5
5
 
6
6
  def configure
7
7
  yield self
@@ -0,0 +1,15 @@
1
+ require 'logger'
2
+ module RedCross
3
+ module Logging
4
+
5
+ def self.logger
6
+ @logger ||= RedCross::Configuration.logger || (defined?(Rails) ? Rails.logger : ::Logger.new(STDERR))
7
+ end
8
+
9
+ def log(level, message)
10
+ RedCross::Logging.logger.send(level.to_sym, message)
11
+ rescue => e
12
+ puts "RedCross failed to send log. Exception: #{e} \n Log message: #{message}"
13
+ end
14
+ end
15
+ end
@@ -1,6 +1,8 @@
1
1
  module RedCross
2
2
  module Trackers
3
3
  class Base
4
+ include RedCross::Logging
5
+
4
6
  def track(attrs, additional_args = {})
5
7
  raise NotImplementedError
6
8
  end
@@ -10,8 +10,8 @@ module RedCross
10
10
  port: port,
11
11
  async: true,
12
12
  retry: false,
13
- write_timeout: write_timeout,
14
- read_timeout: read_timeout
13
+ write_timeout: write_timeout.to_f,
14
+ read_timeout: read_timeout.to_f
15
15
  end
16
16
 
17
17
  def track(attrs, additional_args = {})
@@ -28,13 +28,27 @@ module RedCross
28
28
 
29
29
  def monitor_request(attrs)
30
30
  return if client.nil?
31
+ event = attrs[:event].to_s
31
32
  properties = attrs[:properties] || {}
32
33
  values = { count: 1 }.merge((properties.delete(:fields) || {}))
33
34
  begin
34
- client.write_point(attrs[:event], { values: values, tags: properties })
35
+ client.write_point(event, { values: values, tags: properties })
35
36
  client.writer.worker.stop!
36
37
  rescue => e
37
- RedCross::Log.error("Failed to send monitor data for event: #{attrs[:event]} , Error #{e.message}")
38
+ error_data = {
39
+ log_message: 'Failed to send monitor data to InfluxDB',
40
+ event_arguments: {
41
+ event: event,
42
+ tags: properties,
43
+ fields: values
44
+ },
45
+ exception: {
46
+ class: e.class.to_s,
47
+ message: e.message,
48
+ backtrace: e.backtrace
49
+ }
50
+ }
51
+ log :error, error_data
38
52
  end
39
53
  end
40
54
  end
@@ -1,3 +1,3 @@
1
1
  module RedCross
2
- VERSION = '0.2.11'
2
+ VERSION = '0.2.12'
3
3
  end
data/lib/red_cross.rb CHANGED
@@ -4,7 +4,7 @@ require 'segment'
4
4
  require 'typhoeus'
5
5
  require 'resque'
6
6
  require 'influxdb'
7
- require 'red_cross/logger'
7
+ require 'red_cross/logging'
8
8
  require 'red_cross/trackers/base'
9
9
  require 'red_cross/trackers/segment_tracker'
10
10
  require 'red_cross/trackers/http_tracker'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: red_cross
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.11
4
+ version: 0.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - ronbarab
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-06-14 00:00:00.000000000 Z
11
+ date: 2017-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: analytics-ruby
@@ -114,7 +114,7 @@ files:
114
114
  - bin/setup
115
115
  - lib/red_cross.rb
116
116
  - lib/red_cross/configuration.rb
117
- - lib/red_cross/logger.rb
117
+ - lib/red_cross/logging.rb
118
118
  - lib/red_cross/resque/plugins/red_cross_monitor.rb
119
119
  - lib/red_cross/resque/scheduler.rb
120
120
  - lib/red_cross/trackers/base.rb
@@ -1,17 +0,0 @@
1
- require 'logger'
2
- module RedCross
3
- module Log
4
- class << self
5
-
6
- attr_writer :logger
7
-
8
- def logger
9
- @logger ||= ::Logger.new(STDERR)
10
- end
11
-
12
- def error(message)
13
- logger.error message
14
- end
15
- end
16
- end
17
- end