The idea of firestorm-core was to try to make a small API subset so that multiple versions of firestorm with the potential for backward incompatable API changes between them could share common data so that profiling all dependencies would still work. This probably fell short, but it's a step toward that.
A tiny record of a method call which when played back can construct a profiling state. Several representations were considered, the most elaborate of which would write variable length data to the event stream. Ideally, data would be an &'static EventData to avoid writing more data than is necessary but limitations in the Rust compiler prevent this.
A lazy string format.