skylight 5.1.0.beta3 → 5.2.0.beta2

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
  SHA256:
3
- metadata.gz: f35c54c6e3ba848ff6055dc5f15bd421b6080d4c831e6142af1353141d4b6e9c
4
- data.tar.gz: 22c45d137d63a8539ccc4d2f628b9cb7e97428039b99e5aaef4e00f90e09a9f9
3
+ metadata.gz: 99481f50c8e9caf68288746feb32c93d2a969c0770c573ea6a4f5339deca7a8e
4
+ data.tar.gz: f39c3462788ebd87ec29c56c3863efac94bf9be18f023c93540d4af96228ba18
5
5
  SHA512:
6
- metadata.gz: '032817fcbda8ad1af57b52cbc29e9217a52d2e36e81f463298ed2b039824505558878aada5af36b7af02d8f2a9263a3b446474a3a6056588b122d5d7f6af4da2'
7
- data.tar.gz: 1ffad904a354fdbb2c78e48e71bc8fda3140743fe95a840a168d0af00494e27b75ba871b59ac6605d86a9a794d590b64d412f4e7c271ea6c32a7238d6a85d3d3
6
+ metadata.gz: 8ea1d4c80b043c085f612cbee130f10079b0a9f24392552a4a14b3fcd327831f8ca61d19fee4570d1a04d7289e18d431ff5f9ed5a8d567eb69afa7fd6f6d9fea
7
+ data.tar.gz: cc73adc6a339389ecfeca93f7a91496958f6769c24bea6d29dad2885800c8b5f3273635522450f56c6de3f53f42045219e32e054edc80620a5abe1cde779f682
data/CHANGELOG.md CHANGED
@@ -1,19 +1,29 @@
1
- ## 5.1.0-beta3 (May 21, 2021)
1
+ ## 5.2.0-beta2 (10 November 2021)
2
2
 
3
- - [IMPROVEMENT] Prevent large traces from shutting down the instrumenter
3
+ - [FEATURE] Experimental gRPC transport
4
+ - [IMPROVEMENT] Internal native client refactors
5
+ - [BUGFIX] Fix some internal errors related to Rails 7 alpha
4
6
 
5
- ## 5.1.0-beta2 (May 17, 2021)
7
+ ## 5.2.0-beta (7 September 2021)
6
8
 
7
- - [IMPROVEMENT] Avoid 'invalid option' warnings when instrumenting certain Tilt templates in Sinatra
8
- - [IMPROVEMENT] Decrease verbosity of source locations logs in the debug level.
9
+ - [IMPROVEMENT] Add Rack::Builder probe to better instrument middlewares in Sinatra and other Builder-based apps
10
+ - [BUGFIX] Fix an issue in which trace logging could output the incorrect request ID.
11
+ - [BUGFIX] fix native extension configuration for arm64 hosts
12
+
13
+ ## 5.1.1 (May 27, 2021)
9
14
 
10
- ## 5.1.0-beta (April 26, 2021)
15
+ - [BUGFIX] Correct ruby version requirement in skylight.gemspec
16
+
17
+ ## 5.1.0 (May 24, 2021)
11
18
 
12
19
  - [FEATURE] Add experimental tcp-based `skylightd` (may be enabled with `SKYLIGHT_ENABLE_TCP=true`)
13
20
 
14
21
  - [IMPROVEMENT] Support aarch64-darwin targets (Apple M1)
15
22
  - [IMPROVEMENT] Support aarch64-linux-gnu targets
16
23
  - [IMPROVEMENT] Support aarch64-linux-musl targets
24
+ - [IMPROVEMENT] Prevent large traces from shutting down the instrumenter
25
+ - [IMPROVEMENT] Avoid 'invalid option' warnings when instrumenting certain Tilt templates in Sinatra
26
+ - [IMPROVEMENT] Decrease verbosity of source locations logs in the debug level.
17
27
 
18
28
  - [BREAKING] Remove `SKYLIGHT_SSL_CERT_DIR` config
19
29
  - [BREAKING] Drop support for Ruby 2.5
data/ERRORS.md CHANGED
@@ -2,4 +2,7 @@ E0001 - Spans were closed out of order
2
2
  E0002 - Exceeded the number of unique span descriptions
3
3
  E0003 - Exceeded maximum number of spans
4
4
  E0004 - Failed to lex SQL query
5
+ E0005 - Instrumenter is not running
6
+ E0006 - Invalid UTF-8
7
+ E0007 - Failed to connect to gRPC server
5
8
  E9999 - Unknown
data/ext/libskylight.yml CHANGED
@@ -1,11 +1,9 @@
1
- # commit b6bb0714913a5be54f4eac717d5096dc7ba5f3eb
2
- ---
3
- version: "5.1.0-0d59831"
1
+ version: "5.1.0-f504521"
4
2
  checksums:
5
- x86-linux: "e15fff9269f5451302aaee56b4d4631c86f979298bc22536f28f884c170c127f"
6
- x86_64-linux: "be95b9c91dffb0133b57183d160cad700213703a87f52488cf114a4fff92ff4d"
7
- x86_64-linux-musl: "945ebefa0384e23121bc1674f0eda0600aef204599e5819bdbecd6d62252b769"
8
- x86_64-darwin: "d98ee1d331394ac43bd37f2d3d5d591a41d912dfa2c3e5d0b21d97f7a5198cf1"
9
- aarch64-linux: "b6add5dda52a2cae4b5e3899a5e0c938049385443d82acbd1a8a2fb0d8502933"
10
- aarch64-linux-musl: "667030ade09a69a664380262ec1e6ceeb77f49585201e670528f4cd52d3def86"
11
- aarch64-darwin: "d3225034d18d99e358ace24cf951468feaf3b83f0b33e32965bc2139e0300505"
3
+ x86-linux: "46bdaaf5a0b2605e1bf581756317dcac7cd6db66bda1b2994dd8de5f933f752e"
4
+ x86_64-linux: "300e3d2e770c2cefdb43bde6d6538bde69c18ec9c6b50210f24959a8efcd8749"
5
+ x86_64-linux-musl: "9f790db33f2c4f6c68ecb2d4719c881e3cf3634ac3718db4c108994d6c55f6a8"
6
+ x86_64-darwin: "90c4ff6650350f084495cc031bb70ae1ef7a4934712a0c97dcdbfc6ce418342c"
7
+ aarch64-linux: "f5437881ecb6ac59af1e8c89e19e68baf52730088efd030855b2e40bc714a2ba"
8
+ aarch64-linux-musl: "d52bac0d1a0d965940ded2168acb72d2c23b060eb1bac9983763cc8b7cada8ba"
9
+ aarch64-darwin: "b92c85242b94e7eb71680de41a504a22e9dba145408bdd810757e693e065456d"
@@ -119,7 +119,7 @@ module Skylight
119
119
  end
120
120
  config.logger = logger
121
121
 
122
- config.set(:'daemon.lazy_start', false)
122
+ config.set(:"daemon.lazy_start", false)
123
123
 
124
124
  started = Skylight.start!(config)
125
125
 
@@ -32,9 +32,9 @@ module Skylight
32
32
  -"COMPONENT" => :component,
33
33
  -"REPORT_RAILS_ENV" => :report_rails_env,
34
34
  # == Deploy settings ==
35
- -"DEPLOY_ID" => :'deploy.id',
36
- -"DEPLOY_GIT_SHA" => :'deploy.git_sha',
37
- -"DEPLOY_DESCRIPTION" => :'deploy.description',
35
+ -"DEPLOY_ID" => :"deploy.id",
36
+ -"DEPLOY_GIT_SHA" => :"deploy.git_sha",
37
+ -"DEPLOY_DESCRIPTION" => :"deploy.description",
38
38
  # == Logging ==
39
39
  -"LOG_FILE" => :log_file,
40
40
  -"LOG_LEVEL" => :log_level,
@@ -67,37 +67,39 @@ module Skylight
67
67
  -"REPORT_HTTP_CONNECT_TIMEOUT" => :report_http_connect_timeout,
68
68
  -"REPORT_HTTP_READ_TIMEOUT" => :report_http_read_timeout,
69
69
  -"REPORT_HTTP_DISABLED" => :report_http_disabled,
70
+ -"REPORT_USE_GRPC" => :report_use_grpc,
71
+ -"REPORT_GRPC_URL" => :report_grpc_url,
70
72
  # == Native agent settings ==
71
73
  #
72
- -"LAZY_START" => :'daemon.lazy_start',
73
- -"DAEMON_EXEC_PATH" => :'daemon.exec_path',
74
- -"DAEMON_LIB_PATH" => :'daemon.lib_path',
75
- -"PIDFILE_PATH" => :'daemon.pidfile_path',
76
- -"SOCKDIR_PATH" => :'daemon.sockdir_path',
77
- -"BATCH_QUEUE_DEPTH" => :'daemon.batch_queue_depth',
78
- -"BATCH_SAMPLE_SIZE" => :'daemon.batch_sample_size',
79
- -"BATCH_FLUSH_INTERVAL" => :'daemon.batch_flush_interval',
80
- -"DAEMON_TICK_INTERVAL" => :'daemon.tick_interval',
81
- -"DAEMON_LOCK_CHECK_INTERVAL" => :'daemon.lock_check_interval',
82
- -"DAEMON_INACTIVITY_TIMEOUT" => :'daemon.inactivity_timeout',
83
- -"CLIENT_MAX_TRIES" => :'daemon.max_connect_tries',
84
- -"CLIENT_CONN_TRY_WIN" => :'daemon.connect_try_window',
85
- -"MAX_PRESPAWN_JITTER" => :'daemon.max_prespawn_jitter',
86
- -"DAEMON_WAIT_TIMEOUT" => :'daemon.wait_timeout',
87
- -"CLIENT_CHECK_INTERVAL" => :'daemon.client_check_interval',
88
- -"CLIENT_QUEUE_DEPTH" => :'daemon.client_queue_depth',
89
- -"CLIENT_WRITE_TIMEOUT" => :'daemon.client_write_timeout',
90
- -"SSL_CERT_PATH" => :'daemon.ssl_cert_path',
91
- -"ENABLE_TCP" => :'daemon.enable_tcp',
92
- -"TCP_PORT" => :'daemon.tcp_port',
74
+ -"LAZY_START" => :"daemon.lazy_start",
75
+ -"DAEMON_EXEC_PATH" => :"daemon.exec_path",
76
+ -"DAEMON_LIB_PATH" => :"daemon.lib_path",
77
+ -"PIDFILE_PATH" => :"daemon.pidfile_path",
78
+ -"SOCKDIR_PATH" => :"daemon.sockdir_path",
79
+ -"BATCH_QUEUE_DEPTH" => :"daemon.batch_queue_depth",
80
+ -"BATCH_SAMPLE_SIZE" => :"daemon.batch_sample_size",
81
+ -"BATCH_FLUSH_INTERVAL" => :"daemon.batch_flush_interval",
82
+ -"DAEMON_TICK_INTERVAL" => :"daemon.tick_interval",
83
+ -"DAEMON_LOCK_CHECK_INTERVAL" => :"daemon.lock_check_interval",
84
+ -"DAEMON_INACTIVITY_TIMEOUT" => :"daemon.inactivity_timeout",
85
+ -"CLIENT_MAX_TRIES" => :"daemon.max_connect_tries",
86
+ -"CLIENT_CONN_TRY_WIN" => :"daemon.connect_try_window",
87
+ -"MAX_PRESPAWN_JITTER" => :"daemon.max_prespawn_jitter",
88
+ -"DAEMON_WAIT_TIMEOUT" => :"daemon.wait_timeout",
89
+ -"CLIENT_CHECK_INTERVAL" => :"daemon.client_check_interval",
90
+ -"CLIENT_QUEUE_DEPTH" => :"daemon.client_queue_depth",
91
+ -"CLIENT_WRITE_TIMEOUT" => :"daemon.client_write_timeout",
92
+ -"SSL_CERT_PATH" => :"daemon.ssl_cert_path",
93
+ -"ENABLE_TCP" => :"daemon.enable_tcp",
94
+ -"TCP_PORT" => :"daemon.tcp_port",
93
95
  # == Legacy env vars ==
94
96
  #
95
- -"AGENT_LOCKFILE" => :'agent.lockfile',
96
- -"AGENT_SOCKFILE_PATH" => :'agent.sockfile_path',
97
+ -"AGENT_LOCKFILE" => :"agent.lockfile",
98
+ -"AGENT_SOCKFILE_PATH" => :"agent.sockfile_path",
97
99
  # == User config settings ==
98
100
  -"USER_CONFIG_PATH" => :user_config_path,
99
101
  # == Heroku settings ==
100
- -"HEROKU_DYNO_INFO_PATH" => :'heroku.dyno_info_path',
102
+ -"HEROKU_DYNO_INFO_PATH" => :"heroku.dyno_info_path",
101
103
  # == Source Location ==
102
104
  -"SOURCE_LOCATION_IGNORED_GEMS" => :source_location_ignored_gems,
103
105
  -"SOURCE_LOCATION_CACHE_SIZE" => :source_location_cache_size
@@ -135,22 +137,22 @@ module Skylight
135
137
  sinatra_route_prefixes: false,
136
138
  enable_source_locations: true,
137
139
  # Deploys
138
- 'heroku.dyno_info_path': -"/etc/heroku/dyno",
140
+ "heroku.dyno_info_path": -"/etc/heroku/dyno",
139
141
  report_rails_env: true,
140
142
  # Daemon
141
- 'daemon.lazy_start': true,
143
+ "daemon.lazy_start": true,
142
144
  hostname: Util::Hostname.default_hostname,
143
145
  report_max_spans_exceeded: false,
144
146
  prune_large_traces: true
145
147
  }
146
148
 
147
- ret[:'daemon.ssl_cert_path'] = Util::SSL.ca_cert_file_or_default unless Util::Platform::OS == -"darwin"
149
+ ret[:"daemon.ssl_cert_path"] = Util::SSL.ca_cert_file_or_default unless Util::Platform::OS == -"darwin"
148
150
 
149
151
  if Skylight.native?
150
152
  native_path = Skylight.libskylight_path
151
153
 
152
- ret[:'daemon.lib_path'] = native_path
153
- ret[:'daemon.exec_path'] = File.join(native_path, "skylightd")
154
+ ret[:"daemon.lib_path"] = native_path
155
+ ret[:"daemon.exec_path"] = File.join(native_path, "skylightd")
154
156
  end
155
157
 
156
158
  ret
@@ -184,6 +186,8 @@ module Skylight
184
186
  report_http_connect_timeout
185
187
  report_http_read_timeout
186
188
  report_http_disabled
189
+ report_use_grpc
190
+ report_grpc_url
187
191
  daemon.lazy_start
188
192
  daemon.exec_path
189
193
  daemon.lib_path
@@ -211,12 +215,12 @@ module Skylight
211
215
 
212
216
  # Maps legacy config keys to new config keys
213
217
  def self.legacy_keys
214
- @legacy_keys ||= { 'agent.sockfile_path': :'daemon.sockdir_path', 'agent.lockfile': :'daemon.pidfile_path' }
218
+ @legacy_keys ||= { "agent.sockfile_path": :"daemon.sockdir_path", "agent.lockfile": :"daemon.pidfile_path" }
215
219
  end
216
220
 
217
221
  def self.validators
218
222
  @validators ||=
219
- { 'agent.interval': [->(v, _c) { v.is_a?(Integer) && v > 0 }, "must be an integer greater than 0"] }
223
+ { "agent.interval": [->(v, _c) { v.is_a?(Integer) && v > 0 }, "must be an integer greater than 0"] }
220
224
  end
221
225
 
222
226
  # @api private
@@ -334,8 +338,8 @@ module Skylight
334
338
  # TODO: Move this out of the validate! method: https://github.com/tildeio/direwolf-agent/issues/273
335
339
  # FIXME: Why not set the sockdir_path and pidfile_path explicitly?
336
340
  # That way we don't have to keep this in sync with the Rust repo.
337
- sockdir_path = File.expand_path(self[:'daemon.sockdir_path'] || ".", root)
338
- pidfile_path = File.expand_path(self[:'daemon.pidfile_path'] || "skylight.pid", sockdir_path)
341
+ sockdir_path = File.expand_path(self[:"daemon.sockdir_path"] || ".", root)
342
+ pidfile_path = File.expand_path(self[:"daemon.pidfile_path"] || "skylight.pid", sockdir_path)
339
343
 
340
344
  check_file_permissions(pidfile_path, "daemon.pidfile_path or daemon.sockdir_path")
341
345
  check_sockdir_permissions(sockdir_path)
@@ -588,7 +592,7 @@ module Skylight
588
592
  end
589
593
 
590
594
  def on_heroku?
591
- File.exist?(get(:'heroku.dyno_info_path'))
595
+ File.exist?(get(:"heroku.dyno_info_path"))
592
596
  end
593
597
 
594
598
  private