Sha256: 03b3aee6fd7e1d9f609b3fe05de184f9e863d67c208ef767870bd62929ba9ba4

Contents?: true

Size: 976 Bytes

Versions: 2

Compression:

Stored size: 976 Bytes

Contents

# frozen_string_literal: true

require 'takwimu/notifications/base'

module Takwimu
  module Notifications
    class ActionController < Base

      def self.event_name
        "process_action.action_controller"
      end

      def self.callback(name, start, finish, unique_id, payload)
        statsd_client = Takwimu.config.statsd
        hostname = Takwimu.config.hostname

        method  = payload[:method].downcase
        status  = payload[:status]
        action  = payload[:action]
        controller    = payload[:controller].sub(/Controller$/, '').downcase
        # format  = payload[:format]

        m = "#{hostname}.controllers.#{controller}_#{action}.#{method}.#{status}"
        statsd_client.timing("#{m}.all", (finish - start) * 1000, 1.0)
        statsd_client.timing("#{m}.db", payload[:db_runtime], 1.0) if payload[:db_runtime]
        statsd_client.timing("#{m}.view", payload[:view_runtime], 1.0) if payload[:view_runtime]

      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
takwimu-0.1.1 lib/takwimu/notifications/action_controller.rb
takwimu-0.1.0 lib/takwimu/notifications/action_controller.rb