Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions LinguaFrancaBase/classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,32 @@ def check_deadline(self, invoke_deadline_handler=True):
# This idiom is used to invoke C functions bound to the main module and defined
# pythontarget.c.
return self.lf_module().check_deadline(self, invoke_deadline_handler)

def register_user_trace_event(self, description: str):
"""Register a user trace event for tracing. Enable tracing in the target (e.g. tracing: True).

Args:
description: Human-readable description of the event.

Returns:
int: An opaque handle to pass to tracepoint_user_event and tracepoint_user_value.
Returns 0 if tracing is disabled or registration failed.
"""
return self.lf_module().register_user_trace_event(self, description)

def tracepoint_user_event(self, handle):
"""Record a user-defined trace event at the current logical time.

Args:
handle: The handle returned by register_user_trace_event(description).
"""
self.lf_module().tracepoint_user_event(self, handle)

def tracepoint_user_value(self, handle, value):
"""Record a user-defined trace event with a value at the current logical time.

Args:
handle: The handle returned by register_user_trace_event(description).
value: Integer value to record (e.g. a count or timestamp).
"""
self.lf_module().tracepoint_user_value(self, handle, value)