Ruby Agent Meter and Log Reporter
The meter reporter feature enables collection and reporting of runtime metrics to the SkyWalking OAP backend.
Runtime Metrics (Enabled by Default)
The agent automatically collects Ruby runtime metrics when meter_reporter_active
is enabled (default: true).
Collected Runtime Metrics
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
Log Integration
When log reporter is enabled, the agent automatically:
- Intercepts Ruby Standard Logger: Automatically patches the
Logger
class to collect logs - Integrates Trace Context: Adds trace ID, segment ID, and span ID to log messages when available
Supported Logger
Currently, the agent supports:
- Ruby Standard Logger (
Logger
class) - Automatically intercepted and collected
Log Configuration Options
# 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