框架
某些框架如Rails提供pub-sub机制,这种情况下探针只需要订阅特定类型的消息,然后进行数据再加工就可以了。对于Rails,这个比较简单:module ActionControllerclass PageRequestdef call(name, started, finished, unique_id, payload)Rails.logger.debug [name, started, finished, unique_id, payload].join(' ')endendendActiveSupport::Notifications.subscribe('process_action.action_controller', ActionController::PageRequest.new)# 每次访问就能够订阅到‘process_action.action_controller’的消息:## process_action.action_controller 2012-04-13 01:08:35 +0300 2012-04-13 01:08:35 +0300 af358ed7fab884532ec7 {# controller: "Devise::SessionsController",# action: "new",# params: {"action"=>"new", "controller"=>"devise/sessions"},# format: :html,# method: "GET",# path: "/login/sign_in",# status: 200,# view_runtime: 279.3080806732178,# db_runtime: 40.053# }复制代码这样我们就能拿到这个 request的数据了,订阅消息类型还请自己查阅相关框架的文档。
|