Class: TingYun::Instrumentation::Rails::RenderEvent
Instance Attribute Summary
#children, #end, #frame, #name, #parent, #payload, #time, #transaction_id
Instance Method Summary
collapse
#<<, #duration, #initialize, #parent_of?
Instance Method Details
#metric_action(name) ⇒ Object
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/ting_yun/instrumentation/support/action_view_subscriber.rb', line 83
def metric_action(name)
case name
when /render_template.action_view$/ then
'Rendering'
when 'render_partial.action_view' then
'Partial'
when 'render_collection.action_view' then
'Partial'
end
end
|
#metric_name ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/ting_yun/instrumentation/support/action_view_subscriber.rb', line 56
def metric_name
if parent && (payload[:virtual_path] ||
(parent.payload[:identifier] =~ /template$/))
return parent.metric_name
elsif payload.key?(:virtual_path)
identifier = payload[:virtual_path]
else
identifier = payload[:identifier]
end
@metric_name ||= "View/#{metric_path(identifier)}/#{metric_action(name)}"
@metric_name
end
|
#metric_path(identifier) ⇒ Object
71
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/ting_yun/instrumentation/support/action_view_subscriber.rb', line 71
def metric_path(identifier)
if identifier == nil
'file'
elsif identifier =~ /template$/
identifier
elsif (parts = identifier.split('/')).size > 1
parts[-2..-1].join('/')
else
::TingYun::Agent::UNKNOWN_METRIC
end
end
|
#recordable? ⇒ Boolean
50
51
52
53
54
|
# File 'lib/ting_yun/instrumentation/support/action_view_subscriber.rb', line 50
def recordable?
name[0] == '!' ||
metric_name == 'View/text template/Rendering' ||
metric_name == "View/#{::TingYun::Agent::UNKNOWN_METRIC}/Partial"
end
|