class Babeltrace2::BTTrace
Constants
- AddListenerStatus
- RemoveListenerStatus
- SetEnvironmentEntryStatus
- SetNameStatus
Public Class Methods
new(handle = nil, retain: true, auto_release: true, trace_class: nil)
click to toggle source
Calls superclass method
# File lib/babeltrace2/trace-ir/trace.rb, line 156 def initialize(handle = nil, retain: true, auto_release: true, trace_class: nil) if(handle) super(handle, retain: retain, auto_release: auto_release) else handle = Babeltrace2.bt_trace_create(trace_class) raise Babeltrace2.process_error if handle.null? super(handle, retain: false) end end
Public Instance Methods
add_destruction_listener(user_func, user_data: nil)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 298 def add_destruction_listener(user_func, user_data: nil) user_func = Babeltrace2._wrap_trace_destruction_listener_func(user_func) id = @handle.to_i ptr = FFI::MemoryPointer.new(:uint64) res = Babeltrace2.bt_trace_add_destruction_listener(@handle, user_func, user_data, ptr) raise Babeltrace2.process_error(res) if res != :BT_TRACE_ADD_LISTENER_STATUS_OK listener_id = ptr.read_uint64 h = Babeltrace2._callbacks[id][:destruction_listener_funcs] if h.nil? h = {} Babeltrace2._callbacks[id][:destruction_listener_funcs] = h end h[listener_id] = [user_func, user_data] listener_id end
environment=(hash)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 278 def environment=(hash) set_environement(hash) hash end
get_class()
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 167 def get_class BTTraceClass.new( Babeltrace2.bt_trace_borrow_class(@handle), retain: true) end
get_environement_entry_by_index(index)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 239 def get_environement_entry_by_index(index) return nil if index >= get_environment_entry_count ptr1 = FFI::MemoryPointer.new(:pointer) ptr2 = FFI::MemoryPointer.new(:pointer) Babeltrace2.bt_trace_borrow_environment_entry_by_index_const( @handle, index, ptr1, ptr2) name = ptr1.read_pointer.read_string value = BTValue.from_handle(BTValueHandle.new(ptr2.read_pointer)) return [name, value] end
get_environment()
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 257 def get_environment get_environment_entry_count.times.collect { |index| get_environement_entry_by_index(index) }.collect { |name, value| [name, value.value] }.to_h end
Also aliased as: environment
get_environment_entry_count()
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 234 def get_environment_entry_count Babeltrace2.bt_trace_get_environment_entry_count(@handle) end
Also aliased as: environment_entry_count
get_environment_entry_value_by_name(name)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 250 def get_environment_entry_value_by_name(name) handle = Babeltrace2.bt_trace_borrow_environment_entry_value_by_name_const( @handle, name) return nil if handle.null? BTValue.from_handle(handle) end
get_name()
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 200 def get_name Babeltrace2.bt_trace_get_name(@handle) end
Also aliased as: name
get_stream_by_id(id)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 183 def get_stream_by_id(id) handle = Babeltrace2.bt_trace_borrow_stream_by_id(@handle, id) return nil if handle.null? BTStream.new(handle, retain: true) end
get_stream_by_index(index)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 177 def get_stream_by_index(index) return nil if index >= get_stream_count BTStream.new( Babeltrace2.bt_trace_borrow_stream_by_index(@handle, index), retain: true) end
get_stream_count()
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 172 def get_stream_count Babeltrace2.bt_trace_get_stream_count(@handle) end
Also aliased as: stream_count
get_user_attributes()
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 293 def get_user_attributes BTValueMap.new(Babeltrace2.bt_trace_borrow_user_attributes(@handle), retain: true) end
Also aliased as: user_attributes
get_uuid()
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 215 def get_uuid uuid = Babeltrace2.bt_trace_get_uuid(@handle) return nil if uuid.null? uuid end
Also aliased as: uuid
name=(name)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 195 def name=(name) set_name(name) name end
remove_destruction_listener(listener_id)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 314 def remove_destruction_listener(listener_id) res = Babeltrace2.bt_trace_remove_destruction_listener(@handle, listener_id) raise Babeltrace2.process_error(res) if res != :BT_TRACE_REMOVE_LISTENER_STATUS_OK Babeltrace2._callbacks[@handle.to_i][:destruction_listener_funcs].delete(listener_id) self end
set_environement(hash)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 264 def set_environement(hash) hash.each { |k, v| case v when String set_environment_entry_string(k, v) when Integer set_environment_entry_integer(k, v) else raise "invalid value type" end } self end
set_environment_entry_integer(name, value)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 222 def set_environment_entry_integer(name, value) res = Babeltrace2.bt_trace_set_environment_entry_integer(@handle, name, value) raise Babeltrace2.process_error(res) if res != :BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK self end
set_environment_entry_string(name, value)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 228 def set_environment_entry_string(name, value) res = Babeltrace2.bt_trace_set_environment_entry_string(@handle, name, value) raise Babeltrace2.process_error(res) if res != :BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK self end
set_name(name)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 189 def set_name(name) res = Babeltrace2.bt_trace_set_name(@handle, name) raise Babeltrace2.process_error(res) if res != :BT_TRACE_SET_NAME_STATUS_OK self end
set_user_attributes(user_attributes)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 283 def set_user_attributes(user_attributes) Babeltrace2.bt_trace_set_user_attributes(@handle, BTValue.from_value(user_attributes)) self end
set_uuid(uuid)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 205 def set_uuid(uuid) Babeltrace2.bt_trace_set_uuid(@handle, uuid) self end
user_attributes=(user_attributes)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 288 def user_attributes=(user_attributes) set_user_attributes(user_attributes) user_attributes end
uuid=(uuid)
click to toggle source
# File lib/babeltrace2/trace-ir/trace.rb, line 210 def uuid=(uuid) set_uuid(uuid) uuid end