skylight 4.2.1 → 5.0.0.beta

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.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/CONTRIBUTING.md +1 -7
  4. data/ext/extconf.rb +4 -3
  5. data/ext/libskylight.yml +5 -6
  6. data/ext/skylight_native.c +24 -100
  7. data/lib/skylight.rb +204 -14
  8. data/lib/skylight/api.rb +7 -3
  9. data/lib/skylight/cli.rb +4 -3
  10. data/lib/skylight/cli/doctor.rb +3 -2
  11. data/lib/skylight/cli/merger.rb +6 -4
  12. data/lib/skylight/config.rb +603 -126
  13. data/lib/skylight/deprecation.rb +15 -0
  14. data/lib/skylight/errors.rb +17 -2
  15. data/lib/skylight/extensions.rb +99 -0
  16. data/lib/skylight/extensions/source_location.rb +249 -0
  17. data/lib/skylight/fanout.rb +0 -0
  18. data/lib/skylight/formatters/http.rb +19 -0
  19. data/lib/skylight/gc.rb +109 -0
  20. data/lib/skylight/helpers.rb +18 -2
  21. data/lib/skylight/instrumenter.rb +325 -15
  22. data/lib/skylight/middleware.rb +138 -1
  23. data/lib/skylight/native.rb +51 -1
  24. data/lib/skylight/native_ext_fetcher.rb +2 -1
  25. data/lib/skylight/normalizers.rb +151 -0
  26. data/lib/skylight/normalizers/action_controller/process_action.rb +69 -0
  27. data/lib/skylight/normalizers/action_controller/send_file.rb +50 -0
  28. data/lib/skylight/normalizers/action_dispatch/process_middleware.rb +22 -0
  29. data/lib/skylight/normalizers/action_dispatch/route_set.rb +27 -0
  30. data/lib/skylight/normalizers/action_view/render_collection.rb +24 -0
  31. data/lib/skylight/normalizers/action_view/render_layout.rb +25 -0
  32. data/lib/skylight/normalizers/action_view/render_partial.rb +23 -0
  33. data/lib/skylight/normalizers/action_view/render_template.rb +23 -0
  34. data/lib/skylight/normalizers/active_job/perform.rb +81 -0
  35. data/lib/skylight/normalizers/active_model_serializers/render.rb +28 -0
  36. data/lib/skylight/normalizers/active_record/instantiation.rb +16 -0
  37. data/lib/skylight/normalizers/active_record/sql.rb +12 -0
  38. data/lib/skylight/normalizers/active_storage.rb +30 -0
  39. data/lib/skylight/normalizers/active_support/cache.rb +22 -0
  40. data/lib/skylight/normalizers/active_support/cache_clear.rb +16 -0
  41. data/lib/skylight/normalizers/active_support/cache_decrement.rb +16 -0
  42. data/lib/skylight/normalizers/active_support/cache_delete.rb +16 -0
  43. data/lib/skylight/normalizers/active_support/cache_exist.rb +16 -0
  44. data/lib/skylight/normalizers/active_support/cache_fetch_hit.rb +16 -0
  45. data/lib/skylight/normalizers/active_support/cache_generate.rb +16 -0
  46. data/lib/skylight/normalizers/active_support/cache_increment.rb +16 -0
  47. data/lib/skylight/normalizers/active_support/cache_read.rb +16 -0
  48. data/lib/skylight/normalizers/active_support/cache_read_multi.rb +16 -0
  49. data/lib/skylight/normalizers/active_support/cache_write.rb +16 -0
  50. data/lib/skylight/normalizers/coach/handler_finish.rb +46 -0
  51. data/lib/skylight/normalizers/coach/middleware_finish.rb +33 -0
  52. data/lib/skylight/normalizers/couch_potato/query.rb +20 -0
  53. data/lib/skylight/normalizers/data_mapper/sql.rb +12 -0
  54. data/lib/skylight/normalizers/default.rb +32 -0
  55. data/lib/skylight/normalizers/elasticsearch/request.rb +20 -0
  56. data/lib/skylight/normalizers/faraday/request.rb +40 -0
  57. data/lib/skylight/normalizers/grape/endpoint.rb +34 -0
  58. data/lib/skylight/normalizers/grape/endpoint_render.rb +25 -0
  59. data/lib/skylight/normalizers/grape/endpoint_run.rb +41 -0
  60. data/lib/skylight/normalizers/grape/endpoint_run_filters.rb +22 -0
  61. data/lib/skylight/normalizers/grape/format_response.rb +20 -0
  62. data/lib/skylight/normalizers/graphiti/render.rb +22 -0
  63. data/lib/skylight/normalizers/graphiti/resolve.rb +31 -0
  64. data/lib/skylight/normalizers/graphql/base.rb +131 -0
  65. data/lib/skylight/normalizers/render.rb +81 -0
  66. data/lib/skylight/normalizers/sequel/sql.rb +12 -0
  67. data/lib/skylight/normalizers/sql.rb +44 -0
  68. data/lib/skylight/probes.rb +153 -0
  69. data/lib/skylight/probes/action_controller.rb +48 -0
  70. data/lib/skylight/probes/action_dispatch.rb +2 -0
  71. data/lib/skylight/probes/action_dispatch/request_id.rb +29 -0
  72. data/lib/skylight/probes/action_dispatch/routing/route_set.rb +28 -0
  73. data/lib/skylight/probes/action_view.rb +43 -0
  74. data/lib/skylight/probes/active_job.rb +29 -0
  75. data/lib/skylight/probes/active_job_enqueue.rb +37 -0
  76. data/lib/skylight/probes/active_model_serializers.rb +54 -0
  77. data/lib/skylight/probes/delayed_job.rb +62 -0
  78. data/lib/skylight/probes/elasticsearch.rb +38 -0
  79. data/lib/skylight/probes/excon.rb +25 -0
  80. data/lib/skylight/probes/excon/middleware.rb +66 -0
  81. data/lib/skylight/probes/faraday.rb +23 -0
  82. data/lib/skylight/probes/graphql.rb +43 -0
  83. data/lib/skylight/probes/httpclient.rb +44 -0
  84. data/lib/skylight/probes/middleware.rb +125 -0
  85. data/lib/skylight/probes/mongo.rb +163 -0
  86. data/lib/skylight/probes/mongoid.rb +13 -0
  87. data/lib/skylight/probes/net_http.rb +55 -0
  88. data/lib/skylight/probes/redis.rb +60 -0
  89. data/lib/skylight/probes/sequel.rb +33 -0
  90. data/lib/skylight/probes/sinatra.rb +63 -0
  91. data/lib/skylight/probes/sinatra_add_middleware.rb +10 -10
  92. data/lib/skylight/probes/tilt.rb +27 -0
  93. data/lib/skylight/railtie.rb +162 -18
  94. data/lib/skylight/sidekiq.rb +43 -0
  95. data/lib/skylight/subscriber.rb +110 -0
  96. data/lib/skylight/test.rb +146 -0
  97. data/lib/skylight/trace.rb +301 -10
  98. data/lib/skylight/user_config.rb +61 -0
  99. data/lib/skylight/util.rb +12 -0
  100. data/lib/skylight/util/allocation_free.rb +26 -0
  101. data/lib/skylight/util/clock.rb +56 -0
  102. data/lib/skylight/util/component.rb +5 -2
  103. data/lib/skylight/util/deploy.rb +4 -4
  104. data/lib/skylight/util/gzip.rb +20 -0
  105. data/lib/skylight/util/http.rb +4 -10
  106. data/lib/skylight/util/instrumenter_method.rb +26 -0
  107. data/lib/skylight/util/logging.rb +138 -0
  108. data/lib/skylight/util/lru_cache.rb +42 -0
  109. data/lib/skylight/vendor/cli/thor/rake_compat.rb +1 -1
  110. data/lib/skylight/version.rb +5 -1
  111. data/lib/skylight/vm/gc.rb +68 -0
  112. metadata +116 -17
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skylight
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.1
4
+ version: 5.0.0.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tilde, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-14 00:00:00.000000000 Z
11
+ date: 2020-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: skylight-core
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.2.1
19
+ version: 5.2.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
- version: 4.2.1
26
+ version: 5.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: beefcake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: 12.3.3
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: 12.3.3
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake-compiler
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '1.1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.79.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.79.0
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: timecop
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -164,7 +178,7 @@ dependencies:
164
178
  - - ">="
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
167
- description:
181
+ description:
168
182
  email:
169
183
  - engineering@tilde.io
170
184
  executables:
@@ -193,20 +207,104 @@ files:
193
207
  - lib/skylight/cli/merger.rb
194
208
  - lib/skylight/config.rb
195
209
  - lib/skylight/data/cacert.pem
210
+ - lib/skylight/deprecation.rb
196
211
  - lib/skylight/errors.rb
212
+ - lib/skylight/extensions.rb
213
+ - lib/skylight/extensions/source_location.rb
214
+ - lib/skylight/fanout.rb
215
+ - lib/skylight/formatters/http.rb
216
+ - lib/skylight/gc.rb
197
217
  - lib/skylight/helpers.rb
198
218
  - lib/skylight/instrumenter.rb
199
219
  - lib/skylight/middleware.rb
200
220
  - lib/skylight/native.rb
201
221
  - lib/skylight/native_ext_fetcher.rb
222
+ - lib/skylight/normalizers.rb
223
+ - lib/skylight/normalizers/action_controller/process_action.rb
224
+ - lib/skylight/normalizers/action_controller/send_file.rb
225
+ - lib/skylight/normalizers/action_dispatch/process_middleware.rb
226
+ - lib/skylight/normalizers/action_dispatch/route_set.rb
227
+ - lib/skylight/normalizers/action_view/render_collection.rb
228
+ - lib/skylight/normalizers/action_view/render_layout.rb
229
+ - lib/skylight/normalizers/action_view/render_partial.rb
230
+ - lib/skylight/normalizers/action_view/render_template.rb
231
+ - lib/skylight/normalizers/active_job/perform.rb
232
+ - lib/skylight/normalizers/active_model_serializers/render.rb
233
+ - lib/skylight/normalizers/active_record/instantiation.rb
234
+ - lib/skylight/normalizers/active_record/sql.rb
235
+ - lib/skylight/normalizers/active_storage.rb
236
+ - lib/skylight/normalizers/active_support/cache.rb
237
+ - lib/skylight/normalizers/active_support/cache_clear.rb
238
+ - lib/skylight/normalizers/active_support/cache_decrement.rb
239
+ - lib/skylight/normalizers/active_support/cache_delete.rb
240
+ - lib/skylight/normalizers/active_support/cache_exist.rb
241
+ - lib/skylight/normalizers/active_support/cache_fetch_hit.rb
242
+ - lib/skylight/normalizers/active_support/cache_generate.rb
243
+ - lib/skylight/normalizers/active_support/cache_increment.rb
244
+ - lib/skylight/normalizers/active_support/cache_read.rb
245
+ - lib/skylight/normalizers/active_support/cache_read_multi.rb
246
+ - lib/skylight/normalizers/active_support/cache_write.rb
247
+ - lib/skylight/normalizers/coach/handler_finish.rb
248
+ - lib/skylight/normalizers/coach/middleware_finish.rb
249
+ - lib/skylight/normalizers/couch_potato/query.rb
250
+ - lib/skylight/normalizers/data_mapper/sql.rb
251
+ - lib/skylight/normalizers/default.rb
252
+ - lib/skylight/normalizers/elasticsearch/request.rb
253
+ - lib/skylight/normalizers/faraday/request.rb
254
+ - lib/skylight/normalizers/grape/endpoint.rb
255
+ - lib/skylight/normalizers/grape/endpoint_render.rb
256
+ - lib/skylight/normalizers/grape/endpoint_run.rb
257
+ - lib/skylight/normalizers/grape/endpoint_run_filters.rb
258
+ - lib/skylight/normalizers/grape/format_response.rb
259
+ - lib/skylight/normalizers/graphiti/render.rb
260
+ - lib/skylight/normalizers/graphiti/resolve.rb
261
+ - lib/skylight/normalizers/graphql/base.rb
262
+ - lib/skylight/normalizers/render.rb
263
+ - lib/skylight/normalizers/sequel/sql.rb
264
+ - lib/skylight/normalizers/sql.rb
265
+ - lib/skylight/probes.rb
266
+ - lib/skylight/probes/action_controller.rb
267
+ - lib/skylight/probes/action_dispatch.rb
268
+ - lib/skylight/probes/action_dispatch/request_id.rb
269
+ - lib/skylight/probes/action_dispatch/routing/route_set.rb
270
+ - lib/skylight/probes/action_view.rb
271
+ - lib/skylight/probes/active_job.rb
272
+ - lib/skylight/probes/active_job_enqueue.rb
273
+ - lib/skylight/probes/active_model_serializers.rb
274
+ - lib/skylight/probes/delayed_job.rb
275
+ - lib/skylight/probes/elasticsearch.rb
276
+ - lib/skylight/probes/excon.rb
277
+ - lib/skylight/probes/excon/middleware.rb
278
+ - lib/skylight/probes/faraday.rb
279
+ - lib/skylight/probes/graphql.rb
280
+ - lib/skylight/probes/httpclient.rb
281
+ - lib/skylight/probes/middleware.rb
282
+ - lib/skylight/probes/mongo.rb
283
+ - lib/skylight/probes/mongoid.rb
284
+ - lib/skylight/probes/net_http.rb
285
+ - lib/skylight/probes/redis.rb
286
+ - lib/skylight/probes/sequel.rb
287
+ - lib/skylight/probes/sinatra.rb
202
288
  - lib/skylight/probes/sinatra_add_middleware.rb
289
+ - lib/skylight/probes/tilt.rb
203
290
  - lib/skylight/railtie.rb
291
+ - lib/skylight/sidekiq.rb
204
292
  - lib/skylight/sinatra.rb
293
+ - lib/skylight/subscriber.rb
294
+ - lib/skylight/test.rb
205
295
  - lib/skylight/trace.rb
296
+ - lib/skylight/user_config.rb
297
+ - lib/skylight/util.rb
298
+ - lib/skylight/util/allocation_free.rb
299
+ - lib/skylight/util/clock.rb
206
300
  - lib/skylight/util/component.rb
207
301
  - lib/skylight/util/deploy.rb
302
+ - lib/skylight/util/gzip.rb
208
303
  - lib/skylight/util/hostname.rb
209
304
  - lib/skylight/util/http.rb
305
+ - lib/skylight/util/instrumenter_method.rb
306
+ - lib/skylight/util/logging.rb
307
+ - lib/skylight/util/lru_cache.rb
210
308
  - lib/skylight/util/platform.rb
211
309
  - lib/skylight/util/proxy.rb
212
310
  - lib/skylight/util/ssl.rb
@@ -250,11 +348,12 @@ files:
250
348
  - lib/skylight/vendor/cli/thor/util.rb
251
349
  - lib/skylight/vendor/cli/thor/version.rb
252
350
  - lib/skylight/version.rb
351
+ - lib/skylight/vm/gc.rb
253
352
  homepage: https://www.skylight.io
254
353
  licenses:
255
354
  - Nonstandard
256
355
  metadata: {}
257
- post_install_message:
356
+ post_install_message:
258
357
  rdoc_options: []
259
358
  require_paths:
260
359
  - lib
@@ -262,15 +361,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
262
361
  requirements:
263
362
  - - ">="
264
363
  - !ruby/object:Gem::Version
265
- version: '2.3'
364
+ version: '2.4'
266
365
  required_rubygems_version: !ruby/object:Gem::Requirement
267
366
  requirements:
268
- - - ">="
367
+ - - ">"
269
368
  - !ruby/object:Gem::Version
270
- version: '0'
369
+ version: 1.3.1
271
370
  requirements: []
272
- rubygems_version: 3.0.6
273
- signing_key:
371
+ rubygems_version: 3.1.2
372
+ signing_key:
274
373
  specification_version: 4
275
374
  summary: Skylight is a smart profiler for Rails, Sinatra, and other Ruby apps.
276
375
  test_files: []