adds tracing for all bus calls that passes ctx (#29434)

Signed-off-by: bergquist <carl.bergquist@gmail.com>
This commit is contained in:
Carl Bergquist 2020-11-27 14:58:45 +01:00 committed by GitHub
parent 107f658229
commit cffc1b13ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View File

@ -433,7 +433,7 @@ func NotificationTest(c *models.ReqContext, dto dtos.NotificationTestCommand) Re
SecureSettings: dto.SecureSettings,
}
if err := bus.Dispatch(cmd); err != nil {
if err := bus.DispatchCtx(c.Req.Context(), cmd); err != nil {
if errors.Is(err, models.ErrSmtpNotEnabled) {
return Error(412, err.Error(), err)
}

View File

@ -5,6 +5,8 @@ import (
"errors"
"fmt"
"reflect"
"github.com/opentracing/opentracing-go"
)
// HandlerFunc defines a handler function interface.
@ -84,6 +86,11 @@ func (b *InProcBus) SetTransactionManager(tm TransactionManager) {
func (b *InProcBus) DispatchCtx(ctx context.Context, msg Msg) error {
var msgName = reflect.TypeOf(msg).Elem().Name()
span, ctx := opentracing.StartSpanFromContext(ctx, "bus - "+msgName)
defer span.Finish()
span.SetTag("msg", msgName)
var handler = b.handlersWithCtx[msgName]
if handler == nil {
return ErrHandlerNotFound

View File

@ -30,10 +30,10 @@ var (
)
func init() {
bus.AddHandler("alerting", handleNotificationTestCommand)
bus.AddHandlerCtx("alerting", handleNotificationTestCommand)
}
func handleNotificationTestCommand(cmd *NotificationTestCommand) error {
func handleNotificationTestCommand(ctx context.Context, cmd *NotificationTestCommand) error {
notifier := newNotificationService(nil)
model := &models.AlertNotification{