The meter reporter feature enables collection and reporting of runtime metrics to the SkyWalking OAP backend.
The agent automatically collects Ruby runtime metrics when meter_reporter_active is enabled (default: true).
CPU Metrics:
instance_ruby_cpu_usage_percent- Ruby process CPU usage percentage
Memory Metrics:
instance_ruby_memory_rss_mb- Ruby process RSS memory usage in MBinstance_ruby_memory_usage_percent- Ruby process memory usage percentage
Garbage Collection Metrics:
instance_ruby_gc_count_total- Total GC execution countinstance_ruby_gc_minor_count_total- Minor GC count (if available)instance_ruby_gc_major_count_total- Major GC count (if available)instance_ruby_gc_time_total- Total GC time in milliseconds (cumulative)instance_ruby_heap_usage_percent- Heap memory usage percentageinstance_ruby_heap_live_slots_count- Number of live heap slotsinstance_ruby_heap_available_slots_count- Number of available heap slots
Thread Metrics:
instance_ruby_thread_count_active- Number of active threads (all alive threads)instance_ruby_thread_count_running- Number of threads in running state
When log reporter is enabled, the agent automatically:
- Intercepts Ruby Standard Logger: Automatically patches the
Loggerclass to collect logs - Integrates Trace Context: Adds trace ID, segment ID, and span ID to log messages when available
Currently, the agent supports:
- Ruby Standard Logger (
Loggerclass) - Automatically intercepted and collected
# Configure log reporter level (default: Logger::INFO)
config[:log_reporter_level] = Logger::INFO
# Configure log report period in seconds (default: 5)
config[:log_report_period] = 5
# Configure maximum log queue size (default: 1000)
config[:max_log_queue_size] = 1000