コード例 #1
0
ファイル: __init__.py プロジェクト: fantomid/kano-profile
def track_subprocess(name, cmd):
    """ Launch and track the session of a process.

        :param name: Name of the session.
        :type name: str

        :param cmd: The command line (env vars are not supported).
        :type cmd: str
    """

    cmd_args = shlex.split(cmd)
    p = subprocess.Popen(cmd_args)
    pid = p.pid
    session_start(name, pid)
    p.wait()
    session_end(get_session_file_path(name, pid))
コード例 #2
0
def track_subprocess(name, cmd):
    """ Launch and track the session of a process.

        :param name: Name of the session.
        :type name: str

        :param cmd: The command line (env vars are not supported).
        :type cmd: str
    """

    cmd_args = shlex.split(cmd)
    p = subprocess.Popen(cmd_args)
    pid = p.pid
    session_start(name, pid)
    p.wait()
    session_end(get_session_file_path(name, pid))
コード例 #3
0
def test_session_start_no_pid(tracking_session):
    import kano_profile.tracker.tracking_sessions as tracking_sessions
    from kano_profile.tracker.tracking_session import TrackingSession

    tracking_session.setup_sessions([])
    tracking_session.setup_paused_sessions(None)

    test_session = TrackingSession(name='test', pid=os.getpid())
    session_path = tracking_sessions.session_start(test_session.name)

    assert os.path.abspath(session_path) == test_session.path

    with open(test_session.path, 'r') as test_session_f:
        session_data = json.load(test_session_f)

    assert test_session.name == session_data['name']
    assert test_session.pid == session_data['pid']
コード例 #4
0
def test_session_start_with_pid(tracking_session):
    import kano_profile.tracker.tracking_sessions as tracking_sessions
    from kano_profile.tracker.tracking_session import TrackingSession

    tracking_session.setup_sessions([])
    tracking_session.setup_paused_sessions(None)

    test_session = TrackingSession(name='test', pid=1234)
    session_path = tracking_sessions.session_start(
        test_session.name, test_session.pid
    )

    assert os.path.abspath(session_path) == test_session.path

    with open(test_session.path, 'r') as test_session_f:
        session_data = json.load(test_session_f)

    assert test_session.name == session_data['name']
    assert test_session.pid == session_data['pid']
コード例 #5
0
ファイル: tracker.py プロジェクト: isabella232/kano-profile
 def __init__(self):
     self.path = session_start(get_program_name())
     atexit.register(self._write_times)