Skip to content

Check probe names and values against forbidden characters, or handle those safely #6

@pflanze

Description

@pflanze

Probe names and values (from the EVOBENCH_SCOPE, EVOBENCH_POINT and EVOBENCH_KEY_VALUE CPP macros) are used in the generation of path strings which are used as key names in the output tables (Excel), but also flame graphs.

E.g. "thread;main|main;sum_of_fibs n=0;main|sum_of_fibs" is a path with 3 stack frames in the format passed to the flame graph library, which splits it into stack frames on the ';' character. This means that probe names cannot use the ';' themselves or it will lead to wrong and confusing output.

So, should either figure out a way to use the flame graph library so that it accepts the ';', too (perhaps requires patching it), or check probe names and values and signal an error to the user, that's better than silently produce nonsensible output.

In Excel, anything(?) is OK, except I use ' < ' and ' > ' in the paths there as separators, and using those strings in probe names and values would be confusing to the human reader. Either do some escaping, or also refuse to accept such probe names.

Not urgent, but should not be forgotten.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions