Add telemetry around task statuses in controller (#2090)

* add telemetry around task statuses in controller

* fixes

* more fixes
This commit is contained in:
Mohammed Nafees
2025-08-06 14:41:54 +02:00
committed by GitHub
parent 67e8e89f95
commit 89e6d00a8f
3 changed files with 95 additions and 9 deletions

View File

@@ -8,6 +8,7 @@ import (
"github.com/google/uuid"
"github.com/rs/zerolog"
"go.opentelemetry.io/otel/codes"
"golang.org/x/sync/errgroup"
"github.com/hatchet-dev/hatchet/internal/cache"
@@ -107,7 +108,18 @@ func (p *PostgresMessageQueue) SetQOS(prefetchCount int) {
}
func (p *PostgresMessageQueue) SendMessage(ctx context.Context, queue msgqueue.Queue, task *msgqueue.Message) error {
return p.addMessage(ctx, queue, task)
ctx, span := telemetry.NewSpan(ctx, "PostgresMessageQueue.SendMessage")
defer span.End()
err := p.addMessage(ctx, queue, task)
if err != nil {
span.RecordError(err)
span.SetStatus(codes.Error, "error adding message")
return err
}
return nil
}
func (p *PostgresMessageQueue) addMessage(ctx context.Context, queue msgqueue.Queue, task *msgqueue.Message) error {

View File

@@ -12,6 +12,7 @@ import (
lru "github.com/hashicorp/golang-lru/v2"
amqp "github.com/rabbitmq/amqp091-go"
"github.com/rs/zerolog"
"go.opentelemetry.io/otel/codes"
msgqueue "github.com/hatchet-dev/hatchet/internal/msgqueue/v1"
"github.com/hatchet-dev/hatchet/internal/queueutils"
@@ -172,7 +173,18 @@ func (t *MessageQueueImpl) SetQOS(prefetchCount int) {
}
func (t *MessageQueueImpl) SendMessage(ctx context.Context, q msgqueue.Queue, msg *msgqueue.Message) error {
return t.pubMessage(ctx, q, msg)
ctx, span := telemetry.NewSpan(ctx, "MessageQueueImpl.SendMessage")
defer span.End()
err := t.pubMessage(ctx, q, msg)
if err != nil {
span.RecordError(err)
span.SetStatus(codes.Error, "error publishing message")
return err
}
return nil
}
func (t *MessageQueueImpl) pubMessage(ctx context.Context, q msgqueue.Queue, msg *msgqueue.Message) error {