Class: Appsignal::Config::ConfigDSL

Inherits:
Object
  • Object
show all
Defined in:
lib/appsignal/config.rb

Overview

Configuration DSL for use in configuration blocks.

This class provides a Domain Specific Language for configuring AppSignal within the ‘Appsignal.configure` block. It provides getter and setter methods for all configuration options.

Examples:

Using the configuration DSL

Appsignal.configure do |config|
  config.name = "My App"
  config.active = true
  config.push_api_key = "your-api-key"
  config.ignore_actions = ["StatusController#health"]
end

See Also:

  • Ruby gem configuration https://docs.appsignal.com/ruby/configuration.html

String Configuration Options collapse

Boolean Configuration Options collapse

Array Configuration Options collapse

Float Configuration Options collapse

Instance Method Summary collapse

Instance Attribute Details

#activeBoolean

Returns Activate AppSignal for the loaded environment.

Returns:

  • (Boolean)

    Activate AppSignal for the loaded environment



# File 'lib/appsignal/config.rb', line 788


#activejob_report_errorsString

Returns Error reporting mode for ActiveJob (“all”, “discard” or “none”).

Returns:

  • (String)

    Error reporting mode for ActiveJob (“all”, “discard” or “none”)



# File 'lib/appsignal/config.rb', line 737


#bind_addressString

Returns The host to the agent binds to for its HTTP server.

Returns:

  • (String)

    The host to the agent binds to for its HTTP server



# File 'lib/appsignal/config.rb', line 737


#ca_file_pathString

Returns Path to the CA certificate file.

Returns:

  • (String)

    Path to the CA certificate file



# File 'lib/appsignal/config.rb', line 737


#cpu_countFloat

Returns CPU count override for metrics collection.

Returns:

  • (Float)

    CPU count override for metrics collection



# File 'lib/appsignal/config.rb', line 880


#dns_serversArray<String>

Returns Custom DNS servers to use.

Returns:

  • (Array<String>)

    Custom DNS servers to use



# File 'lib/appsignal/config.rb', line 848


#enable_active_support_event_log_reporterBoolean

Returns Configure whether ActiveSupport::EventReporter integration is enabled.

Returns:

  • (Boolean)

    Configure whether ActiveSupport::EventReporter integration is enabled



# File 'lib/appsignal/config.rb', line 788


#enable_allocation_trackingBoolean

Returns Configure whether allocation tracking is enabled.

Returns:

  • (Boolean)

    Configure whether allocation tracking is enabled



# File 'lib/appsignal/config.rb', line 788


#enable_at_exit_reporterBoolean

Returns Configure whether the at_exit reporter is enabled.

Returns:

  • (Boolean)

    Configure whether the at_exit reporter is enabled



# File 'lib/appsignal/config.rb', line 788


#enable_gvl_global_timerBoolean

Returns Configure whether the GVL global timer instrumentationis enabled.

Returns:

  • (Boolean)

    Configure whether the GVL global timer instrumentationis enabled



# File 'lib/appsignal/config.rb', line 788


#enable_gvl_waiting_threadsBoolean

Returns Configure whether GVL waiting threads instrumentation is enabled.

Returns:

  • (Boolean)

    Configure whether GVL waiting threads instrumentation is enabled



# File 'lib/appsignal/config.rb', line 788


#enable_host_metricsBoolean

Returns Configure whether host metrics collection is enabled.

Returns:

  • (Boolean)

    Configure whether host metrics collection is enabled



# File 'lib/appsignal/config.rb', line 788


#enable_minutely_probesBoolean

Returns Configure whether minutely probes are enabled.

Returns:

  • (Boolean)

    Configure whether minutely probes are enabled



# File 'lib/appsignal/config.rb', line 788


#enable_nginx_metricsBoolean

Returns Configure whether the agent’s NGINX metrics endpoint is enabled.

Returns:

  • (Boolean)

    Configure whether the agent’s NGINX metrics endpoint is enabled



# File 'lib/appsignal/config.rb', line 788


#enable_rails_error_reporterBoolean

Returns Configure whether Rails error reporter integration is enabled.

Returns:

  • (Boolean)

    Configure whether Rails error reporter integration is enabled



# File 'lib/appsignal/config.rb', line 788


#enable_rake_performance_instrumentationBoolean

Returns Configure whether Rake performance instrumentation is enabled.

Returns:

  • (Boolean)

    Configure whether Rake performance instrumentation is enabled



# File 'lib/appsignal/config.rb', line 788


#enable_statsdBoolean

Returns Configure whether the StatsD metrics endpoint on the agent is enabled.

Returns:

  • (Boolean)

    Configure whether the StatsD metrics endpoint on the agent is enabled



# File 'lib/appsignal/config.rb', line 788


#endpointString

Returns Push API endpoint URL.

Returns:

  • (String)

    Push API endpoint URL



# File 'lib/appsignal/config.rb', line 737


#files_world_accessibleBoolean

Returns Configure whether files created by AppSignal should be world accessible.

Returns:

  • (Boolean)

    Configure whether files created by AppSignal should be world accessible



# File 'lib/appsignal/config.rb', line 788


#filter_metadataArray<String>

Returns Metadata keys to filter from trace data.

Returns:

  • (Array<String>)

    Metadata keys to filter from trace data



# File 'lib/appsignal/config.rb', line 848


#filter_parametersArray<String>

Returns Keys of parameter to filter.

Returns:

  • (Array<String>)

    Keys of parameter to filter



# File 'lib/appsignal/config.rb', line 848


#filter_session_dataArray<String>

Returns Request session data keys to filter.

Returns:

  • (Array<String>)

    Request session data keys to filter



# File 'lib/appsignal/config.rb', line 848


#host_roleString

Returns Role of the host for grouping in metrics.

Returns:

  • (String)

    Role of the host for grouping in metrics



# File 'lib/appsignal/config.rb', line 737


#hostnameString

Returns Override for the detected hostname.

Returns:

  • (String)

    Override for the detected hostname



# File 'lib/appsignal/config.rb', line 737


#http_proxyString

Returns HTTP proxy URL.

Returns:

  • (String)

    HTTP proxy URL



# File 'lib/appsignal/config.rb', line 737


#ignore_actionsArray<String>

Returns Ignore traces by action names.

Returns:

  • (Array<String>)

    Ignore traces by action names



# File 'lib/appsignal/config.rb', line 848


#ignore_errorsArray<String>

Returns List of errors to not report.

Returns:

  • (Array<String>)

    List of errors to not report



# File 'lib/appsignal/config.rb', line 848


#ignore_logsArray<String>

Returns Ignore log messages by substrings.

Returns:

  • (Array<String>)

    Ignore log messages by substrings



# File 'lib/appsignal/config.rb', line 848


#ignore_namespacesArray<String>

Returns Ignore traces by namespaces.

Returns:

  • (Array<String>)

    Ignore traces by namespaces



# File 'lib/appsignal/config.rb', line 848


#instrument_http_rbBoolean

Returns Configure whether to instrument requests made with the http.rb gem.

Returns:

  • (Boolean)

    Configure whether to instrument requests made with the http.rb gem



# File 'lib/appsignal/config.rb', line 788


#instrument_net_httpBoolean

Returns Configure whether to instrument requests made with Net::HTTP.

Returns:

  • (Boolean)

    Configure whether to instrument requests made with Net::HTTP



# File 'lib/appsignal/config.rb', line 788


#instrument_ownershipBoolean

Returns Configure whether to instrument the Ownership gem.

Returns:

  • (Boolean)

    Configure whether to instrument the Ownership gem



# File 'lib/appsignal/config.rb', line 788


#instrument_redisBoolean

Returns Configure whether to instrument Redis queries.

Returns:

  • (Boolean)

    Configure whether to instrument Redis queries



# File 'lib/appsignal/config.rb', line 788


#instrument_sequelBoolean

Returns Configure whether to instrument Sequel queries.

Returns:

  • (Boolean)

    Configure whether to instrument Sequel queries



# File 'lib/appsignal/config.rb', line 788


#logString

Returns Log destination (“file” or “stdout”).

Returns:

  • (String)

    Log destination (“file” or “stdout”)



# File 'lib/appsignal/config.rb', line 737


#log_levelString

Returns AppSignal internal logger log level (“error”, “warn”, “info”, “debug”, “trace”).

Returns:

  • (String)

    AppSignal internal logger log level (“error”, “warn”, “info”, “debug”, “trace”)



# File 'lib/appsignal/config.rb', line 737


#log_pathString

Returns Path to the log directory.

Returns:

  • (String)

    Path to the log directory



# File 'lib/appsignal/config.rb', line 737


#logging_endpointString

Returns Endpoint for log transmission.

Returns:

  • (String)

    Endpoint for log transmission



# File 'lib/appsignal/config.rb', line 737


#nameString

Returns The application name.

Returns:

  • (String)

    The application name



# File 'lib/appsignal/config.rb', line 737


#nginx_portString

Returns Port for Nginx metrics collection.

Returns:

  • (String)

    Port for Nginx metrics collection



# File 'lib/appsignal/config.rb', line 737


#ownership_set_namespaceBoolean

Returns Configure whether the Ownership gem instrumentation should set namespace.

Returns:

  • (Boolean)

    Configure whether the Ownership gem instrumentation should set namespace



# File 'lib/appsignal/config.rb', line 788


#push_api_keyString

Returns AppSignal Push API key.

Returns:

  • (String)

    AppSignal Push API key



# File 'lib/appsignal/config.rb', line 737


#request_headersArray<String>

Returns HTTP request headers to include in error reports.

Returns:

  • (Array<String>)

    HTTP request headers to include in error reports



# File 'lib/appsignal/config.rb', line 848


#revisionString

Returns Application revision identifier.

Returns:

  • (String)

    Application revision identifier



# File 'lib/appsignal/config.rb', line 737


#running_in_containerBoolean

Returns Configure whether the application is running in a container.

Returns:

  • (Boolean)

    Configure whether the application is running in a container



# File 'lib/appsignal/config.rb', line 788


#send_environment_metadataBoolean

Returns Configure whether to send environment metadata.

Returns:

  • (Boolean)

    Configure whether to send environment metadata



# File 'lib/appsignal/config.rb', line 788


#send_paramsBoolean

Returns Configure whether to send request parameters.

Returns:

  • (Boolean)

    Configure whether to send request parameters



# File 'lib/appsignal/config.rb', line 788


#send_session_dataBoolean

Returns Configure whether to send request session data.

Returns:

  • (Boolean)

    Configure whether to send request session data



# File 'lib/appsignal/config.rb', line 788


#sidekiq_report_errorsString

Returns Error reporting mode for Sidekiq (“all”, “discard” or “none”).

Returns:

  • (String)

    Error reporting mode for Sidekiq (“all”, “discard” or “none”)



# File 'lib/appsignal/config.rb', line 737


#statsd_portString

Returns Port for StatsD metrics.

Returns:

  • (String)

    Port for StatsD metrics



# File 'lib/appsignal/config.rb', line 737


#working_directory_pathString

Returns Override for the agent working directory.

Returns:

  • (String)

    Override for the agent working directory



# File 'lib/appsignal/config.rb', line 737


Instance Method Details

#activate_if_environment(*envs) ⇒ Boolean

Activates AppSignal if the current environment matches any of the given environments.

Examples:

Activate for production and staging

config.activate_if_environment(:production, :staging)

Parameters:

  • envs (Array<String, Symbol>)

    List of environment names to activate for

Returns:

  • (Boolean)

    true if AppSignal was activated, false otherwise



731
732
733
# File 'lib/appsignal/config.rb', line 731

def activate_if_environment(*envs)
  self.active = envs.map(&:to_s).include?(env)
end

#app_pathString

Returns the application’s root path.

Returns:

  • (String)

    The root path of the application



704
705
706
# File 'lib/appsignal/config.rb', line 704

def app_path
  @config.root_path
end

#envString

Returns the current environment name.

Returns:

  • (String)

    The environment name (e.g., “production”, “development”)



711
712
713
# File 'lib/appsignal/config.rb', line 711

def env
  @config.env
end

#env?(given_env) ⇒ TrueClass, FalseClass

Returns true if the given environment name matches the loaded environment name.

Parameters:

  • given_env (String, Symbol)

Returns:

  • (TrueClass, FalseClass)


720
721
722
# File 'lib/appsignal/config.rb', line 720

def env?(given_env)
  env == given_env.to_s
end