Skip to content

Commit 4663af7

Browse files
committed
Merge pull request #55922 from Shopify/event_subscriber_additionss
Add missing structured event data for logs
1 parent 91f7bfd commit 4663af7

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

actionpack/lib/action_controller/structured_event_subscriber.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ def process_action(event)
3434
controller: payload[:controller],
3535
action: payload[:action],
3636
status: status,
37+
**additions_for(payload),
3738
duration_ms: event.duration.round(2),
3839
gc_time_ms: event.gc_time.round(1),
3940
}.compact)
@@ -101,6 +102,10 @@ def fragment_cache(method_name, event)
101102
duration_ms: event.duration.round(1)
102103
)
103104
end
105+
106+
def additions_for(payload)
107+
payload.slice(:view_runtime, :db_runtime, :queries_count, :cached_queries_count)
108+
end
104109
end
105110
end
106111

activejob/lib/active_job/structured_event_subscriber.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ def enqueue_all(event)
6464
job_count: jobs.size,
6565
enqueued_count: enqueued_count,
6666
failed_enqueue_count: failed_count,
67-
enqueued_classes: jobs.filter_map { |job| job.class.name }.tally
67+
enqueued_classes: jobs.filter_map do |job|
68+
job.class.name if jobs.count == enqueued_count || job.successfully_enqueued?
69+
end.tally
6870
)
6971
end
7072

@@ -85,10 +87,12 @@ def perform_start(event)
8587
def perform(event)
8688
job = event.payload[:job]
8789
exception = event.payload[:exception_object]
90+
adapter = event.payload[:adapter]
8891
payload = {
8992
job_class: job.class.name,
9093
job_id: job.job_id,
9194
queue: job.queue_name,
95+
adapter: ActiveJob.adapter_name(adapter),
9296
aborted: event.payload[:aborted],
9397
duration: event.duration.round(2),
9498
}

activejob/test/cases/structured_event_subscriber_test.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ def test_perform_failed_job
159159
end
160160
end
161161

162+
assert event[:payload][:exception_backtrace].is_a?(Array)
162163
assert event[:payload][:job_id].present?
163164
assert event[:payload][:duration].is_a?(Numeric)
164165
end
@@ -173,6 +174,7 @@ def test_enqueue_failed_job
173174
assert_event_reported("active_job.enqueued", payload: {
174175
job_class: failing_enqueue_job_class.name,
175176
queue: "default",
177+
adapter: ActiveJob.adapter_name(ActiveJob::Base.queue_adapter),
176178
exception_class: "StandardError",
177179
exception_message: "Enqueue failed"
178180
}) do
@@ -192,6 +194,7 @@ def test_enqueue_aborted_job
192194
assert_event_reported("active_job.enqueued", payload: {
193195
job_class: aborting_enqueue_job_class.name,
194196
queue: "default",
197+
adapter: ActiveJob.adapter_name(ActiveJob::Base.queue_adapter),
195198
aborted: true,
196199
}) do
197200
aborting_enqueue_job_class.perform_later

activerecord/lib/active_record/structured_event_subscriber.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def strict_loading_violation(event)
1212

1313
emit_debug_event("active_record.strict_loading_violation",
1414
owner: owner.name,
15-
class: reflection.klass.name,
15+
class: reflection.polymorphic? ? nil : reflection.klass.name,
1616
name: reflection.name,
1717
)
1818
end

0 commit comments

Comments
 (0)