sqreen 1.21.0.beta3 → 1.21.0
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 -23
- 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: ruby
|
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
|
name: sqreen-backport
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.6.1.0.0
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: sq_detailed_metrics
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 0.1.0
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 0.1.0
|
83
69
|
description: Sqreen is a SaaS based Application protection and monitoring platform
|
84
70
|
that integrates directly into your Ruby applications. Learn more at https://sqreen.com.
|
85
71
|
email: contact@sqreen.com
|
@@ -138,11 +124,20 @@ files:
|
|
138
124
|
- lib/sqreen/dependency/sinatra.rb
|
139
125
|
- lib/sqreen/deprecation.rb
|
140
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
|
141
132
|
- lib/sqreen/ecosystem/dispatch_table.rb
|
142
133
|
- lib/sqreen/ecosystem/exception_reporting.rb
|
143
134
|
- lib/sqreen/ecosystem/http/net_http.rb
|
144
135
|
- lib/sqreen/ecosystem/http/rack_request.rb
|
145
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
|
146
141
|
- lib/sqreen/ecosystem/module_api.rb
|
147
142
|
- lib/sqreen/ecosystem/module_api/event_listener.rb
|
148
143
|
- lib/sqreen/ecosystem/module_api/instrumentation.rb
|
@@ -150,16 +145,23 @@ files:
|
|
150
145
|
- lib/sqreen/ecosystem/module_api/signal_producer.rb
|
151
146
|
- lib/sqreen/ecosystem/module_api/tracing.rb
|
152
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
|
153
151
|
- lib/sqreen/ecosystem/module_api/tracing/server_data.rb
|
154
152
|
- lib/sqreen/ecosystem/module_api/tracing_id_generation.rb
|
155
153
|
- lib/sqreen/ecosystem/module_api/transaction_storage.rb
|
156
154
|
- lib/sqreen/ecosystem/module_registry.rb
|
157
|
-
- lib/sqreen/ecosystem/redis/redis_connection.rb
|
158
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
|
159
159
|
- lib/sqreen/ecosystem/tracing/modules/server.rb
|
160
160
|
- lib/sqreen/ecosystem/tracing/sampler.rb
|
161
161
|
- lib/sqreen/ecosystem/tracing/sampling_configuration.rb
|
162
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
|
163
165
|
- lib/sqreen/ecosystem/tracing/signals/tracing_server.rb
|
164
166
|
- lib/sqreen/ecosystem/tracing_broker.rb
|
165
167
|
- lib/sqreen/ecosystem/tracing_id_setup.rb
|
@@ -222,7 +224,6 @@ files:
|
|
222
224
|
- lib/sqreen/metrics/base.rb
|
223
225
|
- lib/sqreen/metrics/binning.rb
|
224
226
|
- lib/sqreen/metrics/collect.rb
|
225
|
-
- lib/sqreen/metrics/req_detailed.rb
|
226
227
|
- lib/sqreen/metrics/sum.rb
|
227
228
|
- lib/sqreen/metrics_store.rb
|
228
229
|
- lib/sqreen/metrics_store/already_registered_metric.rb
|
@@ -326,9 +327,7 @@ metadata:
|
|
326
327
|
changelog_uri: https://docs.sqreen.com/ruby/release-notes/
|
327
328
|
source_code_uri: https://github.com/sqreen/ruby-agent
|
328
329
|
bug_tracker_uri: https://github.com/sqreen/ruby-agent/issues
|
329
|
-
post_install_message:
|
330
|
-
This is a Sqreen beta release and may not work in all situations.
|
331
|
-
Make sure to review CHANGELOG.md for important details.
|
330
|
+
post_install_message:
|
332
331
|
rdoc_options: []
|
333
332
|
require_paths:
|
334
333
|
- lib
|
@@ -339,9 +338,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
339
338
|
version: 1.9.3
|
340
339
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
341
340
|
requirements:
|
342
|
-
- - "
|
341
|
+
- - ">="
|
343
342
|
- !ruby/object:Gem::Version
|
344
|
-
version:
|
343
|
+
version: '0'
|
345
344
|
requirements: []
|
346
345
|
rubygems_version: 3.1.4
|
347
346
|
signing_key:
|
@@ -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
|