skylight 0.2.6 → 0.2.7

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: aeab120eedbac08fcc96da45ff2d3011b38e3167
4
- data.tar.gz: 458036ec6fee23c0d43a96e278e941d7d7fda74b
3
+ metadata.gz: edae1bae15bae8f3c6570992aeef722d03a6daba
4
+ data.tar.gz: 0bf27cb52e79314929c6d1e11e38956dcc93fa77
5
5
  SHA512:
6
- metadata.gz: 549584ea4aaa394da8734b153d314a40162f30e3d925a707c2035dd4824c7e48bb2d1b5c74add4bc64a0124bdbea1e278da89634c624b39eacfefe1762cb1cc9
7
- data.tar.gz: 63e18b1a1dfb2b43414dff94dadbbf82dac6cd00c6a0b11419521846ab42d2de7e6ab6974f3a4ed724a04244af7dfac2c01ffbdcc1af9ef36223dc9bf55137c7
6
+ metadata.gz: 30f1914554e84ef1ec3f7e728787a36cc12b8aa469798ec18bc8ba3f142bc6c305fd98f2917d09eb058acbf691282ff113cc1aa302ca22db2c5c5af8b026560c
7
+ data.tar.gz: 292f7e33dc69706101430e2f0e6c21712d00526c7d789f7ca7bcaa02e1f622501c26ef493de776acbe7f448032ec0909f8f58dac60ad66d7e94df56cf3690fa7
@@ -136,7 +136,7 @@ module Skylight
136
136
  category: category,
137
137
  title: title,
138
138
  description: description),
139
- annotations: to_annotations(annotations),
139
+ annotations: nil,
140
140
  started_at: @started_at,
141
141
  duration: duration && duration > 0 ? duration : nil,
142
142
  children: @children > 0 ? @children : nil)
@@ -1,4 +1,4 @@
1
1
  module Skylight
2
- VERSION = '0.2.6'
2
+ VERSION = '0.2.7'
3
3
  end
4
4
 
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skylight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tilde, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-25 00:00:00.000000000 Z
11
+ date: 2014-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.0.0
27
27
  description:
@@ -32,9 +32,6 @@ executables:
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
- - CHANGELOG.md
36
- - README.md
37
- - bin/skylight
38
35
  - lib/skylight.rb
39
36
  - lib/skylight/api.rb
40
37
  - lib/skylight/cli.rb
@@ -142,7 +139,9 @@ files:
142
139
  - lib/sql_lexer.rb
143
140
  - lib/sql_lexer/lexer.rb
144
141
  - lib/sql_lexer/version.rb
145
- - too-many-sockets.md
142
+ - CHANGELOG.md
143
+ - README.md
144
+ - bin/skylight
146
145
  homepage: http://www.skylight.io
147
146
  licenses: []
148
147
  metadata: {}
@@ -152,17 +151,17 @@ require_paths:
152
151
  - lib
153
152
  required_ruby_version: !ruby/object:Gem::Requirement
154
153
  requirements:
155
- - - ">="
154
+ - - '>='
156
155
  - !ruby/object:Gem::Version
157
156
  version: 1.9.2
158
157
  required_rubygems_version: !ruby/object:Gem::Requirement
159
158
  requirements:
160
- - - ">="
159
+ - - '>='
161
160
  - !ruby/object:Gem::Version
162
161
  version: '0'
163
162
  requirements: []
164
163
  rubyforge_project:
165
- rubygems_version: 2.2.0
164
+ rubygems_version: 2.0.3
166
165
  signing_key:
167
166
  specification_version: 4
168
167
  summary: Skylight is a ruby application monitoring tool. Currently in closed beta.
@@ -1,62 +0,0 @@
1
- We received a notification (Zendesk #280) from a customer that they were unable to SSH
2
- into their box, and that their service provider discovered that Skylight
3
- was triggering socket buffer limits.
4
-
5
- The customer immediately disabled Skylight, which fixed the bug for him.
6
-
7
- Customer Information:
8
-
9
- * Using Skylight 0.2.3
10
- * Ruby 2.0.0p353
11
- * Also had New Relic installed (Bug #46)
12
- * Recently upgraded to Rails 4
13
- * Passenger Enterprise with a max-pool size of 12 and zero-downtime deploys
14
- * He had a maxsockbuf of 32MB
15
-
16
- The customer also reported 134 open sockets in the server process.
17
-
18
- Separately, we discovered that New Relic was making our payloads
19
- extremely large.
20
-
21
- Our working hypothesis was that the large New Relic payloads were
22
- triggering the max buffer condition, which was then cascading into more
23
- failures.
24
-
25
- Upon further investigation, we discovered a few things:
26
-
27
- * If the client hits a kernel buffer limit (via EWOULDBLOCK that lasts
28
- more than 5s), it closes down its socket
29
- * The server expects to recover from this situation by getting the
30
- client socket in its read list from IO.select. It would then try to
31
- read from it, get an EOF, and close the socket.
32
- * If the server does not get the client socket in its read list for some
33
- (unknown) reason, this would result in an ever-growing list of sockets
34
- on the server side.
35
-
36
- We are not sure why the sockets would not appear in the read list, but
37
- we hypothesize that when the OpenVZ limit is reached, the kernel no
38
- longer includes the socket in the read list, causing the server to never
39
- close the socket.
40
-
41
- Mitigation strategies:
42
-
43
- * The New Relic fix (#46) should reduce the likelihood of encountering
44
- this in the first place
45
- * We want to add a Hello heartbeat from the client. If the server
46
- doesn't receive a message every 1m (or 2m, TBD), it will close the
47
- socket even if it's not in the read list.
48
-
49
- We are worried that if the server process ever gets stuck, this
50
- condition can occur. We are also considering a server heartbeat back to
51
- the clients, so they can take corrective action if the agent gets stuck.
52
-
53
- Some mitigations for this situation:
54
-
55
- * Kill the server process when a respawn is necessary. This will ensure
56
- that a stuck agent process doesn't duplicate into N servers.
57
- * Before connecting to the server socket, pre-check the server process
58
- with kill -0.
59
-
60
- For next time:
61
- * Request skylight.log for easier debugging
62
- * Form a best practices for customer bug reporting on doc site