Guest User

Untitled

a guest
Jun 19th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. # Have to use ActiveRecord so that New Relic shows it on all graphs.
  2. # The push scope false stuff makes it so that you can track usage by model and overall.
  3. if defined?(NewRelic)
  4. module MongoMapperNewRelic
  5. def self.included(model)
  6. mm_class_methods = [
  7. :find,
  8. :find!,
  9. :paginate,
  10. :first,
  11. :last,
  12. :all,
  13. :count,
  14. :create,
  15. :create!,
  16. :update,
  17. :delete,
  18. :delete_all,
  19. :destroy,
  20. :destroy_all,
  21. :exists?,
  22. :find_by_id,
  23. :increment,
  24. :decrement,
  25. :set,
  26. :push,
  27. :push_all,
  28. :push_uniq,
  29. :pull,
  30. :pull_all
  31. ]
  32.  
  33. model.singleton_class.class_eval do
  34. mm_class_methods.each do |method_name|
  35. add_method_tracer method_name, 'ActiveRecord/#{self.name}/' + method_name.to_s
  36. add_method_tracer method_name, "ActiveRecord/#{method_name}", :push_scope => false
  37. add_method_tracer method_name, "ActiveRecord/all", :push_scope => false
  38. end
  39. end
  40.  
  41. model.class_eval do
  42. add_method_tracer :save, 'ActiveRecord/#{self.class.name}/save'
  43. add_method_tracer :save, 'ActiveRecord/save', :push_scope => false
  44. add_method_tracer :save, 'ActiveRecord/all', :push_scope => false
  45. end
  46. end
  47. end
  48.  
  49. MongoMapper::Document.append_inclusions(MongoMapperNewRelic)
  50. end
Add Comment
Please, Sign In to add comment