Ruby SDK
Ruby SDK for JustAnalytics distributed tracing and error tracking.
Installation#
# Gemfile
gem 'justanalytics-ruby'
bundle install
Quick Start#
require 'justanalytics'
JustAnalytics.init(
site_id: ENV['JUSTANALYTICS_SITE_ID'],
api_key: ENV['JUSTANALYTICS_API_KEY'],
service_name: 'rails-app',
environment: Rails.env
)
Tracing#
result = JustAnalytics.start_span('process-order') do |span|
span.set_attribute('order.id', order_id)
span.set_attribute('order.total', total)
user = JustAnalytics.start_span('fetch-user') do
User.find(user_id)
end
{ success: true, user: user }
end
Error Tracking#
begin
risky_operation
rescue => e
JustAnalytics.capture_exception(e, tags: { module: 'payments' })
raise
end
Rails Integration#
# config/initializers/justanalytics.rb
JustAnalytics.init(
site_id: ENV['JUSTANALYTICS_SITE_ID'],
api_key: ENV['JUSTANALYTICS_API_KEY'],
service_name: 'rails-app',
environment: Rails.env
)
# Auto-instruments:
# - ActionController requests
# - ActiveRecord queries
# - ActionMailer deliveries
# - ActiveJob executions
# - Redis cache operations
Sinatra Integration#
require 'justanalytics/sinatra'
class MyApp < Sinatra::Base
use JustAnalytics::Sinatra::Middleware
end
Logging#
JustAnalytics.logger.info('Request processed', path: '/api/orders', duration: 245)
JustAnalytics.logger.error('Payment failed', order_id: '123', reason: 'declined')
Custom Metrics#
JustAnalytics.record_metric('custom.queue_size', 42, queue: 'emails')
Requirements#
- Ruby 3.0+
- Rails 7.0+ (for Rails integration)