Skip to content

Commit cd3a1df

Browse files
committed
Set root op instead of nested spans
1 parent af385ba commit cd3a1df

File tree

3 files changed

+20
-22
lines changed

3 files changed

+20
-22
lines changed

sentry-sidekiq/lib/sentry/sidekiq/sentry_context_middleware.rb

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
module Sentry
66
module Sidekiq
77
class SentryContextServerMiddleware
8-
OP_NAME = "queue.sidekiq"
8+
OP_NAME = "queue.process"
99
SPAN_ORIGIN = "auto.queue.sidekiq"
1010

1111
def call(worker, job, queue)
@@ -23,20 +23,18 @@ def call(worker, job, queue)
2323
scope.set_contexts(sidekiq: job.merge("queue" => queue))
2424
scope.set_transaction_name(context_filter.transaction_name, source: :task)
2525
transaction = start_transaction(scope, job["trace_propagation_headers"])
26-
scope.set_span(transaction) if transaction
26+
27+
if transaction
28+
scope.set_span(transaction)
29+
30+
transaction.set_data("messaging.message.id", job["jid"])
31+
transaction.set_data("messaging.destination.name", queue)
32+
transaction.set_data("messaging.message.receive.latency", ((Time.now.to_f - job["enqueued_at"]) * 1000).to_i)
33+
transaction.set_data("messaging.message.retry.count", job["retry_count"] || 0)
34+
end
2735

2836
begin
29-
Sentry.with_child_span(op: "queue.process", description: "Process #{worker.class.name}") do |span|
30-
# Set span data
31-
if span
32-
span.set_data("messaging.message.id", job["jid"])
33-
span.set_data("messaging.destination.name", queue)
34-
span.set_data("messaging.message.receive.latency", ((Time.now.to_f - job["enqueued_at"]) * 1000).to_i)
35-
span.set_data("messaging.message.retry.count", job["retry_count"] || 0)
36-
end
37-
38-
yield
39-
end
37+
yield
4038
rescue
4139
finish_transaction(transaction, 500)
4240
raise

sentry-sidekiq/spec/sentry/sidekiq/sentry_context_middleware_spec.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,17 @@
7373

7474
transaction = transport.events[0]
7575
expect(transaction).not_to be_nil
76-
expect(transaction.spans.count).to eq(1)
77-
expect(transaction.spans[0][:data]['messaging.message.id']).to eq('123123') # Default defined in #execute_worker
78-
expect(transaction.spans[0][:data]['messaging.destination.name']).to eq('default')
79-
expect(transaction.spans[0][:data]['messaging.message.retry.count']).to eq(0)
76+
expect(transaction.spans.count).to eq(0)
77+
expect(transaction.contexts[:trace][:data]['messaging.message.id']).to eq('123123') # Default defined in #execute_worker
78+
expect(transaction.contexts[:trace][:data]['messaging.destination.name']).to eq('default')
79+
expect(transaction.contexts[:trace][:data]['messaging.message.retry.count']).to eq(0)
8080

8181
transaction = transport.events[1]
8282
expect(transaction).not_to be_nil
83-
expect(transaction.spans.count).to eq(1)
84-
expect(transaction.spans[0][:data]['messaging.message.id']).to eq('123456') # Explicitly set above.
85-
expect(transaction.spans[0][:data]['messaging.destination.name']).to eq('default')
86-
expect(transaction.spans[0][:data]['messaging.message.retry.count']).to eq(0)
83+
expect(transaction.spans.count).to eq(0)
84+
expect(transaction.contexts[:trace][:data]['messaging.message.id']).to eq('123456') # Explicitly set above.
85+
expect(transaction.contexts[:trace][:data]['messaging.destination.name']).to eq('default')
86+
expect(transaction.contexts[:trace][:data]['messaging.message.retry.count']).to eq(0)
8787
end
8888

8989
context "with trace_propagation_headers" do

sentry-sidekiq/spec/sentry/sidekiq_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ def retry_last_failed_job
223223
expect(transaction.contexts.dig(:trace, :trace_id)).to be_a(String)
224224
expect(transaction.contexts.dig(:trace, :span_id)).to be_a(String)
225225
expect(transaction.contexts.dig(:trace, :status)).to eq("ok")
226-
expect(transaction.contexts.dig(:trace, :op)).to eq("queue.sidekiq")
226+
expect(transaction.contexts.dig(:trace, :op)).to eq("queue.process")
227227
end
228228

229229
it "records transaction with exception" do

0 commit comments

Comments
 (0)