Skip to content

Commit 421a1be

Browse files
committed
add force_finalize and reregister_exit_handler to user module
1 parent 5dd5a36 commit 421a1be

4 files changed

Lines changed: 35 additions & 0 deletions

File tree

scorep/_instrumenters/base_instrumenter.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,11 @@ def user_parameter_uint(self, name, val):
6464
@abc.abstractmethod
6565
def user_parameter_string(self, name, string):
6666
pass
67+
68+
@abc.abstractmethod
69+
def force_finalize(self):
70+
pass
71+
72+
@abc.abstractmethod
73+
def reregister_exit_handler(self):
74+
pass

scorep/_instrumenters/dummy.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,9 @@ def user_parameter_uint(self, name, val):
5555

5656
def user_parameter_string(self, name, string):
5757
pass
58+
59+
def force_finalize(self):
60+
pass
61+
62+
def reregister_exit_handler(self):
63+
pass

scorep/_instrumenters/scorep_instrumenter.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,9 @@ def user_parameter_uint(self, name, val):
119119
def user_parameter_string(self, name, string):
120120
"""Record a parameter of type string"""
121121
scorep._bindings.parameter_string(name, string)
122+
123+
def force_finalize(self):
124+
scorep._bindings.force_finalize()
125+
126+
def reregister_exit_handler(self):
127+
scorep._bindings.reregister_exit_handler()

scorep/user.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,3 +190,18 @@ def parameter_uint(name, val):
190190

191191
def parameter_string(name, string):
192192
scorep.instrumenter.get_instrumenter().user_parameter_string(name, string)
193+
194+
195+
def force_finalize():
196+
"""
197+
Forces a finalisation, which might trigger traces or profiles to be written.
198+
Events after a call to @force_finalize() might not be recorded.
199+
"""
200+
scorep.instrumenter.get_instrumenter().force_finalize()
201+
202+
203+
def reregister_exit_handler():
204+
"""
205+
Registers necessary atexit handler again if they have been overwritten.
206+
"""
207+
scorep.instrumenter.get_instrumenter().reregister_exit_handler()

0 commit comments

Comments
 (0)