Sha256: 20d6d1fb1dbfaf1f6cc1f6c50babcdfcf2033eb734e1a29b80466b7fd9f4afba

Contents?: true

Size: 1.62 KB

Versions: 18

Compression:

Stored size: 1.62 KB

Contents

require 'new_relic/metric_parser'
module NewRelic
  module MetricParser
    class View < NewRelic::MetricParser::MetricParser
      def is_view?; true; end

      def is_render?
        segments.last == "Rendering"
      end
      def is_compiler?
        segments.last == "Compile"
      end
      def pie_chart_label
        case segments.last
        when "Rendering"
          "#{file_name(segments[-2])} Template"
        when "Partial"
          "#{file_name(segments[-2])} Partial"
        when ".rhtml Processing"
          "ERB compilation"
        else 
          segments[1..-1]
        end
      end
      def template_label
        case segments.last
        when "Rendering"
          "#{file_name(segments[1..-2].join(NewRelic::MetricParser::MetricParser::SEPARATOR))} Template"
        when "Partial"
          "#{file_name(segments[1..-2].join(NewRelic::MetricParser::MetricParser::SEPARATOR))} Partial"
        when ".rhtml Processing"
          "ERB compilation"
        else 
          segments[1..-1].join("/")
        end
      end
      
      def short_name
        segments[1..-2].join(NewRelic::MetricParser::MetricParser::SEPARATOR)
      end
      
      def controller_name
        template_label
      end

      def action_name
        # Strip the extension
        segments[-2].gsub(/\..*$/, "")
      end

      def developer_name
        template_label
      end
      
      def url
        '/' + file_name(segments[1..-2].join('/'))
      end
      private
      def file_name(path)
        label = path.gsub /\.html\.rhtml/, '.rhtml'
        label = segments[1] if label.empty?
        label
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
newrelic_rpm-2.14.1.logging1 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.14.1 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.4.rum6 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.14.0 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.4.rum5 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.6.beta2 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.6.beta1 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.4.rum4 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.5.beta4 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.5.beta3 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.5.beta2 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.5.beta1 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.4.eum3 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.4.eum2 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.4.eum1 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.4 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.3 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-2.13.3.beta vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb