Class: NetuitiveRubyAPI
- Inherits:
-
Object
- Object
- NetuitiveRubyAPI
- Defined in:
- lib/netuitive_ruby_api.rb
Class Attribute Summary collapse
-
.data_manager ⇒ Object
Returns the value of attribute data_manager.
-
.netuitivedServer ⇒ Object
Returns the value of attribute netuitivedServer.
-
.pid ⇒ Object
readonly
Returns the value of attribute pid.
Class Method Summary collapse
- .add_counter_sample(metric_id, val) ⇒ Object
- .add_sample(metric_id, val) ⇒ Object
- .aggregate_counter_metric(metric_id, val) ⇒ Object
- .aggregate_metric(metric_id, val) ⇒ Object
- .check_restart ⇒ Object
- .clear_metrics ⇒ Object
- .event(message, timestamp = Time.new, title = 'Ruby Event', level = 'Info', source = 'Ruby Agent', type = 'INFO', tags = nil) ⇒ Object
- .exception_event(exception, klass = nil, tags = nil) ⇒ Object
- .flush_events ⇒ Object
- .flush_samples ⇒ Object
- .interval ⇒ Object
- .send_metrics ⇒ Object
- .setup ⇒ Object
- .stop_server ⇒ Object
Class Attribute Details
.data_manager ⇒ Object
Returns the value of attribute data_manager.
14 15 16 |
# File 'lib/netuitive_ruby_api.rb', line 14 def data_manager @data_manager end |
.netuitivedServer ⇒ Object
Returns the value of attribute netuitivedServer.
15 16 17 |
# File 'lib/netuitive_ruby_api.rb', line 15 def netuitivedServer @netuitivedServer end |
.pid ⇒ Object (readonly)
Returns the value of attribute pid.
16 17 18 |
# File 'lib/netuitive_ruby_api.rb', line 16 def pid @pid end |
Class Method Details
.add_counter_sample(metric_id, val) ⇒ Object
67 68 69 |
# File 'lib/netuitive_ruby_api.rb', line 67 def add_counter_sample(metric_id, val) @data_manager.add_counter_sample(metric_id, val) end |
.add_sample(metric_id, val) ⇒ Object
63 64 65 |
# File 'lib/netuitive_ruby_api.rb', line 63 def add_sample(metric_id, val) @data_manager.add_sample(metric_id, val) end |
.aggregate_counter_metric(metric_id, val) ⇒ Object
75 76 77 |
# File 'lib/netuitive_ruby_api.rb', line 75 def aggregate_counter_metric(metric_id, val) @data_manager.aggregate_counter_metric(metric_id, val) end |
.aggregate_metric(metric_id, val) ⇒ Object
71 72 73 |
# File 'lib/netuitive_ruby_api.rb', line 71 def aggregate_metric(metric_id, val) @data_manager.aggregate_metric(metric_id, val) end |
.check_restart ⇒ Object
49 50 51 52 53 |
# File 'lib/netuitive_ruby_api.rb', line 49 def check_restart NetuitiveRubyApi::NetuitiveLogger.log.debug "stored pid: #{@pid}, process pid: #{Process.pid}" return if @pid == Process.pid Thread.new { NetuitiveRubyAPI.setup } end |
.clear_metrics ⇒ Object
79 80 81 |
# File 'lib/netuitive_ruby_api.rb', line 79 def clear_metrics netuitivedServer.clearMetrics end |
.event(message, timestamp = Time.new, title = 'Ruby Event', level = 'Info', source = 'Ruby Agent', type = 'INFO', tags = nil) ⇒ Object
87 88 89 |
# File 'lib/netuitive_ruby_api.rb', line 87 def event(, = Time.new, title = 'Ruby Event', level = 'Info', source = 'Ruby Agent', type = 'INFO', = nil) @data_manager.event(, , title, level, source, type, ) end |
.exception_event(exception, klass = nil, tags = nil) ⇒ Object
91 92 93 |
# File 'lib/netuitive_ruby_api.rb', line 91 def exception_event(exception, klass = nil, = nil) @data_manager.exception_event(exception, klass, ) end |
.flush_events ⇒ Object
55 56 57 |
# File 'lib/netuitive_ruby_api.rb', line 55 def flush_events @data_manager.flush_events end |
.flush_samples ⇒ Object
45 46 47 |
# File 'lib/netuitive_ruby_api.rb', line 45 def flush_samples @data_manager.flush_samples end |
.interval ⇒ Object
83 84 85 |
# File 'lib/netuitive_ruby_api.rb', line 83 def interval netuitivedServer.interval # synchronous for return value end |
.send_metrics ⇒ Object
59 60 61 |
# File 'lib/netuitive_ruby_api.rb', line 59 def send_metrics netuitivedServer.sendMetrics end |
.setup ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/netuitive_ruby_api.rb', line 17 def setup @pid = Process.pid NetuitiveRubyApi::ConfigManager.load_config NetuitiveRubyApi::NetuitiveLogger.setup NetuitiveRubyApi::ConfigManager.read_config NetuitiveRubyApi::ErrorLogger.guard('error during api setup') do server_uri = "druby://#{NetuitiveRubyApi::ConfigManager.netuitivedAddr}:#{NetuitiveRubyApi::ConfigManager.netuitivedPort}".freeze DRb.start_service drb_server = DRbObject.new_with_uri(server_uri) data_manager = NetuitiveRubyApi::DataManager.new data_manager.data_cache = NetuitiveRubyApi::DataCache.new data_manager.sample_cache_enabled = NetuitiveRubyApi::ConfigManager.sample_cache_enabled data_manager.sample_cache_size = NetuitiveRubyApi::ConfigManager.sample_cache_size data_manager.sample_cache_interval = NetuitiveRubyApi::ConfigManager.sample_cache_interval data_manager.event_cache_enabled = NetuitiveRubyApi::ConfigManager.event_cache_enabled data_manager.event_cache_size = NetuitiveRubyApi::ConfigManager.event_cache_size data_manager.event_cache_interval = NetuitiveRubyApi::ConfigManager.event_cache_interval data_manager.netuitived_server = drb_server @netuitivedServer = drb_server @data_manager = data_manager NetuitiveRubyApi::SampleSchedule.stop NetuitiveRubyApi::EventSchedule.stop NetuitiveRubyApi::SampleSchedule.start(NetuitiveRubyApi::ConfigManager.sample_cache_interval) if NetuitiveRubyApi::ConfigManager.sample_cache_enabled NetuitiveRubyApi::EventSchedule.start(NetuitiveRubyApi::ConfigManager.event_cache_interval) if NetuitiveRubyApi::ConfigManager.event_cache_enabled NetuitiveRubyApi::NetuitiveLogger.log.info 'netuitive_ruby_api finished setup' end end |
.stop_server ⇒ Object
95 96 97 |
# File 'lib/netuitive_ruby_api.rb', line 95 def stop_server netuitivedServer.stopServer end |