Module: Vivarium::Usdt
- Defined in:
- lib/vivarium/usdt.rb,
lib/vivarium/usdt_version.rb
Constant Summary collapse
- VERSION =
"0.3.0"
Class Method Summary collapse
- .__error_id_table ⇒ Object
- .__file_id_table ⇒ Object
- .__message_id_table ⇒ Object
- .__method_id_table ⇒ Object
- .get_error_name(u64) ⇒ Object
- .get_file_name(u64) ⇒ Object
- .get_message_name(u64) ⇒ Object
- .get_method_name(u64) ⇒ Object
- .raise(error_name, message, file: nil, lineno: -1)) ⇒ Object
- .register_or_resolve_error(error_name) ⇒ Object
- .register_or_resolve_file(file_name) ⇒ Object
- .register_or_resolve_message(message) ⇒ Object
- .register_or_resolve_method(method_signature) ⇒ Object
- .start(defined_class, method_name, file: nil, lineno: -1)) ⇒ Object
- .stop(defined_class, method_name, file: nil, lineno: -1)) ⇒ Object
Class Method Details
.__error_id_table ⇒ Object
11 12 13 |
# File 'lib/vivarium/usdt.rb', line 11 def __error_id_table @__error_id_table ||= {} end |
.__file_id_table ⇒ Object
21 22 23 |
# File 'lib/vivarium/usdt.rb', line 21 def __file_id_table @__file_id_table ||= {} end |
.__message_id_table ⇒ Object
16 17 18 |
# File 'lib/vivarium/usdt.rb', line 16 def @__message_id_table ||= {} end |
.__method_id_table ⇒ Object
6 7 8 |
# File 'lib/vivarium/usdt.rb', line 6 def __method_id_table @__method_id_table ||= {} end |
.get_error_name(u64) ⇒ Object
30 31 32 |
# File 'lib/vivarium/usdt.rb', line 30 def get_error_name(u64) __error_id_table[u64] end |
.get_file_name(u64) ⇒ Object
38 39 40 |
# File 'lib/vivarium/usdt.rb', line 38 def get_file_name(u64) __file_id_table[u64] end |
.get_message_name(u64) ⇒ Object
34 35 36 |
# File 'lib/vivarium/usdt.rb', line 34 def (u64) [u64] end |
.get_method_name(u64) ⇒ Object
26 27 28 |
# File 'lib/vivarium/usdt.rb', line 26 def get_method_name(u64) __method_id_table[u64] end |
.raise(error_name, message, file: nil, lineno: -1)) ⇒ Object
80 81 82 83 84 85 |
# File 'lib/vivarium/usdt.rb', line 80 def raise(error_name, , file: nil, lineno: -1) error_id = register_or_resolve_error(error_name) = () file_id = file ? register_or_resolve_file(file) : -1 ::VivariumUsdt.invoke_raise_probe(error_id, , file_id, lineno) end |
.register_or_resolve_error(error_name) ⇒ Object
48 49 50 51 52 |
# File 'lib/vivarium/usdt.rb', line 48 def register_or_resolve_error(error_name) id = __helper_get_hash_from_name(error_name) __error_id_table[id] ||= error_name id end |
.register_or_resolve_file(file_name) ⇒ Object
60 61 62 63 64 |
# File 'lib/vivarium/usdt.rb', line 60 def register_or_resolve_file(file_name) id = __helper_get_hash_from_name(file_name) __file_id_table[id] ||= file_name id end |
.register_or_resolve_message(message) ⇒ Object
54 55 56 57 58 |
# File 'lib/vivarium/usdt.rb', line 54 def () id = __helper_get_hash_from_name() [id] ||= id end |
.register_or_resolve_method(method_signature) ⇒ Object
42 43 44 45 46 |
# File 'lib/vivarium/usdt.rb', line 42 def register_or_resolve_method(method_signature) id = __helper_get_hash_from_name(method_signature) __method_id_table[id] ||= method_signature id end |
.start(defined_class, method_name, file: nil, lineno: -1)) ⇒ Object
66 67 68 69 70 71 |
# File 'lib/vivarium/usdt.rb', line 66 def start(defined_class, method_name, file: nil, lineno: -1) method_signature = "#{defined_class}##{method_name}" method_id = register_or_resolve_method(method_signature) file_id = file ? register_or_resolve_file(file) : -1 ::VivariumUsdt.invoke_start_probe(method_id, file_id, lineno) end |
.stop(defined_class, method_name, file: nil, lineno: -1)) ⇒ Object
73 74 75 76 77 78 |
# File 'lib/vivarium/usdt.rb', line 73 def stop(defined_class, method_name, file: nil, lineno: -1) method_signature = "#{defined_class}##{method_name}" method_id = register_or_resolve_method(method_signature) file_id = file ? register_or_resolve_file(file) : -1 ::VivariumUsdt.invoke_stop_probe(method_id, file_id, lineno) end |