Skip to content

[Enhancement] Not seeing spans for code inside goroutines #593

@rhyek

Description

@rhyek

Version of orchestrion v1.3.0

Describe what happened: Serialized db queries using sqlx were generating spans. Once moved to a sync.WaitGroup I no longer see them.

Describe what you expected: I expect to see the concurrent sql queries in DataDog.

Steps to reproduce the issue:

Can see spans:

	for _, queue := range currentQueuesWithoutConsumers {
		slog.Info("found queue without consumers", "queue", queue.Name, "messages", queue.Messages)
		id := uuid.New().String()
		db.MustExec(`
			INSERT INTO "InfraRabbitMqQueueWithoutConsumers" (id, vhost, "queueName", messages)
			VALUES ($1, $2, $3, $4)
		`, id, rmq.vhost, queue.Name, queue.Messages)
		latestRowId[queue.Name] = id
	}

No spans:

	var wg sync.WaitGroup
	for _, queue := range currentQueuesWithoutConsumers {
		wg.Add(1)
		go func(q Queue) {
			defer wg.Done()
			logger.Info("found queue without consumers", "queue", q.Name, "messages", q.Messages)
			id := uuid.New().String()
			db.MustExec(`
				INSERT INTO "InfraRabbitMqQueueWithoutConsumers" (id, vhost, "queueName", messages)
				VALUES ($1, $2, $3, $4)
			`, id, rmq.vhost, q.Name, q.Messages)
			latestRowId[q.Name] = id
		}(queue)
	}
	wg.Wait()

In both cases I am seeing the logs (sent directly to DataDog API using https://github.com/samber/slog-datadog)

Additional environment details (Version of Go, Operating System, etc.):
Go 1.23.4
Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions