Sha256: fe58c51badf0006e5c120363e59d6ddc994445c8e33f6ea1703e8abb472dc5c2

Contents?: true

Size: 1.61 KB

Versions: 73

Compression:

Stored size: 1.61 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require 'forwardable'

module NewRelic
  module Agent
    module Commands
      class XraySession
        extend Forwardable

        attr_reader :id, :command_arguments
        attr_reader :xray_session_name, :key_transaction_name,
                    :requested_trace_count, :duration, :sample_period

        def initialize(command_arguments)
          @command_arguments     = command_arguments
          @id                    = command_arguments.fetch("x_ray_id", nil)
          @xray_session_name     = command_arguments.fetch("xray_session_name", "")
          @key_transaction_name  = command_arguments.fetch("key_transaction_name", "")
          @requested_trace_count = command_arguments.fetch("requested_trace_count", 100)
          @duration              = command_arguments.fetch("duration", 86400)
          @sample_period         = command_arguments.fetch("sample_period", 0.1)
          @run_profiler          = command_arguments.fetch("run_profiler", true)
        end

        def active?
          @active
        end

        def run_profiler?
          @run_profiler && NewRelic::Agent.config[:'xray_session.allow_profiles']
        end

        def activate
          @active = true
          @start_time = Time.now
        end

        def deactivate
          @active = false
        end

        def requested_period
          @sample_period
        end

        def finished?
          @start_time + @duration < Time.now
        end
      end
    end
  end
end

Version data entries

73 entries across 73 versions & 2 rubygems

Version Path
newrelic_rpm-6.3.0.355 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-6.2.0.354 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-6.1.0.352 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-6.0.0.351 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-5.7.0.350 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-5.6.0.349 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-5.5.0.348 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-5.4.0.347 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-5.3.0.346 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-5.2.0.345 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-5.1.0.344 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-5.0.0.342 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-4.8.0.341 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-4.7.1.340 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-4.7.0.339 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-4.6.0.338 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-4.5.0.337 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-4.4.0.336 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-4.3.0.335 lib/new_relic/agent/commands/xray_session.rb
newrelic_rpm-4.2.0.334 lib/new_relic/agent/commands/xray_session.rb