sqreen 1.21.0.beta3-java → 1.21.0-java

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -15
  3. data/lib/sqreen/condition_evaluator.rb +5 -6
  4. data/lib/sqreen/conditionable.rb +6 -24
  5. data/lib/sqreen/ecosystem.rb +29 -2
  6. data/lib/sqreen/ecosystem/databases/database_connection_data.rb +23 -0
  7. data/lib/sqreen/ecosystem/databases/mongo.rb +39 -0
  8. data/lib/sqreen/ecosystem/databases/mysql.rb +54 -0
  9. data/lib/sqreen/ecosystem/databases/postgres.rb +51 -0
  10. data/lib/sqreen/ecosystem/databases/redis.rb +36 -0
  11. data/lib/sqreen/ecosystem/exception_reporting.rb +4 -2
  12. data/lib/sqreen/ecosystem/messaging/bunny.rb +61 -0
  13. data/lib/sqreen/ecosystem/messaging/kafka.rb +70 -0
  14. data/lib/sqreen/ecosystem/messaging/kinesis.rb +66 -0
  15. data/lib/sqreen/ecosystem/messaging/sqs.rb +68 -0
  16. data/lib/sqreen/ecosystem/module_api/message_producer.rb +9 -3
  17. data/lib/sqreen/ecosystem/module_api/tracing/consumer_data.rb +13 -0
  18. data/lib/sqreen/ecosystem/module_api/tracing/messaging_data.rb +35 -0
  19. data/lib/sqreen/ecosystem/module_api/tracing/producer_data.rb +13 -0
  20. data/lib/sqreen/ecosystem/module_registry.rb +5 -1
  21. data/lib/sqreen/ecosystem/tracing/modules/client.rb +7 -3
  22. data/lib/sqreen/ecosystem/tracing/modules/consumer.rb +35 -0
  23. data/lib/sqreen/ecosystem/tracing/modules/determine_ip.rb +28 -0
  24. data/lib/sqreen/ecosystem/tracing/modules/producer.rb +35 -0
  25. data/lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb +56 -0
  26. data/lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb +56 -0
  27. data/lib/sqreen/ecosystem_integration.rb +1 -7
  28. data/lib/sqreen/ecosystem_integration/around_callbacks.rb +10 -20
  29. data/lib/sqreen/ecosystem_integration/instrumentation_service.rb +4 -8
  30. data/lib/sqreen/graft/call.rb +1 -21
  31. data/lib/sqreen/graft/hook.rb +75 -83
  32. data/lib/sqreen/kit/signals/specialized/sqreen_exception.rb +2 -0
  33. data/lib/sqreen/metrics.rb +0 -1
  34. data/lib/sqreen/rules/custom_error_cb.rb +1 -1
  35. data/lib/sqreen/rules/rule_cb.rb +2 -2
  36. data/lib/sqreen/runner.rb +12 -27
  37. data/lib/sqreen/version.rb +1 -1
  38. data/lib/sqreen/weave/budget.rb +14 -3
  39. data/lib/sqreen/weave/legacy/instrumentation.rb +94 -145
  40. metadata +22 -9
  41. data/lib/sqreen/ecosystem/redis/redis_connection.rb +0 -43
  42. data/lib/sqreen/metrics/req_detailed.rb +0 -41
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqreen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.21.0.beta3
4
+ version: 1.21.0
5
5
  platform: java
6
6
  authors:
7
7
  - Sqreen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-14 00:00:00.000000000 Z
11
+ date: 2020-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -124,11 +124,20 @@ files:
124
124
  - lib/sqreen/dependency/sinatra.rb
125
125
  - lib/sqreen/deprecation.rb
126
126
  - lib/sqreen/ecosystem.rb
127
+ - lib/sqreen/ecosystem/databases/database_connection_data.rb
128
+ - lib/sqreen/ecosystem/databases/mongo.rb
129
+ - lib/sqreen/ecosystem/databases/mysql.rb
130
+ - lib/sqreen/ecosystem/databases/postgres.rb
131
+ - lib/sqreen/ecosystem/databases/redis.rb
127
132
  - lib/sqreen/ecosystem/dispatch_table.rb
128
133
  - lib/sqreen/ecosystem/exception_reporting.rb
129
134
  - lib/sqreen/ecosystem/http/net_http.rb
130
135
  - lib/sqreen/ecosystem/http/rack_request.rb
131
136
  - lib/sqreen/ecosystem/loggable.rb
137
+ - lib/sqreen/ecosystem/messaging/bunny.rb
138
+ - lib/sqreen/ecosystem/messaging/kafka.rb
139
+ - lib/sqreen/ecosystem/messaging/kinesis.rb
140
+ - lib/sqreen/ecosystem/messaging/sqs.rb
132
141
  - lib/sqreen/ecosystem/module_api.rb
133
142
  - lib/sqreen/ecosystem/module_api/event_listener.rb
134
143
  - lib/sqreen/ecosystem/module_api/instrumentation.rb
@@ -136,16 +145,23 @@ files:
136
145
  - lib/sqreen/ecosystem/module_api/signal_producer.rb
137
146
  - lib/sqreen/ecosystem/module_api/tracing.rb
138
147
  - lib/sqreen/ecosystem/module_api/tracing/client_data.rb
148
+ - lib/sqreen/ecosystem/module_api/tracing/consumer_data.rb
149
+ - lib/sqreen/ecosystem/module_api/tracing/messaging_data.rb
150
+ - lib/sqreen/ecosystem/module_api/tracing/producer_data.rb
139
151
  - lib/sqreen/ecosystem/module_api/tracing/server_data.rb
140
152
  - lib/sqreen/ecosystem/module_api/tracing_id_generation.rb
141
153
  - lib/sqreen/ecosystem/module_api/transaction_storage.rb
142
154
  - lib/sqreen/ecosystem/module_registry.rb
143
- - lib/sqreen/ecosystem/redis/redis_connection.rb
144
155
  - lib/sqreen/ecosystem/tracing/modules/client.rb
156
+ - lib/sqreen/ecosystem/tracing/modules/consumer.rb
157
+ - lib/sqreen/ecosystem/tracing/modules/determine_ip.rb
158
+ - lib/sqreen/ecosystem/tracing/modules/producer.rb
145
159
  - lib/sqreen/ecosystem/tracing/modules/server.rb
146
160
  - lib/sqreen/ecosystem/tracing/sampler.rb
147
161
  - lib/sqreen/ecosystem/tracing/sampling_configuration.rb
148
162
  - lib/sqreen/ecosystem/tracing/signals/tracing_client.rb
163
+ - lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
164
+ - lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb
149
165
  - lib/sqreen/ecosystem/tracing/signals/tracing_server.rb
150
166
  - lib/sqreen/ecosystem/tracing_broker.rb
151
167
  - lib/sqreen/ecosystem/tracing_id_setup.rb
@@ -208,7 +224,6 @@ files:
208
224
  - lib/sqreen/metrics/base.rb
209
225
  - lib/sqreen/metrics/binning.rb
210
226
  - lib/sqreen/metrics/collect.rb
211
- - lib/sqreen/metrics/req_detailed.rb
212
227
  - lib/sqreen/metrics/sum.rb
213
228
  - lib/sqreen/metrics_store.rb
214
229
  - lib/sqreen/metrics_store/already_registered_metric.rb
@@ -312,9 +327,7 @@ metadata:
312
327
  changelog_uri: https://docs.sqreen.com/ruby/release-notes/
313
328
  source_code_uri: https://github.com/sqreen/ruby-agent
314
329
  bug_tracker_uri: https://github.com/sqreen/ruby-agent/issues
315
- post_install_message: |2
316
- This is a Sqreen beta release and may not work in all situations.
317
- Make sure to review CHANGELOG.md for important details.
330
+ post_install_message:
318
331
  rdoc_options: []
319
332
  require_paths:
320
333
  - lib
@@ -325,9 +338,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
325
338
  version: 1.9.3
326
339
  required_rubygems_version: !ruby/object:Gem::Requirement
327
340
  requirements:
328
- - - ">"
341
+ - - ">="
329
342
  - !ruby/object:Gem::Version
330
- version: 1.3.1
343
+ version: '0'
331
344
  requirements: []
332
345
  rubyforge_project:
333
346
  rubygems_version: 2.6.14.1
@@ -1,43 +0,0 @@
1
- require 'sqreen/ecosystem/module_api'
2
- require 'sqreen/ecosystem/module_api/instrumentation'
3
- require 'sqreen/ecosystem/module_api/message_producer'
4
- require 'sqreen/ecosystem/module_api/tracing_id_generation'
5
- require 'sqreen/ecosystem/module_api/tracing/client_data'
6
-
7
- module Sqreen
8
- module Ecosystem
9
- module Redis
10
- class RedisConnection
11
- class RedisConnectionData
12
- include ModuleApi::Tracing::ClientData
13
-
14
- attr_accessor :port
15
- end
16
-
17
- include ModuleApi::Instrumentation
18
- include ModuleApi::MessageProducer
19
- include ModuleApi::TracingIdGeneration
20
-
21
- def setup
22
- advice = wrap_for_interest(ModuleApi::Tracing::ClientData, &method(:before_advice))
23
- instrument 'Redis::Connection::TCPSocket#connect',
24
- before: advice
25
- end
26
-
27
- private
28
-
29
- def before_advice
30
- host = call.args[0]
31
- port = call.args[1]
32
-
33
- RedisConnectionData.new(
34
- transport: 'redis',
35
- host: host,
36
- port: port,
37
- tracing_identifier: create_tracing_id
38
- )
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,41 +0,0 @@
1
- require 'base64'
2
- require 'sqreen/mono_time'
3
- require 'sqreen/metrics/base'
4
- begin
5
- require 'sq_detailed_metrics'
6
- rescue LoadError => _e # rubocop:disable Lint/HandleExceptions
7
- end
8
-
9
- module Sqreen
10
- module Metric
11
- class ReqDetailed < Base
12
- attr_reader :num_requests
13
-
14
- def initialize(opts = {})
15
- raise 'SqDetailedMetrics unavailable' unless defined?(SqDetailedMetrics)
16
- super(opts)
17
- @coll = SqDetailedMetrics::RequestCollection.new
18
- @start_time = Sqreen.time
19
- @num_requests = 0
20
- end
21
-
22
- # @param [SqDetailedMetrics::Request] value
23
- def update(_key, value)
24
- @coll << value
25
- @num_requests += 1
26
- end
27
-
28
- def next_sample(time)
29
- data = @coll.serialize
30
- @num_requests = 0
31
- return nil unless data
32
-
33
- {
34
- OBSERVATION_KEY => { 'v1' => Base64.strict_encode64(data) },
35
- START_KEY => @start_time,
36
- FINISH_KEY => (@start_time = time),
37
- }
38
- end
39
- end
40
- end
41
- end