Skip to content

profile

The shared ProfileController. Import it with from linescope import profile. profiler is an alias for the same object.

callable instance linescope.profile(**options)[source]

Create a session with Config options.

This does not replace the session retained by start().

Parameters

**options

Configuration fields overriding project defaults for this session. Collection begins when entering the context or calling start.

Attributes

result : ProfileResult

Read-only access to the latest explicit session's session.result. Finalized by stop().

Returns

Session

A new session in the created state.


See Also

Config

Configure a single profiling session.

ProfileResult

Combine portable source snapshots with backend-independent run data.

Session

Collect source measurements and render an HTML report.


Example

>>> from linescope import profile, profiler

>>> profiler is profile
True
>>> with profile(
...     backend="trace", display="none", notebooks=False, spark=False
... ) as session:
...     total = sum(range(10))

>>> (total, str(session.state), str(session.result.backend))
(45, 'stopped', 'trace')


Methods

start Start a new session using explicit Config options.
stop Stop the current explicit session without returning its result.
save Save the current session without displaying it.
show Display the current session.


method start(**options)[source]

Start a new session using explicit Config options.

Example

>>> from linescope import ProfileController

>>> controller = ProfileController()
>>> session = controller.start(
...     backend="trace", display="none", notebooks=False, spark=False
... )
>>> total = sum(range(10))
>>> controller.stop()
>>> result = controller.result
>>> (total, str(session.state), str(result.backend))
(45, 'stopped', 'trace')
Parameters

**options

Configuration fields for the new session. Use display="none" to collect without displaying a report automatically at stop.

Returns

Session

The running session retained by this controller.



method stop()[source]

Stop the current explicit session without returning its result.

Instrumentation is restored before any configured report display. Retrieve the completed result through profile.result or session.result. Repeated calls do nothing without displaying again.



method save(path)[source]

Save the current session without displaying it.

Parameters

path : str | Path

Destination HTML filename. Missing parent directories are created. Stop collection first when saving a finalized sampling result.

Returns

Path

Absolute path of the self-contained report.



method show(inline=None)[source]

Display the current session.

Reports display inside notebook cells automatically and open a browser elsewhere. Use inline to choose the destination for this report. Return None; retrieve the HTML string through session.html(). Stop collection first when displaying a finalized sampling result.

Parameters

inline : bool | None, default=None

Choose the destination for this report. None detects the environment; True requires a notebook, and False opens a browser.