Sha256: c3c6bd460bdcc82e66f844330f6238f2ee464b7231834646033b7aba9b6d59fb
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
#include "current_trace.h" #include "event_store.h" #include "types/event.h" static __thread Trace *current_trace = NULL; Trace *get_current_trace() { return current_trace; } VALUE rb_create_trace(VALUE _self) { if(current_trace != NULL) { current_trace->active = false; Event event = {}; event.trace = current_trace; event.event = END_OF_OBSOLOTE_TRACE_EVENT; produce_event(event); // This will tell sidecar to free the memory } Span *span = malloc(sizeof(Span)); span->children_count = 0; span->caller = NULL; span->receiver = NULL; span->klass = NULL; span->self_klass = NULL; span->return_value = NULL; span->arguments = NULL; span->arguments_count = 0; span->exception = NULL; span->children_count = 0; current_trace = malloc(sizeof(Trace)); current_trace->finished = false; current_trace->top_span = span; current_trace->current_span = span; current_trace->active = true; return Qtrue; } VALUE rb_send_eot(VALUE _self) { Event event = {}; event.trace = current_trace; event.event = END_OF_TRACE; produce_event(event); return Qtrue; }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stack_trace-0.8.0 | ext/stack_trace/current_trace.c |
stack_trace-0.7.0 | ext/stack_trace/current_trace.c |