Class: Vernier::MemoryTracker
- Inherits:
-
Object
- Object
- Vernier::MemoryTracker
- Defined in:
- ext/vernier/memory.cc
Instance Method Summary collapse
Instance Method Details
#record ⇒ Object
109 110 111 112 113 114 |
# File 'ext/vernier/memory.cc', line 109
VALUE memory_tracker_record(VALUE self) {
MemoryTracker *memory_tracker;
TypedData_Get_Struct(self, MemoryTracker, &rb_memory_tracker_type, memory_tracker);
memory_tracker->record();
return self;
}
|
#results ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 |
# File 'ext/vernier/memory.cc', line 116
VALUE memory_tracker_results(VALUE self) {
MemoryTracker *memory_tracker;
TypedData_Get_Struct(self, MemoryTracker, &rb_memory_tracker_type, memory_tracker);
VALUE timestamps = rb_ary_new();
VALUE memory = rb_ary_new();
for (const auto& record: memory_tracker->results) {
rb_ary_push(timestamps, ULL2NUM(record.timestamp.nanoseconds()));
rb_ary_push(memory, ULL2NUM(record.memory_rss));
}
return rb_ary_new_from_args(2, timestamps, memory);
}
|
#start ⇒ Object
94 95 96 97 98 99 |
# File 'ext/vernier/memory.cc', line 94
VALUE memory_tracker_start(VALUE self) {
MemoryTracker *memory_tracker;
TypedData_Get_Struct(self, MemoryTracker, &rb_memory_tracker_type, memory_tracker);
memory_tracker->start();
return self;
}
|
#stop ⇒ Object
101 102 103 104 105 106 107 |
# File 'ext/vernier/memory.cc', line 101
VALUE memory_tracker_stop(VALUE self) {
MemoryTracker *memory_tracker;
TypedData_Get_Struct(self, MemoryTracker, &rb_memory_tracker_type, memory_tracker);
memory_tracker->stop();
return self;
}
|