Class: NewRelic::Agent::TransactionInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/new_relic/agent/transaction_info.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTransactionInfo

Returns a new instance of TransactionInfo.



8
9
10
11
12
# File 'lib/new_relic/agent/transaction_info.rb', line 8

def initialize
  @guid = ""
  @transaction_name = "(unknown)"
  @start_time = Time.now
end

Instance Attribute Details

#capture_deep_ttObject

Returns the value of attribute capture_deep_tt.



5
6
7
# File 'lib/new_relic/agent/transaction_info.rb', line 5

def capture_deep_tt
  @capture_deep_tt
end

#start_timeObject (readonly)

Returns the value of attribute start_time.



6
7
8
# File 'lib/new_relic/agent/transaction_info.rb', line 6

def start_time
  @start_time
end

#tokenObject

Returns the value of attribute token.



5
6
7
# File 'lib/new_relic/agent/transaction_info.rb', line 5

def token
  @token
end

#transaction_nameObject

Returns the value of attribute transaction_name.



5
6
7
# File 'lib/new_relic/agent/transaction_info.rb', line 5

def transaction_name
  @transaction_name
end

Class Method Details

.clearObject



42
43
44
# File 'lib/new_relic/agent/transaction_info.rb', line 42

def self.clear
  Thread.current[:newrelic_transaction_info] = nil
end

.getObject



34
35
36
# File 'lib/new_relic/agent/transaction_info.rb', line 34

def self.get()
  Thread.current[:newrelic_transaction_info] ||= TransactionInfo.new
end

.reset(request = nil) ⇒ Object

clears any existing transaction info object and initializes a new one. This starts the timer for the transaction.



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/new_relic/agent/transaction_info.rb', line 48

def self.reset(request=nil)
  clear
  instance = get

  if request
    agent_flag = request.cookies['NRAGENT']
    if agent_flag
      s = agent_flag.split("=")
      if s.length == 2
        if s[0] == "tk" && s[1]
          instance.token = s[1]
        end
      end
    end
  end
end

.set(instance) ⇒ Object



38
39
40
# File 'lib/new_relic/agent/transaction_info.rb', line 38

def self.set(instance)
  Thread.current[:newrelic_transaction_info] = instance
end

Instance Method Details

#durationObject



30
31
32
# File 'lib/new_relic/agent/transaction_info.rb', line 30

def duration
  Time.now - start_time
end

#force_persist_sample?(sample) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/new_relic/agent/transaction_info.rb', line 14

def force_persist_sample?(sample)
  token && sample.duration > NewRelic::Control.instance.apdex_t
end

#guidObject



22
23
24
# File 'lib/new_relic/agent/transaction_info.rb', line 22

def guid
  @guid
end

#guid=(value) ⇒ Object



26
27
28
# File 'lib/new_relic/agent/transaction_info.rb', line 26

def guid=(value)
  @guid = value
end

#include_guid?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/new_relic/agent/transaction_info.rb', line 18

def include_guid?
  token && duration > NewRelic::Control.instance.apdex_t
end