Class: Instana::Activator
- Inherits:
-
Object
- Object
- Instana::Activator
show all
- Defined in:
- lib/instana/activator.rb
Direct Known Subclasses
Instana::Activators::ActionCable, Instana::Activators::ActionControllerAPI, Instana::Activators::ActionControllerBase, Instana::Activators::ActionMailer, Instana::Activators::ActionView, Instana::Activators::ActiveJob, Instana::Activators::ActiveRecord, Instana::Activators::AwsDynamoDB, Instana::Activators::AwsS3, Instana::Activators::AwsSdkLambda, Instana::Activators::AwsSdkSns, Instana::Activators::AwsSdkSqs, Instana::Activators::Bunny, Instana::Activators::Cuba, Instana::Activators::Dalli, Instana::Activators::Excon, Instana::Activators::Graphql, Instana::Activators::GrpcClient, Instana::Activators::GrpcServer, Instana::Activators::Mongo, Instana::Activators::NetHTTP, Instana::Activators::Rack, Instana::Activators::Rails, Instana::Activators::Redis, Instana::Activators::ResqueClient, Instana::Activators::ResqueWorker, Instana::Activators::RestClient, Instana::Activators::Roda, Instana::Activators::Sequel, Instana::Activators::Shoryuken, Instana::Activators::SidekiqClient, Instana::Activators::SidekiqWorker, Instana::Activators::Sinatra
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Class Attribute Details
.activators ⇒ Object
Returns the value of attribute activators.
7
8
9
|
# File 'lib/instana/activator.rb', line 7
def activators
@activators
end
|
.trace_point ⇒ Object
Returns the value of attribute trace_point.
7
8
9
|
# File 'lib/instana/activator.rb', line 7
def trace_point
@trace_point
end
|
Class Method Details
.call ⇒ Object
20
21
22
23
24
|
# File 'lib/instana/activator.rb', line 20
def call
@activators ||= []
activated, @activators = @activators.partition(&:call)
activated
end
|
.inherited(subclass) ⇒ Object
26
27
28
29
30
31
|
# File 'lib/instana/activator.rb', line 26
def inherited(subclass)
super(subclass)
@activators ||= []
@activators << subclass.new
end
|
.start ⇒ Object
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/instana/activator.rb', line 9
def start
@trace_point = TracePoint.new(:end) do
activated = ::Instana::Activator.call
::Instana.logger.debug { "Activated #{activated.join(', ')}" } unless activated.empty?
end
@trace_point.enable if enabled?
end
|
Instance Method Details
#call ⇒ Object
40
41
42
|
# File 'lib/instana/activator.rb', line 40
def call
instrument if can_instrument?
end
|