Module: Vivarium::Usdt
- Defined in:
- lib/vivarium/usdt.rb,
lib/vivarium/usdt_version.rb
Constant Summary collapse
- VERSION =
"0.2.0"
Class Method Summary collapse
- .__error_id_table ⇒ Object
- .__file_id_table ⇒ Object
- .__method_id_table ⇒ Object
- .get_error_name(u64) ⇒ Object
- .get_file_name(u64) ⇒ Object
- .get_method_name(u64) ⇒ Object
- .raise(error_name, file: nil, lineno: -1)) ⇒ Object
- .register_or_resolve_file(file_name) ⇒ 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
10 11 12 |
# File 'lib/vivarium/usdt.rb', line 10 def __error_id_table @__error_id_table ||= {} end |
.__file_id_table ⇒ Object
14 15 16 |
# File 'lib/vivarium/usdt.rb', line 14 def __file_id_table @__file_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
23 24 25 |
# File 'lib/vivarium/usdt.rb', line 23 def get_error_name(u64) __error_id_table[u64] end |
.get_file_name(u64) ⇒ Object
27 28 29 |
# File 'lib/vivarium/usdt.rb', line 27 def get_file_name(u64) __file_id_table[u64] end |
.get_method_name(u64) ⇒ Object
19 20 21 |
# File 'lib/vivarium/usdt.rb', line 19 def get_method_name(u64) __method_id_table[u64] end |
.raise(error_name, file: nil, lineno: -1)) ⇒ Object
57 58 59 60 61 62 |
# File 'lib/vivarium/usdt.rb', line 57 def raise(error_name, file: nil, lineno: -1) error_id = __helper_get_hash_from_name(error_name) __error_id_table[error_id] ||= error_name file_id = file ? register_or_resolve_file(file) : -1 ::VivariumUsdt.invoke_raise_probe(error_id, file_id, lineno) end |
.register_or_resolve_file(file_name) ⇒ Object
37 38 39 40 41 |
# File 'lib/vivarium/usdt.rb', line 37 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_method(method_signature) ⇒ Object
31 32 33 34 35 |
# File 'lib/vivarium/usdt.rb', line 31 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
43 44 45 46 47 48 |
# File 'lib/vivarium/usdt.rb', line 43 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
50 51 52 53 54 55 |
# File 'lib/vivarium/usdt.rb', line 50 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 |