go-libaudit
go-libaudit copied to clipboard
auparse: add new AuditMessage.Parse method to allow preallocated messages
This commit moves message parsing into a new AuditMessage.Parse method. The existing Parse() function allocates an *AuditMessage and calls the method, keeping the API consistent.
This allows the caller to use a pool of preallocated messages to prevent GC churn, which can cause dropped messages when there is a lot of audit activity.
I don't understand how this patch allows for reduced allocations. AuditMessage.RawData is a string, how can it be preallocated?