Granulate / gprofiler

gProfiler is a system-wide profiler, combining multiple sampling profilers to produce unified visualization of what your CPU is spending time on.
https://profiler.granulate.io
Apache License 2.0
754 stars 54 forks source link

perf: Correctly parse frames with " (" in them #753

Closed Jongy closed 1 year ago

Jongy commented 1 year ago

Closes: https://github.com/Granulate/gprofiler/issues/673

Jongy commented 1 year ago

This now fails another test:

    def test_collapse_stack_consider_dso(stack: str, insert_dso_name: bool, outcome_dict: Dict[str, str]) -> None:
        expected = f"program;{outcome_dict['dso_true' if insert_dso_name else 'dso_false']}"
>       assert expected == _collapse_stack("program", stack, insert_dso_name)
E       AssertionError: assert 'program;(/li...so (deleted))' == 'program;[unk...so (deleted))'
E         - program;[unknown] (/lib/libudev.so (deleted))
E         ?         ----------
E         + program;(/lib/libudev.so (deleted))
Jongy commented 1 year ago

Looks good.