Class: NewRelic::Agent::Agent

Overview

The agent is a singleton that is instantiated when the plugin is activated. It collects performance data from ruby applications in realtime as the application runs, and periodically sends that data to the NewRelic server.

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Constant Summary

Constants included from NewRelic::Agent::AgentHelpers::Transmit

NewRelic::Agent::AgentHelpers::Transmit::CUSTOM_EVENT, NewRelic::Agent::AgentHelpers::Transmit::ERROR_EVENT, NewRelic::Agent::AgentHelpers::Transmit::LOG_EVENT, NewRelic::Agent::AgentHelpers::Transmit::SPAN_EVENT, NewRelic::Agent::AgentHelpers::Transmit::TRANSACTION_EVENT

Constants included from NewRelic::Agent::AgentHelpers::StartWorkerThread

NewRelic::Agent::AgentHelpers::StartWorkerThread::CUSTOM_EVENT_DATA, NewRelic::Agent::AgentHelpers::StartWorkerThread::ERROR_EVENT_DATA, NewRelic::Agent::AgentHelpers::StartWorkerThread::LOG_EVENT_DATA, NewRelic::Agent::AgentHelpers::StartWorkerThread::LOG_ONCE_KEYS_RESET_PERIOD, NewRelic::Agent::AgentHelpers::StartWorkerThread::SPAN_EVENT_DATA, NewRelic::Agent::AgentHelpers::StartWorkerThread::TRANSACTION_EVENT_DATA

Instance Attribute Summary

Attributes included from InstanceMethods

#adaptive_sampler, #attribute_filter, #cross_process_id, #custom_event_aggregator, #error_collector, #events, #javascript_instrumentor, #log_event_aggregator, #monitors, #monotonic_gc_profiler, #record_sql, #serverless_handler, #service, #span_event_aggregator, #sql_sampler, #stats_engine, #transaction_event_recorder, #transaction_rules, #transaction_sampler

Attributes included from NewRelic::Agent::AgentHelpers::Connect

#connect_attempts

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ClassMethods

instance

Methods included from InstanceMethods

#after_fork, #agent_id=, #drop_buffered_data, #flush_pipe_data, #install_pipe_service, #merge_data_for_endpoint, #needs_after_fork_work?, #pop_trace_execution_flag, #push_trace_execution_flag, #reset_objects_with_locks, #revert_to_default_configuration, #set_record_sql, #synthetics_event_aggregator, #transaction_event_aggregator, #trap_signals_for_litespeed

Methods included from NewRelic::Agent::AgentHelpers::Transmit

#transmit_analytic_event_data, #transmit_custom_event_data, #transmit_data, #transmit_data_types, #transmit_error_event_data, #transmit_log_event_data, #transmit_single_data_type, #transmit_span_event_data

Methods included from NewRelic::Agent::AgentHelpers::Shutdown

#graceful_disconnect, #shutdown, #shutdown_service, #untraced_graceful_disconnect

Methods included from NewRelic::Agent::AgentHelpers::Startup

#agent_should_start?, #already_started?, #app_name_configured?, #check_config_and_start_agent, #connect_in_foreground, #correct_license_length, #disabled?, #has_correct_license_key?, #has_license_key?, #log_app_name, #log_dispatcher, #log_environment, #log_ignore_url_regexes, #log_startup, #log_version_and_pid, #monitoring?, #setup_and_start_agent, #start, #started?

Methods included from NewRelic::Agent::AgentHelpers::SpecialStartup

#defer_for_delayed_job?, #defer_for_resque?, #in_resque_child_process?, #install_exit_handler, #should_install_exit_handler?, #sinatra_classic_app?, #using_forking_dispatcher?

Methods included from NewRelic::Agent::AgentHelpers::StartWorkerThread

#catch_errors, #create_and_run_event_loop, #create_event_loop, #deferred_work!, #handle_force_disconnect, #handle_force_restart, #handle_other_error, #interval_for, #start_worker_thread, #stop_event_loop

Methods included from NewRelic::Agent::AgentHelpers::Harvest

#check_for_and_handle_agent_commands, #harvest_and_send_analytic_event_data, #harvest_and_send_custom_event_data, #harvest_and_send_data_types, #harvest_and_send_error_event_data, #harvest_and_send_errors, #harvest_and_send_for_agent_commands, #harvest_and_send_from_container, #harvest_and_send_log_event_data, #harvest_and_send_slowest_sql, #harvest_and_send_span_event_data, #harvest_and_send_timeslice_data, #harvest_and_send_transaction_traces, #harvest_from_container, #harvest_size, #log_remote_unavailable, #send_data_to_endpoint

Methods included from NewRelic::Agent::AgentHelpers::Connect

#connect, #connect_options, #connect_retry_period, #connect_to_server, #connected?, #disconnect, #disconnected?, #environment_for_connect, #event_harvest_config, #handle_license_error, #handle_unrecoverable_agent_error, #log_collector_messages, #log_connection, #log_error, #note_connect_failure, #retry_from_error?, #serverless?, #should_connect?, #signal_connected, #wait_on_connect, #waited_on_connect?

Constructor Details

#initializeAgent

Returns a new instance of Agent.



68
69
70
71
72
73
# File 'lib/new_relic/agent/agent.rb', line 68

def initialize
  init_basics
  init_components
  init_event_handlers
  setup_attribute_filter
end

Class Method Details

.configObject



56
57
58
# File 'lib/new_relic/agent/agent.rb', line 56

def self.config
  ::NewRelic::Agent.config
end

Instance Method Details

#refresh_attribute_filterObject



126
127
128
# File 'lib/new_relic/agent/agent.rb', line 126

def refresh_attribute_filter
  @attribute_filter = AttributeFilter.new(Agent.config)
end