Class: OneApm::Agent::SyntheticsMonitor
Constant Summary
collapse
'HTTP_X_BLUEWARE_SYNTHETICS'.freeze
- OA_SUPPORTED_VERSION =
1
- OA_EXPECTED_PAYLOAD_LENGTH =
5
Instance Attribute Summary
#obfuscator
Instance Method Summary
collapse
#deserialize_header, #initialize, #setup_obfuscator
Instance Method Details
#is_supported_version?(incoming_payload) ⇒ Boolean
34
35
36
|
# File 'lib/one_apm/agent/synthetics_monitor.rb', line 34
def is_supported_version?(incoming_payload)
incoming_payload.first == OA_SUPPORTED_VERSION
end
|
#is_trusted?(incoming_payload) ⇒ Boolean
38
39
40
41
|
# File 'lib/one_apm/agent/synthetics_monitor.rb', line 38
def is_trusted?(incoming_payload)
account_id = incoming_payload[1]
OneApm::Manager.config[:trusted_account_ids].include?(account_id)
end
|
#is_valid_payload?(incoming_payload) ⇒ Boolean
43
44
45
|
# File 'lib/one_apm/agent/synthetics_monitor.rb', line 43
def is_valid_payload?(incoming_payload)
incoming_payload.length == OA_EXPECTED_PAYLOAD_LENGTH
end
|
#on_before_call(request) ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/one_apm/agent/synthetics_monitor.rb', line 17
def on_before_call(request)
= request[]
return unless
incoming_payload = (, )
return unless incoming_payload &&
is_valid_payload?(incoming_payload) &&
is_supported_version?(incoming_payload) &&
is_trusted?(incoming_payload)
state = OneApm::TransactionState.tl_get
txn = state.current_transaction
txn. =
txn.synthetics_payload = incoming_payload
end
|
#on_finished_configuring(events) ⇒ Object
13
14
15
|
# File 'lib/one_apm/agent/synthetics_monitor.rb', line 13
def on_finished_configuring(events)
events.subscribe(:before_call, &method(:on_before_call))
end
|