Method: GraphQL::Tracing::DetailedTrace::MemoryBackend#save_trace

Defined in:
lib/graphql/tracing/detailed_trace/memory_backend.rb

#save_trace(operation_name, duration, begin_ms, trace_data) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/graphql/tracing/detailed_trace/memory_backend.rb', line 41

def save_trace(operation_name, duration, begin_ms, trace_data)
  id = @next_id
  @next_id += 1
  @traces[id] = DetailedTrace::StoredTrace.new(
    id: id,
    operation_name: operation_name,
    duration_ms: duration,
    begin_ms: begin_ms,
    trace_data: trace_data
  )
  if @limit && @traces.size > @limit
    del_keys = @traces.keys[0...-@limit]
    del_keys.each { |k| @traces.delete(k) }
  end
  id
end