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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +28 -15
- data/lib/sqreen/condition_evaluator.rb +5 -6
- data/lib/sqreen/conditionable.rb +6 -24
- data/lib/sqreen/ecosystem.rb +29 -2
- data/lib/sqreen/ecosystem/databases/database_connection_data.rb +23 -0
- data/lib/sqreen/ecosystem/databases/mongo.rb +39 -0
- data/lib/sqreen/ecosystem/databases/mysql.rb +54 -0
- data/lib/sqreen/ecosystem/databases/postgres.rb +51 -0
- data/lib/sqreen/ecosystem/databases/redis.rb +36 -0
- data/lib/sqreen/ecosystem/exception_reporting.rb +4 -2
- data/lib/sqreen/ecosystem/messaging/bunny.rb +61 -0
- data/lib/sqreen/ecosystem/messaging/kafka.rb +70 -0
- data/lib/sqreen/ecosystem/messaging/kinesis.rb +66 -0
- data/lib/sqreen/ecosystem/messaging/sqs.rb +68 -0
- data/lib/sqreen/ecosystem/module_api/message_producer.rb +9 -3
- data/lib/sqreen/ecosystem/module_api/tracing/consumer_data.rb +13 -0
- data/lib/sqreen/ecosystem/module_api/tracing/messaging_data.rb +35 -0
- data/lib/sqreen/ecosystem/module_api/tracing/producer_data.rb +13 -0
- data/lib/sqreen/ecosystem/module_registry.rb +5 -1
- data/lib/sqreen/ecosystem/tracing/modules/client.rb +7 -3
- data/lib/sqreen/ecosystem/tracing/modules/consumer.rb +35 -0
- data/lib/sqreen/ecosystem/tracing/modules/determine_ip.rb +28 -0
- data/lib/sqreen/ecosystem/tracing/modules/producer.rb +35 -0
- data/lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb +56 -0
- data/lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb +56 -0
- data/lib/sqreen/ecosystem_integration.rb +1 -7
- data/lib/sqreen/ecosystem_integration/around_callbacks.rb +10 -20
- data/lib/sqreen/ecosystem_integration/instrumentation_service.rb +4 -8
- data/lib/sqreen/graft/call.rb +1 -21
- data/lib/sqreen/graft/hook.rb +75 -83
- data/lib/sqreen/kit/signals/specialized/sqreen_exception.rb +2 -0
- data/lib/sqreen/metrics.rb +0 -1
- data/lib/sqreen/rules/custom_error_cb.rb +1 -1
- data/lib/sqreen/rules/rule_cb.rb +2 -2
- data/lib/sqreen/runner.rb +12 -27
- data/lib/sqreen/version.rb +1 -1
- data/lib/sqreen/weave/budget.rb +14 -3
- data/lib/sqreen/weave/legacy/instrumentation.rb +94 -145
- metadata +22 -9
- data/lib/sqreen/ecosystem/redis/redis_connection.rb +0 -43
- 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
|
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-
|
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:
|
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:
|
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
|