Improved poor memory efficiency of awslogs
Signed-off-by: YAMASAKI Masahide <masahide.y@gmail.com> Upstream-commit: 524f30634018ce619da61aa0a13dad245e098226 Component: engine
This commit is contained in:
@@ -590,9 +590,9 @@ func (slice byTimestamp) Swap(i, j int) {
|
||||
}
|
||||
|
||||
func unwrapEvents(events []wrappedEvent) []*cloudwatchlogs.InputLogEvent {
|
||||
cwEvents := []*cloudwatchlogs.InputLogEvent{}
|
||||
for _, input := range events {
|
||||
cwEvents = append(cwEvents, input.inputLogEvent)
|
||||
cwEvents := make([]*cloudwatchlogs.InputLogEvent, len(events))
|
||||
for i, input := range events {
|
||||
cwEvents[i] = input.inputLogEvent
|
||||
}
|
||||
return cwEvents
|
||||
}
|
||||
|
||||
@@ -1034,3 +1034,20 @@ func TestCreateTagSuccess(t *testing.T) {
|
||||
t.Errorf("Expected LogStreamName to be %s", "test-container/container-abcdefghijklmnopqrstuvwxyz01234567890")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkUnwrapEvents(b *testing.B) {
|
||||
events := make([]wrappedEvent, maximumLogEventsPerPut)
|
||||
for i := 0; i < maximumLogEventsPerPut; i++ {
|
||||
mes := strings.Repeat("0", maximumBytesPerEvent)
|
||||
events[i].inputLogEvent = &cloudwatchlogs.InputLogEvent{
|
||||
Message: &mes,
|
||||
}
|
||||
}
|
||||
|
||||
as := assert.New(b)
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
res := unwrapEvents(events)
|
||||
as.Len(res, maximumLogEventsPerPut)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user