Beispiel #1
0
    def do_work():
        fifo_msg = 'memory report' if not args.minimize_memory_usage else \
                   'minimize memory report'
        new_files = utils.notify_and_pull_files(
            fifo_msg=fifo_msg,
            outfiles_prefixes=['memory-report-'],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir,
            optional_outfiles_prefixes=['dmd-'])

        memory_report_files = [f for f in new_files
                               if f.startswith('memory-report-') or
                                  f.startswith('unified-memory-report-')]
        dmd_files = [f for f in new_files if f.startswith('dmd-')]
        if memory_report_files:
            merged_reports_path = os.path.abspath(merge_files(out_dir, memory_report_files))
        else:
            # NB: It's possible this can happen if all child processes
            #     die/restart during measurement.
            merged_reports_path = None

        utils.pull_procrank_etc(out_dir)

        if not args.keep_individual_reports:
            for f in memory_report_files:
                os.remove(os.path.join(out_dir, f))

        return (out_dir,
                merged_reports_path,
                [os.path.join(out_dir, f) for f in dmd_files])
Beispiel #2
0
    def do_work():
        signal = "SIGRT0" if not args.minimize_memory_usage else "SIGRT1"
        new_files = utils.send_signal_and_pull_files(
            signal=signal,
            outfiles_prefixes=["memory-report-"],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir,
        )

        merged_reports_path = merge_files(out_dir, new_files)
        utils.pull_procrank_etc(out_dir)

        if not args.keep_individual_reports:
            for f in new_files:
                os.remove(os.path.join(out_dir, f))

        print()
        print(
            textwrap.fill(
                textwrap.dedent(
                    """\
            To view this report, open Firefox on your desktop, load
            about:memory, click "read reports from a file" at the bottom, and
            open %s"""
                    % os.path.abspath(merged_reports_path)
                )
            )
        )
Beispiel #3
0
    def do_work():
        log_filenames = utils.send_signal_and_pull_files(
            signal='SIGRT2',
            outfiles_prefixes=['cc-edges.', 'gc-edges.'],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir)

        compress_logs(log_filenames, out_dir)
        utils.pull_procrank_etc(out_dir)
Beispiel #4
0
    def do_work():
        log_filenames = utils.notify_and_pull_files(
            fifo_msg=fifo_msg,
            outfiles_prefixes=['cc-edges.', 'gc-edges.'],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir)

        if get_procrank_etc:
            utils.pull_procrank_etc(out_dir)

        compress_logs(log_filenames, out_dir)
Beispiel #5
0
    def do_work():
        log_filenames = utils.notify_and_pull_files(
            fifo_msg=fifo_msg,
            outfiles_prefixes=['cc-edges.', 'gc-edges.'],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir)

        if get_procrank_etc:
            utils.pull_procrank_etc(out_dir)

        compress_logs(log_filenames, out_dir)
Beispiel #6
0
    def do_work():
        signal = 'SIGRT0' if not args.minimize_memory_usage else 'SIGRT1'
        new_files = utils.send_signal_and_pull_files(
            signal=signal,
            outfiles_prefixes=['memory-report-'],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir)

        merged_reports_path = merge_files(out_dir, new_files)
        utils.pull_procrank_etc(out_dir)

        if not args.keep_individual_reports:
            for f in new_files:
                os.remove(os.path.join(out_dir, f))

        return os.path.abspath(merged_reports_path)
Beispiel #7
0
    def do_work():
        signal = "SIGRT0" if not args.minimize_memory_usage else "SIGRT1"
        new_files = utils.send_signal_and_pull_files(
            signal=signal,
            outfiles_prefixes=["memory-report-"],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir,
        )

        merged_reports_path = merge_files(out_dir, new_files)
        utils.pull_procrank_etc(out_dir)

        if not args.keep_individual_reports:
            for f in new_files:
                os.remove(os.path.join(out_dir, f))

        return os.path.abspath(merged_reports_path)
Beispiel #8
0
    def do_work():
        fifo_msg = "memory report" if not args.minimize_memory_usage else "minimize memory report"
        new_files = utils.notify_and_pull_files(
            fifo_msg=fifo_msg,
            outfiles_prefixes=["memory-report-"],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir,
            optional_outfiles_prefixes=["dmd-"],
        )

        memory_report_files = [f for f in new_files if f.startswith("memory-report-")]
        dmd_files = [f for f in new_files if f.startswith("dmd-")]
        merged_reports_path = merge_files(out_dir, memory_report_files)
        utils.pull_procrank_etc(out_dir)

        if not args.keep_individual_reports:
            for f in memory_report_files:
                os.remove(os.path.join(out_dir, f))

        return (out_dir, os.path.abspath(merged_reports_path), [os.path.join(out_dir, f) for f in dmd_files])
Beispiel #9
0
    def do_work():
        signal = 'SIGRT0' if not args.minimize_memory_usage else 'SIGRT1'
        new_files = utils.send_signal_and_pull_files(
            signal=signal,
            outfiles_prefixes=['memory-report-'],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir,
            optional_outfiles_prefixes=['dmd-'])

        memory_report_files = [f for f in new_files if f.startswith('memory-report-')]
        dmd_files = [f for f in new_files if f.startswith('dmd-')]
        merged_reports_path = merge_files(out_dir, memory_report_files)
        utils.pull_procrank_etc(out_dir)

        if not args.keep_individual_reports:
            for f in memory_report_files:
                os.remove(os.path.join(out_dir, f))

        return (os.path.abspath(merged_reports_path),
                [os.path.join(out_dir, f) for f in dmd_files])
Beispiel #10
0
    def do_work():
        fifo_msg = 'memory report' if not args.minimize_memory_usage else \
                   'minimize memory report'
        new_files = utils.notify_and_pull_files(
            fifo_msg=fifo_msg,
            outfiles_prefixes=['memory-report-'],
            remove_outfiles_from_device=not args.leave_on_device,
            out_dir=out_dir,
            optional_outfiles_prefixes=['dmd-'])

        memory_report_files = [f for f in new_files if f.startswith('memory-report-')]
        dmd_files = [f for f in new_files if f.startswith('dmd-')]
        merged_reports_path = merge_files(out_dir, memory_report_files)
        utils.pull_procrank_etc(out_dir)

        if not args.keep_individual_reports:
            for f in memory_report_files:
                os.remove(os.path.join(out_dir, f))

        return (out_dir,
                os.path.abspath(merged_reports_path),
                [os.path.join(out_dir, f) for f in dmd_files])