igorkasyanchuk/rails_performance

question: why append RailsPerformance::Extensions to LogSubscriber instead of integrating with Rails notifications directly

Open

#31 opened on May 3, 2021

 (1 comment) (3 reactions) (0 assignees)Ruby (91 forks)github user discovery
help wanted

Repository metrics

Stars
 (1,237 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

I installed rails_performance on a rails 6.x application and ran a number of page requests. "Recent Requests" included everything as expected. However, the trace info for every request via TraceReport data section was blank.

My rails application uses rails_semantic_logger, which replaces the default ActionView::LogSubscriber and ActiveRecord::LogSubscriber. This prevented rails_performance from tracking the logsubscriber events.

I was able to resolve this by appending the RailsPerformance::Extensions::Db module to the appropriate RailsSemanticLogger LogSubscriber class.

Since ActiveSupport::LogSubscriber is just a logger specific ActiveSupport::Notifications subscriber, why doesn't RailsPerformance just bypass the LogSubscriber altogether and use ActiveSupport::Notifications directly?

If RailsPerformance can use the Notifications directly, would you be comfortable accepting an outside PR?

Contributor guide