Module: PhusionPassenger::ClassicRailsExtensions::AnalyticsLogging
- Defined in:
- lib/phusion_passenger/classic_rails_extensions/init.rb,
lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_base_extension.rb,
lib/phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension.rb,
lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_rescue_extension.rb,
lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_benchmarking_extension.rb,
lib/phusion_passenger/classic_rails_extensions/analytics_logging/av_benchmark_helper_extension.rb,
lib/phusion_passenger/classic_rails_extensions/analytics_logging/ar_abstract_adapter_extension.rb
Defined Under Namespace
Modules: ACBaseExtension, ACBenchmarkingExtension, ACRescueExtension, ARAbstractAdapterExtension, AVBenchmarkHelperExtension, CacheStoreExtension, ConcreteCacheStoreExtension
Constant Summary
- @@analytics_logger =
Instantiated from prepare_app_process in utils.rb.
nil
Class Method Summary (collapse)
Class Method Details
+ (Object) install!(options)
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/phusion_passenger/classic_rails_extensions/init.rb', line 45 def self.install!() @@analytics_logger = ["analytics_logger"] # If the Ruby interpreter supports GC statistics then turn it on # so that the info can be logged. GC.enable_stats if GC.respond_to?(:enable_stats) if defined?(ActionController) require 'phusion_passenger/classic_rails_extensions/analytics_logging/ac_base_extension' ActionController::Base.class_eval do include ACBaseExtension alias_method_chain :perform_action, :passenger alias_method_chain :render, :passenger end require 'phusion_passenger/classic_rails_extensions/analytics_logging/ac_benchmarking_extension' ActionController::Benchmarking::ClassMethods.class_eval do include ACBenchmarkingExtension alias_method_chain :benchmark, :passenger end require 'phusion_passenger/classic_rails_extensions/analytics_logging/ac_rescue_extension' ActionController::Rescue.class_eval do include ACRescueExtension alias_method_chain :rescue_action, :passenger end end if defined?(ActionView) require 'phusion_passenger/classic_rails_extensions/analytics_logging/av_benchmark_helper_extension' ActionView::Helpers::BenchmarkHelper.class_eval do include AVBenchmarkHelperExtension alias_method_chain :benchmark, :passenger end end if defined?(ActiveRecord) require 'phusion_passenger/classic_rails_extensions/analytics_logging/ar_abstract_adapter_extension' ActiveRecord::ConnectionAdapters::AbstractAdapter.class_eval do include ARAbstractAdapterExtension alias_method_chain :log, :passenger end end if defined?(ActiveSupport::Cache::Store) && Rails.cache require 'phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension' ActiveSupport::Cache::Store.class_eval do include CacheStoreExtension case Rails::VERSION::MINOR when 1 # Rails 2.1 alias_method :fetch, :fetch_2_1 when 2 # Rails 2.2 alias_method :fetch, :fetch_2_2 when 3 # Rails 2.3 alias_method :fetch, :fetch_2_3 end end Rails.cache.extend(ConcreteCacheStoreExtension) end end |
+ (Object) new_transaction_log(env, category = :requests)
108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/phusion_passenger/classic_rails_extensions/init.rb', line 108 def self.new_transaction_log(env, category = :requests) if env[PASSENGER_TXN_ID] group_name = env[PASSENGER_GROUP_NAME] union_station_key = env[PASSENGER_UNION_STATION_KEY] log = @@analytics_logger.new_transaction(group_name, category, union_station_key) begin yield log ensure log.close end end end |