Add size hint to slice to hopefully have the tag slice allocated on the stack
@@ -317,15 +317,21 @@ func (r StatsTraceReporter) ConsumeEvent(evt rcmgr.TraceEvt) {
// Drop the connection or stream id
scopeName = strings.SplitN(scopeName, "-", 2)[0]
+ // If something else gets added here, make sure to update the size hint
+ // below when we make `tagsWithDir`.
tags := []tag.Mutator{tag.Upsert(scopeTag, scopeName), tag.Upsert(resourceTag, resource)}
if evt.DeltaIn != 0 {
- tagsWithDir := append([]tag.Mutator{tag.Insert(directionTag, "inbound")}, tags...)
- stats.RecordWithTags(ctx, tagsWithDir, blockedResources.M(int64(1)))
+ tagsWithDir := make([]tag.Mutator, 3)
+ tagsWithDir = append(tagsWithDir, tag.Insert(directionTag, "inbound"))
+ tagsWithDir = append(tagsWithDir, tags...)
+ stats.RecordWithTags(ctx, tagsWithDir[0:], blockedResources.M(int64(1)))
}
if evt.DeltaOut != 0 {
- tagsWithDir := append([]tag.Mutator{tag.Insert(directionTag, "outbound")}, tags...)
+ tagsWithDir := make([]tag.Mutator, 3)
+ tagsWithDir = append(tagsWithDir, tag.Insert(directionTag, "outbound"))
+ tagsWithDir = append(tagsWithDir, tags...)
stats.RecordWithTags(ctx, tagsWithDir, blockedResources.M(int64(1)))
}
