Module: Sqreen::Ecosystem
- Defined in:
- lib/sqreen/ecosystem.rb,
lib/sqreen/ecosystem/loggable.rb,
lib/sqreen/ecosystem/module_api.rb,
lib/sqreen/ecosystem/http/net_http.rb,
lib/sqreen/ecosystem/messaging/sqs.rb,
lib/sqreen/ecosystem/dispatch_table.rb,
lib/sqreen/ecosystem/tracing_broker.rb,
lib/sqreen/ecosystem/databases/mongo.rb,
lib/sqreen/ecosystem/databases/mysql.rb,
lib/sqreen/ecosystem/databases/redis.rb,
lib/sqreen/ecosystem/messaging/bunny.rb,
lib/sqreen/ecosystem/messaging/kafka.rb,
lib/sqreen/ecosystem/module_registry.rb,
lib/sqreen/ecosystem/tracing/sampler.rb,
lib/sqreen/ecosystem/tracing_id_setup.rb,
lib/sqreen/ecosystem/http/rack_request.rb,
lib/sqreen/ecosystem/messaging/kinesis.rb,
lib/sqreen/ecosystem/databases/postgres.rb,
lib/sqreen/ecosystem/module_api/tracing.rb,
lib/sqreen/ecosystem/exception_reporting.rb,
lib/sqreen/ecosystem/transaction_storage.rb,
lib/sqreen/ecosystem/tracing/modules/client.rb,
lib/sqreen/ecosystem/tracing/modules/server.rb,
lib/sqreen/ecosystem/tracing/modules/consumer.rb,
lib/sqreen/ecosystem/tracing/modules/producer.rb,
lib/sqreen/ecosystem/module_api/event_listener.rb,
lib/sqreen/ecosystem/module_api/instrumentation.rb,
lib/sqreen/ecosystem/module_api/signal_producer.rb,
lib/sqreen/ecosystem/module_api/message_producer.rb,
lib/sqreen/ecosystem/util/call_writers_from_init.rb,
lib/sqreen/ecosystem/tracing/modules/determine_ip.rb,
lib/sqreen/ecosystem/module_api/tracing/client_data.rb,
lib/sqreen/ecosystem/module_api/tracing/server_data.rb,
lib/sqreen/ecosystem/module_api/transaction_storage.rb,
lib/sqreen/ecosystem/tracing/sampling_configuration.rb,
lib/sqreen/ecosystem/tracing/signals/tracing_client.rb,
lib/sqreen/ecosystem/tracing/signals/tracing_server.rb,
lib/sqreen/ecosystem/module_api/tracing/consumer_data.rb,
lib/sqreen/ecosystem/module_api/tracing/producer_data.rb,
lib/sqreen/ecosystem/module_api/tracing_id_generation.rb,
lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb,
lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb,
lib/sqreen/ecosystem/module_api/tracing/messaging_data.rb,
lib/sqreen/ecosystem/databases/database_connection_data.rb
Overview
The API for the ecosystem client (together with the dispatch table)
Defined Under Namespace
Modules: Databases, DispatchTable, ExceptionReporting, Http, Loggable, Messaging, ModuleApi, Tracing, Util
Classes: ModuleRegistry, TracingBroker, TracingIdSetup, TransactionStorage
Class Method Summary
collapse
Class Method Details
64
65
66
67
68
|
# File 'lib/sqreen/ecosystem.rb', line 64
def configure_sampling(tracing_id_prefix, sampling_config)
@tracing_id_setup.tracing_id_prefix = tracing_id_prefix
built_samp_cfg = Tracing::SamplingConfiguration.new(sampling_config)
@tracing_broker.sampling_configuration = built_samp_cfg
end
|
.end_transaction ⇒ Object
58
59
60
|
# File 'lib/sqreen/ecosystem.rb', line 58
def end_transaction
TransactionStorage.destroy_thread_local
end
|
.init(opts = {}) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/sqreen/ecosystem.rb', line 20
def init(opts = {})
@registry = ModuleRegistry.new
register_modules(opts[:modules])
@registry.init_all
tracing_id_mods = @registry.module_subset(ModuleApi::TracingIdGeneration)
@tracing_id_setup = TracingIdSetup.new(tracing_id_mods)
@tracing_id_setup.setup_modules
tracing_modules = @registry.module_subset(ModuleApi::Tracing)
@tracing_broker = TracingBroker.new(tracing_modules)
@registry.each_module(ModuleApi::MessageProducer) do |mod|
mod.tracing_broker = @tracing_broker
end
rescue ::Exception
raise
end
|
.reset ⇒ Object
43
44
45
46
47
|
# File 'lib/sqreen/ecosystem.rb', line 43
def reset
instance_variables.each do |ia|
instance_variable_set(ia, nil)
end
end
|
.start_transaction ⇒ Object
To be called by the Ecosystem client when a new transaction (generally: request) is started In the future, it’s intended that request end/start detection be handled by the Ecosystem itself, so control will flow in the other direction, from the ecosystem to its client
54
55
56
|
# File 'lib/sqreen/ecosystem.rb', line 54
def start_transaction
TransactionStorage.create_thread_local
end
|