Class: Datadog::Profiling::Events::Stack

Inherits:
Datadog::Profiling::Event show all
Defined in:
lib/ddtrace/profiling/events/stack.rb

Overview

Describes a stack profiling event

Direct Known Subclasses

StackSample

Instance Attribute Summary collapse

Attributes inherited from Datadog::Profiling::Event

#timestamp

Instance Method Summary collapse

Constructor Details

#initialize(timestamp, frames, total_frame_count, thread_id, trace_id, span_id, trace_resource_container) ⇒ Stack

Returns a new instance of Stack.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/ddtrace/profiling/events/stack.rb', line 18

def initialize(
  timestamp,
  frames,
  total_frame_count,
  thread_id,
  trace_id,
  span_id,
  trace_resource_container
)
  super(timestamp)

  @frames = frames
  @total_frame_count = total_frame_count
  @thread_id = thread_id
  @trace_id = trace_id
  @span_id = span_id
  @trace_resource_container = trace_resource_container

  @hash = [
    thread_id,
    trace_id,
    span_id,
    # trace_resource_container is deliberately not included -- events that share the same (trace_id, span_id)
    # pair should also have the same trace_resource_container
    frames.collect(&:hash),
    total_frame_count
  ].hash
end

Instance Attribute Details

#framesObject (readonly)

Returns the value of attribute frames.



9
10
11
# File 'lib/ddtrace/profiling/events/stack.rb', line 9

def frames
  @frames
end

#hashObject (readonly)

Returns the value of attribute hash.



9
10
11
# File 'lib/ddtrace/profiling/events/stack.rb', line 9

def hash
  @hash
end

#span_idObject (readonly)

Returns the value of attribute span_id.



9
10
11
# File 'lib/ddtrace/profiling/events/stack.rb', line 9

def span_id
  @span_id
end

#thread_idObject (readonly)

Returns the value of attribute thread_id.



9
10
11
# File 'lib/ddtrace/profiling/events/stack.rb', line 9

def thread_id
  @thread_id
end

#total_frame_countObject (readonly)

Returns the value of attribute total_frame_count.



9
10
11
# File 'lib/ddtrace/profiling/events/stack.rb', line 9

def total_frame_count
  @total_frame_count
end

#trace_idObject (readonly)

Returns the value of attribute trace_id.



9
10
11
# File 'lib/ddtrace/profiling/events/stack.rb', line 9

def trace_id
  @trace_id
end

#trace_resource_containerObject (readonly)

Returns the value of attribute trace_resource_container.



9
10
11
# File 'lib/ddtrace/profiling/events/stack.rb', line 9

def trace_resource_container
  @trace_resource_container
end