This is the intermediate file format which flamegraph works on. This file can be used to run flamegraph manually or to make diffs comparing two runs.
With the -json switch the output file is instead written as a json file.
The -discard-module flag only includes the function names in the profile, causing shorter identifiers in the graph.
The -modules-only flag only lists the modules and tries to collapse intra-module calls, providing an overview of the profile on module level and how the modules are called.
The thread-group argument allow filtering on threads which have a certain name.
The output file is specified with the output-filename argument.