Sha256: 3b3effe9adf5cc474a6d8cd2da032d3df97569c4a82bf223242dbff8a539de63

Contents?: true

Size: 1.17 KB

Versions: 51

Compression:

Stored size: 1.17 KB

Contents

module Spyke
  module Instrumentation
    module ControllerRuntime
      extend ActiveSupport::Concern

      protected

        attr_internal :spyke_runtime

        def process_action(action, *args)
          Spyke::Instrumentation::LogSubscriber.reset_runtime
          super
        end

        def cleanup_view_runtime
          spyke_runtime_before_render = Spyke::Instrumentation::LogSubscriber.reset_runtime
          self.spyke_runtime = (spyke_runtime || 0) + spyke_runtime_before_render
          runtime = super
          spyke_runtime_after_render = Spyke::Instrumentation::LogSubscriber.reset_runtime
          self.spyke_runtime += spyke_runtime_after_render
          runtime - spyke_runtime_after_render
        end

        def append_info_to_payload(payload)
          super
          payload[:spyke_runtime] = (spyke_runtime || 0) + Spyke::Instrumentation::LogSubscriber.reset_runtime
        end

        module ClassMethods
          def log_process_action(payload)
            messages, spyke_runtime = super, payload[:spyke_runtime]
            messages << ("Spyke: %.1fms" % spyke_runtime.to_f) if spyke_runtime
            messages
          end
        end
    end
  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
spyke-7.2.2 lib/spyke/instrumentation/controller_runtime.rb
spyke-7.1.1 lib/spyke/instrumentation/controller_runtime.rb
spyke-7.1.0 lib/spyke/instrumentation/controller_runtime.rb
spyke-7.0.0 lib/spyke/instrumentation/controller_runtime.rb
spyke-6.1.3 lib/spyke/instrumentation/controller_runtime.rb
spyke-6.1.2 lib/spyke/instrumentation/controller_runtime.rb
spyke-6.1.1 lib/spyke/instrumentation/controller_runtime.rb
spyke-6.1.0 lib/spyke/instrumentation/controller_runtime.rb
spyke-6.0.0 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.4.3 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.4.2 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.4.1 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.4.0 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.3.4 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.3.3 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.3.2 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.3.1 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.3.0 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.2.0 lib/spyke/instrumentation/controller_runtime.rb
spyke-5.1.0 lib/spyke/instrumentation/controller_runtime.rb