The main trait has been renamed from ProfilerMarker to Marker, and a
new trait named StaticSchemaMarker has been added.
The static and dynamic fields in the marker schema are now specified
separately, in the schema's fields and static_fields properties.
You can now define schemas at runtime. Previously, the schema had to
be known at compile time.
The marker name and category are now part of the marker, and are no
longer specified as separate arguments.
The values for the dynamic fields are now queried from two new methods,
string_field_value and number_field_value. The previous method named
json_marker_data has been removed.
Strings are now serialized as string indexes. This saves space when
multiple markers use the same string field value.
The string deduplication reduced the JSON size from 350MB to 210MB on
one example profile I was testing with (4 iterations of sp3 with lots of
JitFunctionAdd markers and --reuse-threads).
This commit makes the following changes:
fields
andstatic_fields
properties.The string deduplication reduced the JSON size from 350MB to 210MB on one example profile I was testing with (4 iterations of sp3 with lots of JitFunctionAdd markers and --reuse-threads).