appsignal 0.8.14 → 0.8.15

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: 5788be6b8d6c1a8fc8212a6bb1a9ded51848ddbf
4
- data.tar.gz: dc08f114adc8b0f80d8fb8f50cd24ee4955f487a
3
+ metadata.gz: 14c00518e40685c71256e3fb07a80568198e3660
4
+ data.tar.gz: dc8a116a4c5541feb03e2df238554253e9284ab5
5
5
  SHA512:
6
- metadata.gz: 302639852d5022985509eb93c47359ed50692fea43e45d43edb823ab8890c7d2903ea6926702833ece9ce7b98642b1359fe37d016f3f1e959a7c8e49f01d51ba
7
- data.tar.gz: 61859592272958a21d17e6c3969715d453295d210e5c689dab61daeec52a939ad4b7a35948e512514d0dada1e67ba3747739dd4d0d2f5feb2108e4817679fa0e
6
+ metadata.gz: a2aa00e17ba12ffd245e83174e6c35e3bced66796fd42e2335cdb38b0099733f09847e769551140b940565e23eabccae7d20fd8361578f0c3e1f9b01ce1494f9
7
+ data.tar.gz: ce94868b73e6867ebd738f285b2b596ea9b3fdf95cb844c9fd2a5d68c11c57370a34715bc7e6bfb78dfd7fd9b509489d07439afc1d46cbcc3842fe4cf4abe9ca
@@ -1,3 +1,6 @@
1
+ # 0.8.15
2
+ * Exception logging in agent thread
3
+
1
4
  # 0.8.14
2
5
  * Few tweaks in logging
3
6
  * Clarify Appsignal::Transaction.complete! code
@@ -24,11 +24,16 @@ module Appsignal
24
24
  def start_thread
25
25
  Appsignal.logger.debug('Starting agent thread')
26
26
  @thread = Thread.new do
27
- sleep(rand(sleep_time))
28
- loop do
29
- send_queue if aggregator.has_transactions?
30
- Appsignal.logger.debug("Sleeping #{sleep_time}")
31
- sleep(sleep_time)
27
+ begin
28
+ sleep(rand(sleep_time))
29
+ loop do
30
+ send_queue if aggregator.has_transactions?
31
+ Appsignal.logger.debug("Sleeping #{sleep_time}")
32
+ sleep(sleep_time)
33
+ end
34
+ rescue Exception=>ex
35
+ Appsignal.logger.error "#{ex.class} in agent thread: '#{ex.message}'"
36
+ Appsignal.logger.error ex.backtrace.join('\n')
32
37
  end
33
38
  end
34
39
  end
@@ -1,3 +1,3 @@
1
1
  module Appsignal
2
- VERSION = '0.8.14'
2
+ VERSION = '0.8.15'
3
3
  end
@@ -58,6 +58,28 @@ describe Appsignal::Agent do
58
58
  sleep 1
59
59
  end
60
60
  end
61
+
62
+ context "when an exception occurs in the thread" do
63
+ before do
64
+ aggregator = double
65
+ aggregator.stub(:has_transactions?).and_raise(
66
+ RuntimeError.new('error')
67
+ )
68
+ subject.stub(
69
+ :aggregator => aggregator,
70
+ :sleep_time => 0.1
71
+ )
72
+ end
73
+
74
+ it "should log the error" do
75
+ Appsignal.logger.should_receive(:error).
76
+ with("RuntimeError in agent thread: 'error'").
77
+ once
78
+
79
+ subject.start_thread
80
+ sleep 1
81
+ end
82
+ end
61
83
  end
62
84
 
63
85
  describe "#restart_thread" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.14
4
+ version: 0.8.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Beekman
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-06-02 00:00:00.000000000 Z
15
+ date: 2014-06-24 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activesupport