jina.logging.profile module
jina.logging.profile.used_memory(unit=1073741824)[source]
Get the memory usage of the current process.
Parameters
unit (
int
) – Unit of the memory, default in Gigabytes.Return type
float
Returns
Memory usage of the current process.
jina.logging.profile.used_memory_readable()[source]
Get the memory usage of the current process in a human-readable format.
Return type
str
Returns
Memory usage of the current process.
jina.logging.profile.profiling(func)[source]
Create the Decorator to mark a function for profiling. The time and memory usage will be recorded and printed.
Example: .. highlight:: python .. code-block:: python
@profiling def foo():
print(1)
Parameters
func – function to be profiled
Returns
arguments wrapper
class jina.logging.profile.TimeDict[source]
Bases: object
Records of time information.
reset()[source]
Clear the time information.
class jina.logging.profile.TimeContext(task_name, logger=None)[source]
Bases: object
Timing a code snippet with a context manager.
Create the context manager to timing a code snippet.
Parameters
task_name (
str
) – The context/message.logger (
Optional
[JinaLogger]) – Use existing logger or use naiveprint()
.
Example: .. highlight:: python .. code-block:: python
with TimeContext(‘loop’):
do_busy()
time_attrs = [‘years’, ‘months’, ‘days’, ‘hours’, ‘minutes’, ‘seconds’]
now()[source]
Get the passed time from start to now.
Return type
float
Returns
passed time
class jina.logging.profile.ProgressBar(description=’Working…’, message_on_done=None, final_line_feed=True, total_length=None)[source]
Bases: jina.logging.profile.TimeContext
A simple progress bar.
Example:
with ProgressBar('loop'):
do_busy()
Create the ProgressBar.
Parameters
description (
str
) – The name of the task, will be displayed in front of the bar.message_on_done (
Union
[str
,Callable
[…,str
],None
]) – The final message to print when the progress is completefinal_line_feed (
bool
) – if False, the line will not get a Line Feed and thus is easily overwritable.total_length (
Optional
[int
]) – if set, then every update() increases the bar by 1/total_length * _bars_on_row
col_width = 100
clear_line = ‘\r \r’
spinner = <itertools.cycle object>
update(progress=1.0, description=None, message=None, status=ProgressBarStatus.WORKING, first_enter=False)[source]
Increment the progress bar by one unit.
Parameters
progress (
float
) – The number of unit to increment.description (
Optional
[str
]) – Change the description text before the progress bar on update.message (
Optional
[str
]) – Change the message text followed after the progress bar on update.status (ProgressBarStatus) – If set to a value, it will mark the task as complete, can be either “Done” or “Canceled”
first_enter (
bool
) – if this method is called by __enter__
Return type
None