Module: OneApm::Agent

Defined in:
lib/one_apm/agent.rb,
lib/one_apm/support/ip.rb,
lib/one_apm/agent/database.rb,
lib/one_apm/inst/rack/rack.rb,
lib/one_apm/agent/datastore.rb,
lib/one_apm/agent/harvester.rb,
lib/one_apm/support/hostname.rb,
lib/one_apm/agent/agent/start.rb,
lib/one_apm/inst/nosql/mongo2.rb,
lib/one_apm/inst/rails3/errors.rb,
lib/one_apm/inst/rails4/errors.rb,
lib/one_apm/support/obfuscator.rb,
lib/one_apm/agent/agent/connect.rb,
lib/one_apm/agent/agent/helpers.rb,
lib/one_apm/agent/agent/restart.rb,
lib/one_apm/inst/nosql/memcache.rb,
lib/one_apm/inst/framework/grape.rb,
lib/one_apm/support/event_buffer.rb,
lib/one_apm/agent/busy_calculator.rb,
lib/one_apm/agent/datastore/mongo.rb,
lib/one_apm/inst/transaction_base.rb,
lib/one_apm/inst/framework/sinatra.rb,
lib/one_apm/inst/nosql/mongo_moped.rb,
lib/one_apm/inst/orm/active_record.rb,
lib/one_apm/inst/rack/rack_builder.rb,
lib/one_apm/inst/support/queue_time.rb,
lib/one_apm/agent/agent/rule_fetcher.rb,
lib/one_apm/agent/synthetics_monitor.rb,
lib/one_apm/inst/http_clients/thrift.rb,
lib/one_apm/agent/database/obfuscator.rb,
lib/one_apm/support/supported_versions.rb,
lib/one_apm/agent/agent/restart_monitor.rb,
lib/one_apm/errors/internal_agent_error.rb,
lib/one_apm/inst/support/ignore_actions.rb,
lib/one_apm/agent/threading/agent_thread.rb,
lib/one_apm/agent/datastore/metric_helper.rb,
lib/one_apm/agent/inbound_request_monitor.rb,
lib/one_apm/agent/javascript_instrumentor.rb,
lib/one_apm/inst/rails3/action_controller.rb,
lib/one_apm/agent/threading/thread_profile.rb,
lib/one_apm/inst/background_job/active_job.rb,
lib/one_apm/inst/framework/sinatra/ignorer.rb,
lib/one_apm/agent/agent/start_worker_thread.rb,
lib/one_apm/inst/support/evented_subscriber.rb,
lib/one_apm/agent/datastore/mongo/obfuscator.rb,
lib/one_apm/support/backtrace/backtrace_node.rb,
lib/one_apm/agent/cross_app/cross_app_monitor.rb,
lib/one_apm/agent/cross_app/cross_app_tracing.rb,
lib/one_apm/support/event_buffer/sized_buffer.rb,
lib/one_apm/agent/agent/container_data_manager.rb,
lib/one_apm/agent/database/obfuscation_helpers.rb,
lib/one_apm/inst/rails4/action_view_subscriber.rb,
lib/one_apm/agent/database/active_record_helper.rb,
lib/one_apm/support/backtrace/backtrace_service.rb,
lib/one_apm/support/event_buffer/sampled_buffer.rb,
lib/one_apm/agent/agent/cross_app_samples_sender.rb,
lib/one_apm/inst/rails4/active_record_subscriber.rb,
lib/one_apm/agent/datastore/mongo/command_formatter.rb,
lib/one_apm/agent/datastore/mongo/metric_translator.rb,
lib/one_apm/inst/framework/sinatra/transaction_namer.rb,
lib/one_apm/inst/rails4/action_controller_subscriber.rb,
lib/one_apm/agent/agent/forkable_dispatcher_functions.rb,
lib/one_apm/agent/cross_app/cross_app_tracing_message.rb,
lib/one_apm/agent/datastore/mongo/statement_formatter.rb,
lib/one_apm/agent/database/postgres_explain_obfuscator.rb,
lib/one_apm/support/event_buffer/synthetics_event_buffer.rb

Defined Under Namespace

Modules: BusyCalculator, CrossAppTracing, CrossAppTracingMessage, Database, Datastore, Hostname, IP, Instrumentation, Threading Classes: Agent, CrossAppMonitor, CrossAppSamplesSender, EventBuffer, Harvester, InboundRequestMonitor, InternalAgentError, JavascriptInstrumentor, Obfuscator, Restart, RestartMonitor, SampledBuffer, ShimAgent, SizedBuffer, SyntheticsEventBuffer, SyntheticsMonitor

Constant Summary collapse

OA_SUPPORTED_VERSIONS =
{
  # Rubies
  :mri =>
  {
    :type        => :ruby,
    :name        => "MRI",
    :supported   => ["1.8.7", "1.9.2", "1.9.3", "2.0.0", "~>2.1.0", "~>2.2.0", "~>2.3.0" ],
    :deprecated  => ["1.8.6"],
    :url         => "https://www.ruby-lang.org",
    :feed        => "https://www.ruby-lang.org/en/feeds/news.rss",
    :notes       => ["1.8.7 includes support for Ruby Enterprise Edition (REE)"]
  },
  :jruby =>
  {
    :type        => :ruby,
    :name        => "JRuby",
    :supported   => ["~>1.6.0", "~>1.7.0"],
    :url         => "http://jruby.org",
    :feed        => "http://jruby.org/atom.xml"
  },
  :rbx =>
  {
    :type        => :ruby,
    :name        => "Rubinius",
    :supported   => ["~>2.2.1"],
    :url         => "http://rubini.us",
    :feed        => "http://rubini.us/feed/atom.xml"
  },

  # App servers
  :passenger =>
  {
    :type        => :app_server,
    :supported   => ["~>2.2", "~>3.0", "~>4.0"],
    :url         => "http://www.phusionpassenger.com/",
    :feed        => "http://rubygems.org/gems/passenger/versions.atom"
  },
  :thin =>
  {
    :type        => :app_server,
    :supported   => ["~>1.0"],
    :url         => "http://code.macournoyer.com/thin/",
    :feed        => "http://rubygems.org/gems/thin/versions.atom"
  },
  :unicorn =>
  {
    :type        => :app_server,
    :supported   => ["~>4.0"],
    :deprecated  => ["~>1.0", "~>2.0", "~>3.0"],
    :url         => "http://unicorn.bogomips.org/",
    :feed        => "http://rubygems.org/gems/unicorn/versions.atom"
  },
  :puma =>
  {
    :type        => :app_server,
    :supported   => ["~>2.0"],
    :deprecated  => ["~>1.0"],
    :url         => "http://puma.io/",
    :feed        => "http://rubygems.org/gems/puma/versions.atom"
  },
  :rainbows =>
  {
    :type        => :app_server,
    :name        => "rainbows!",
    :experimental=> ["4.5.0"],
    :url         => "http://rainbows.rubyforge.org/",
    :feed        => "http://rubygems.org/gems/rainbows/versions.atom"
  },
  :webrick =>
  {
    :type        => :app_server,
    :notes       => [ "Supported for all agent-supported versions of Ruby" ]
  },

  # Web frameworks
  :rails =>
  {
    :type        => :web,
    :supported   => ["~3.0.0", "~>3.1.0", "~>3.2.0", "~>4.0.0", "~>4.1.0", "~>4.2.0", "~>5.0.0"],
    :deprecated  => ["~>2.3.0"],
    :url         => "https://rubygems.org/gems/rails",
    :feed        => "https://rubygems.org/gems/rails/versions.atom"
  },
  :sinatra =>
  {
    :type        => :web,
    :supported   => ["~>1.2.0", "~>1.3.0", "~>1.4.0"],
    :url         => "https://rubygems.org/gems/sinatra",
    :feed        => "https://rubygems.org/gems/sinatra/versions.atom"
  },
  :padrino =>
  {
    :type        => :web,
    :supported   => ["~>0.10"],
    :url         => "https://rubygems.org/gems/padrino",
    :feed        => "https://rubygems.org/gems/padrino/versions.atom"
  },
  :rack =>
  {
    :type        => :web,
    :supported   => [">= 1.1.0"],
    :deprecated  => ["~>1.0.0"],
    :url         => "https://rubygems.org/gems/rack",
    :feed        => "https://rubygems.org/gems/rack/versions.atom"
  },
  :grape =>
  {
    :type        => :web,
    :supported   => [">= 0.2.0"],
    :url         => "https://rubygems.org/gems/grape",
    :feed        => "https://rubygems.org/gems/grape/versions.atom"
  },

  # Database
  :activerecord =>
  {
    :type        => :database,
    :supported   => ["~>2.1.0", "~>2.2.0", "~>2.3.0", "~3.0.0", "~>3.1.0", "~>3.2.0", "~>4.0.0"],
    :deprecated  => ["~>2.0.0"],
    :url         => "https://rubygems.org/gems/activerecord",
    :feed        => "https://rubygems.org/gems/activerecord/versions.atom"
  },
  :datamapper =>
  {
    :type        => :database,
    :supported   => ["~>1.0"],
    :url         => "https://rubygems.org/gems/datamapper",
    :feed        => "https://rubygems.org/gems/datamapper/versions.atom"
  },
  :sequel =>
  {
    :type        => :database,
    :supported   => ["~>3.37", "~>4.0"],
    :url         => "https://rubygems.org/gems/sequel",
    :feed        => "https://rubygems.org/gems/sequel/versions.atom"
  },
  :mongo =>
  {
    :type        => :database,
    :supported   => ["~>1.8.0", "~>1.9.0", "~>1.10.0"],
    :url         => "https://rubygems.org/gems/mongo",
    :feed        => "https://rubygems.org/gems/mongo/versions.atom"
  },

  # Background Jobs
  :resque =>
  {
    :type        => :background,
    :supported   => ["~>1.23.0"],
    :deprecated  => ["~>1.22.0"],
    :experimental=> [">= 2.0"],
    :url         => "https://rubygems.org/gems/resque",
    :feed        => "https://rubygems.org/gems/resque/versions.atom"
  },
  :sidekiq =>
  {
    :type        => :background,
    :supported   => ["~>2.8"],
    :url         => "https://rubygems.org/gems/sidekiq",
    :feed        => "https://rubygems.org/gems/sidekiq/versions.atom"
  },
  :delayed_job =>
  {
    :type        => :background,
    :supported   => ["~>2.0", "~>3.0", "~>4.0"],
    :url         => "https://rubygems.org/gems/delayed_job",
    :feed        => "https://rubygems.org/gems/delayed_job/versions.atom"
  },

  # HTTP Clients
  :curb =>
  {
    :type        => :http,
    :supported   => [ ">= 0.8.1" ],
    :url         => "https://rubygems.org/gems/curb",
    :feed        => "https://rubygems.org/gems/curb/versions.atom"
  },
  :excon =>
  {
    :type        => :http,
    :supported   => [ ">= 0.10.1" ],
    :url         => "https://rubygems.org/gems/excon",
    :feed        => "https://rubygems.org/gems/excon/versions.atom"
  },
  :httpclient =>
  {
    :type        => :http,
    :supported   => [ ">= 2.2.0"],
    :url         => "https://rubygems.org/gems/httpclient",
    :feed        => "https://rubygems.org/gems/httpclient/versions.atom"
  },
  :typhoeus =>
  {
    :type        => :http,
    :supported   => [ ">= 0.5.3"],
    :url         => "https://rubygems.org/gems/typhoeus",
    :feed        => "https://rubygems.org/gems/typhoeus/versions.atom"
  },
  :net_http =>
  {
    :type        => :http,
    :name        => "Net::HTTP",
    :notes       => [ "Supported for all agent-supported versions of Ruby." ]
  },

  # Other
  :sunspot =>
  {
    :type        => :other,
    :url         => "https://rubygems.org/gems/sunspot",
    :feed        => "https://rubygems.org/gems/sunspot/versions.atom"
  },
  :acts_as_solr =>
  {
    :type        => :other,
    :url         => "https://rubygems.org/gems/acts_as_solr",
    :feed        => "https://rubygems.org/gems/acts_as_solr/versions.atom"
  },
  :dalli =>
  {
    :type        => :other,
    :url         => "https://rubygems.org/gems/dalli",
    :feed        => "https://rubygems.org/gems/dalli/versions.atom"
  },
  :'memcache-client' =>
  {
    :type        => :other,
    :url         => "https://rubygems.org/gems/memcache-client",
    :feed        => "https://rubygems.org/gems/memcache-client/versions.atom"
  },
  :authlogic =>
  {
    :type        => :other,
    :url         => "https://rubygems.org/gems/authlogic",
    :feed        => "https://rubygems.org/gems/authlogic/versions.atom"
  },
  :activemerchant =>
  {
    :type        => :other,
    :supported   => [ ">= 1.25.0"],
    :url         => "https://rubygems.org/gems/activemerchant",
    :feed        => "https://rubygems.org/gems/activemerchant/versions.atom"
  },
}