class OneApm::Collector::CollectorService
Constants
- OA_PROTOCOL_VERSION
Attributes
agent_id[RW]
collector[R]
marshaller[R]
metric_id_cache[R]
request_timeout[RW]
Public Class Methods
new(license_key = nil, collector = nil)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 24 def initialize(license_key = nil, collector = nil) @license_key = license_key || OneApm::Manager.config[:license_key] @collector = collector || server @request_timeout = OneApm::Manager.config[:timeout] @metric_id_cache = {} @audit_logger = ::OneApm::Logger::AuditLogger.new OneApm::Manager.config.register_callback(:'audit_log.enabled') do |enabled| @audit_logger.enabled = enabled end OneApm::Manager.config.register_callback(:ssl) do |ssl| if !ssl OneApm::Manager.logger.warn("Agent is configured not to use SSL when communicating with OneApm's servers") else OneApm::Manager.logger.debug("Agent is configured to use SSL") end end OneApm::Manager.config.register_callback(:marshaller) do |marshaller| @marshaller = OneApm::Support::JsonMarshaller.new end end
Public Instance Methods
agent_command_results(results)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 99 def agent_command_results(results) invoke_remote(:agent_command_results, [@agent_id, results]) end
analytic_event_data(data)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 107 def analytic_event_data(data) invoke_remote(:analytic_event_data, data, :item_count => data.size) end
connect(settings={})
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 52 def connect(settings={}) if host = get_redirect_host @collector = server_from_host(host) end response = invoke_remote(:connect, [settings]) @agent_id = response['agent_run_id'] if response response end
custom_event_data(data)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 111 def custom_event_data(data) invoke_remote(:custom_event_data, [@agent_id, data], :item_count => data.size) end
error_data(unsent_errors)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 79 def error_data(unsent_errors) invoke_remote(:error_data, [@agent_id, unsent_errors], :item_count => unsent_errors.size) end
fetch_config()
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 119 def fetch_config invoke_remote(:get_external_rule,[],{},:hash_value=>0) end
get_agent_commands()
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 95 def get_agent_commands invoke_remote(:get_agent_commands, [@agent_id]) end
get_redirect_host()
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 48 def get_redirect_host invoke_remote(:get_redirect_host) end
get_xray_metadata(xray_ids)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 103 def get_xray_metadata(xray_ids) invoke_remote(:get_xray_metadata, [@agent_id, *xray_ids]) end
metric_data(stats_hash)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 65 def metric_data(stats_hash) timeslice_start = stats_hash.started_at timeslice_end = stats_hash.harvested_at || Time.now metric_data_array = build_metric_data_array(stats_hash) result = invoke_remote( :metric_data, [@agent_id, timeslice_start.to_f, timeslice_end.to_f, metric_data_array], :item_count => metric_data_array.size ) fill_metric_id_cache(result) result end
profile_data(profile)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 91 def profile_data(profile) invoke_remote(:profile_data, [@agent_id, profile], :skip_normalization => true) || '' end
shutdown(time)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 61 def shutdown(time) invoke_remote(:shutdown, [@agent_id, time.to_i]) if @agent_id end
sql_trace_data(sql_traces)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 87 def sql_trace_data(sql_traces) invoke_remote(:sql_trace_data, [sql_traces], :item_count => sql_traces.size) end
transaction_sample_data(traces)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 83 def transaction_sample_data(traces) invoke_remote(:transaction_sample_data, [@agent_id, traces], :item_count => traces.size) end
utilization_data(data)
click to toggle source
# File lib/one_apm/collector/collector_service.rb, line 115 def utilization_data(data) invoke_remote(:utilization_data, data) end