Skip to content

Commit cd2cf51

Browse files
authored
adding metric to sender (#155)
1 parent 2ea25ad commit cd2cf51

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

Diff for: v2/sender.go

+13-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"time"
88

99
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus"
10+
"github.com/Azure/go-shuttle/v2/metrics/sender"
1011
)
1112

1213
const (
@@ -77,8 +78,14 @@ func (d *Sender) SendMessage(ctx context.Context, mb MessageBody, options ...fun
7778

7879
select {
7980
case <-ctx.Done():
81+
sender.Metric.IncSendMessageFailureCount()
8082
return fmt.Errorf("failed to send message: %w", ctx.Err())
8183
case err := <-errChan:
84+
if err == nil {
85+
sender.Metric.IncSendMessageSuccessCount()
86+
} else {
87+
sender.Metric.IncSendMessageFailureCount()
88+
}
8289
return err
8390
}
8491

@@ -129,9 +136,6 @@ func (d *Sender) SendMessageBatch(ctx context.Context, messages []*azservicebus.
129136
ctx, cancel = context.WithTimeout(ctx, d.options.SendTimeout)
130137
defer cancel()
131138
}
132-
if err := d.sbSender.SendMessageBatch(ctx, batch, nil); err != nil {
133-
return fmt.Errorf("failed to send message batch: %w", err)
134-
}
135139

136140
errChan := make(chan error)
137141

@@ -144,8 +148,14 @@ func (d *Sender) SendMessageBatch(ctx context.Context, messages []*azservicebus.
144148

145149
select {
146150
case <-ctx.Done():
151+
sender.Metric.IncSendMessageFailureCount()
147152
return fmt.Errorf("failed to send message batch: %w", ctx.Err())
148153
case err := <-errChan:
154+
if err == nil {
155+
sender.Metric.IncSendMessageSuccessCount()
156+
} else {
157+
sender.Metric.IncSendMessageFailureCount()
158+
}
149159
return err
150160
}
151161

0 commit comments

Comments
 (0)