You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Seems there's already a request in #69 for binary data in the form of already stringified JSON. I would like to also suggest a pprof-encoded array buffer. The structure of the pprof format can be seen here: https://github.com/google/pprof/blob/master/proto/profile.proto. It has a lot of similarities to the structure we already have for ProfilerTrace, just in binary format. It's also more space-efficient as it has a string table not only for file names but for every other string in the structure too. The rest of the data is 100% numeric, which makes encoding and parsing the non-string part of the body highly efficient, plus the protobuf format allows for out-of-order fields so the string table can simply be concatenated to the end of the binary data. It's a highly efficient format and already has all the features we need. 😸
The format also uses a very limited subset of protobuf so it would be very possible to use a custom encoder. I've written one in C before and I'm happy to clean that up and make it available to all who would need it.
Exporting pprof data would also give us access to an already existing library of tooling around analysis and visualization of pprof data, so that's a big win over inventing yet another custom format. 😅
The text was updated successfully, but these errors were encountered:
Seems there's already a request in #69 for binary data in the form of already stringified JSON. I would like to also suggest a pprof-encoded array buffer. The structure of the pprof format can be seen here: https://github.com/google/pprof/blob/master/proto/profile.proto. It has a lot of similarities to the structure we already have for ProfilerTrace, just in binary format. It's also more space-efficient as it has a string table not only for file names but for every other string in the structure too. The rest of the data is 100% numeric, which makes encoding and parsing the non-string part of the body highly efficient, plus the protobuf format allows for out-of-order fields so the string table can simply be concatenated to the end of the binary data. It's a highly efficient format and already has all the features we need. 😸
The format also uses a very limited subset of protobuf so it would be very possible to use a custom encoder. I've written one in C before and I'm happy to clean that up and make it available to all who would need it.
Exporting pprof data would also give us access to an already existing library of tooling around analysis and visualization of pprof data, so that's a big win over inventing yet another custom format. 😅
The text was updated successfully, but these errors were encountered: