MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle / RecordEvent

Class RecordEvent

python/paddle/profiler/utils.py:48–157  ·  view source on GitHub ↗

r""" Interface for recording a time range by user defined. Args: name (str): Name of the record event. event_type (TracerEventType, optional): Optional, default value is `TracerEventType.PythonUserDefined`. It is reserved for internal purpose, and it

Source from the content-addressed store, hash-verified

46
47
48class RecordEvent(ContextDecorator):
49 r"""
50 Interface for recording a time range by user defined.
51
52 Args:
53 name (str): Name of the record event.
54 event_type (TracerEventType, optional): Optional, default value is
55 `TracerEventType.PythonUserDefined`. It is reserved for internal
56 purpose, and it is better not to specify this parameter.
57
58 Examples:
59 .. code-block:: pycon
60 :name: code-example1
61
62 >>> import paddle
63 >>> import paddle.profiler as profiler
64 >>> # method1: using context manager
65 >>> paddle.seed(2023)
66 >>> with profiler.RecordEvent("record_add"):
67 ... data1 = paddle.randn(shape=[3])
68 ... data2 = paddle.randn(shape=[3])
69 ... result = data1 + data2
70 >>> # method2: call begin() and end()
71 >>> record_event = profiler.RecordEvent("record_add")
72 >>> record_event.begin()
73 >>> data1 = paddle.randn(shape=[3])
74 >>> data2 = paddle.randn(shape=[3])
75 >>> result = data1 + data2
76 >>> record_event.end()
77
78 Note:
79 RecordEvent will take effect only when :ref:`Profiler <api_paddle_profiler_Profiler>` is on and at the state of `RECORD`.
80 """
81
82 name: str
83 event_type: TracerEventType
84 event: _RecordEvent | None
85
86 def __init__(
87 self,
88 name: str,
89 event_type: TracerEventType = TracerEventType.PythonUserDefined,
90 ) -> None:
91 self.name = name
92 self.event_type = event_type
93 self.event = None
94
95 def __enter__(self) -> Self:
96 self.begin()
97 return self
98
99 def __exit__(
100 self,
101 exc_type: type[BaseException] | None,
102 exc_value: BaseException | None,
103 traceback: types.TracebackType | None,
104 ) -> None:
105 self.end()

Callers 3

wrapperFunction · 0.70
startMethod · 0.70
stepMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected