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
Describe the solution you'd like
Currently our biggest performance hit is repeatedly marshalling bytes <=> proto. There is technically no reason to unmarshal from bytes to proto before writing a trace to the WAL. We really would only need to do this if the trace were queried, but we do it to every single trace.
This is the object that we are currently writing and reading from the WAL. To do this we would need to write a different object that contained all of the unmarshalled byte slices.
The text was updated successfully, but these errors were encountered:
Describe the solution you'd like
Currently our biggest performance hit is repeatedly marshalling bytes <=> proto. There is technically no reason to unmarshal from bytes to proto before writing a trace to the WAL. We really would only need to do this if the trace were queried, but we do it to every single trace.
Let's remove this marshal/unmarshal for performance. I believe the complexity of this change will come from here:
https://github.com/grafana/tempo/blob/main/modules/ingester/trace.go#L14.
This is the object that we are currently writing and reading from the WAL. To do this we would need to write a different object that contained all of the unmarshalled byte slices.
The text was updated successfully, but these errors were encountered: