module NewRelic::Shoes::Instrumentation

Public Class Methods

install() click to toggle source
# File lib/newrelic/shoes/instrumentation.rb, line 7
def self.install
  NewRelic::Agent.manual_start(monitor_mode: false, developer: true)

  trace(::Shoes::Swt::Common::Painter, :paint_control)
  trace(::Shoes::Swt::Common::Painter, :paint_object)
  trace(::Shoes::Swt::Common::Painter, :fill_setup)
  trace(::Shoes::Swt::Common::Painter, :draw_setup)
  trace(::Shoes::Swt::Common::Painter, :set_rotate)

  trace(::Shoes::Swt::RectPainter, :fill)
  trace(::Shoes::Swt::RectPainter, :draw)

  trace(::Shoes::Swt::TextBlock::Painter, :paintControl)
  trace(::Shoes::Swt::TextBlock::Painter, :draw_layouts)

  trace(::Shoes::Swt::ColorFactory, :create)
  trace(::Shoes::Swt::ColorFactory, :create_new)
end
trace(clazz, method_name, metric_suffix=method_name) click to toggle source
# File lib/newrelic/shoes/instrumentation.rb, line 26
def self.trace(clazz, method_name, metric_suffix=method_name)
  clazz.class_eval do
    include NewRelic::Agent::MethodTracer
    add_method_tracer method_name, 'Shoes/#{self.class.name}/' + metric_suffix.to_s
  end
end