Sha256: ef0755fcf0591ce123b903242884ccb2a8d768312739a0c9ef5d15ae14ba2d82

Contents?: true

Size: 1.96 KB

Versions: 28

Compression:

Stored size: 1.96 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

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 "Collection"
          "#{file_name(segments[-2])} Collection"
        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 "Collection"
          "#{file_name(segments[1..-2].join(NewRelic::MetricParser::MetricParser::SEPARATOR))} Collection"
        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

28 entries across 28 versions & 2 rubygems

Version Path
newrelic_rpm-3.16.2.321 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.16.1.320 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.16.0.318 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.15.2.317 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.15.1.316 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.15.0.314 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.14.3.313 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.14.2.312 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.14.1.311 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.14.0.305 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.13.2.302 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.13.1.300 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.13.0.299 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.12.1.298 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.12.0.288 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.11.2.286 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.11.1.284 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.11.0.283 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb
newrelic_rpm-3.10.0.279 vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb