github.com/prom3t3us/turbocookedrabbit@v1.2.4/tests/main_benchpool_test.go (about) 1 package main_test 2 3 import ( 4 "context" 5 "runtime/trace" 6 "testing" 7 8 "github.com/prom3t3us/turbocookedrabbit/pools" 9 "github.com/prom3t3us/turbocookedrabbit/utils" 10 "github.com/streadway/amqp" 11 ) 12 13 func BenchmarkGetMultiChannelAndPublish(b *testing.B) { 14 b.ReportAllocs() 15 _, task := trace.NewTask(context.Background(), "BenchmarkGetMultiChannelAndPublish") 16 defer task.End() 17 18 messageSize := 1000 19 channelPool, _ := pools.NewChannelPool(Seasoning.PoolConfig, nil, true) 20 letter := utils.CreateMockRandomLetter("ConsumerTestQueue") 21 poolErrors := 0 22 23 for i := 0; i < messageSize; i++ { 24 channelHost, err := channelPool.GetChannel() 25 if err != nil { 26 poolErrors++ 27 continue 28 } 29 30 go func() { 31 err := channelHost.Channel.Publish( 32 letter.Envelope.Exchange, 33 letter.Envelope.RoutingKey, 34 letter.Envelope.Mandatory, 35 letter.Envelope.Immediate, 36 amqp.Publishing{ 37 ContentType: letter.Envelope.ContentType, 38 Body: letter.Body, 39 }) 40 41 if err != nil { 42 b.Log(err) 43 } 44 }() 45 46 channelPool.ReturnChannel(channelHost, false) 47 } 48 } 49 50 func BenchmarkGetSingleChannelAndPublish(b *testing.B) { 51 b.ReportAllocs() 52 _, task := trace.NewTask(context.Background(), "BenchmarkGetSingleChannelAndPublish") 53 defer task.End() 54 55 messageSize := 1000 56 channelPool, _ := pools.NewChannelPool(Seasoning.PoolConfig, nil, true) 57 letter := utils.CreateMockRandomLetter("ConsumerTestQueue") 58 59 var err error 60 channelHost, err := channelPool.GetChannel() 61 if err != nil { 62 b.Log(err.Error()) 63 } 64 65 for i := 0; i < messageSize; i++ { 66 err = channelHost.Channel.Publish( 67 letter.Envelope.Exchange, 68 letter.Envelope.RoutingKey, 69 letter.Envelope.Mandatory, 70 letter.Envelope.Immediate, 71 amqp.Publishing{ 72 ContentType: letter.Envelope.ContentType, 73 Body: letter.Body, 74 }) 75 76 if err != nil { 77 b.Log(err) 78 } 79 } 80 81 channelPool.ReturnChannel(channelHost, false) 82 }