class Sequel::SchemaSharding::DTraceProvider
Attributes
provider[R]
Public Class Methods
new()
click to toggle source
# File lib/sequel/schema-sharding/dtrace_provider.rb, line 8 def initialize @provider = USDT::Provider.create(:ruby, :sequel_schema_sharding) end
provider()
click to toggle source
# File lib/sequel/schema-sharding/dtrace_provider.rb, line 24 def self.provider @provider ||= new.tap do |p| p.read_only_shard_for p.replica_hash_for p.shard_for p.provider.enable end end
Public Instance Methods
read_only_shard_for()
click to toggle source
# File lib/sequel/schema-sharding/dtrace_provider.rb, line 12 def read_only_shard_for @read_only_probe ||= provider.probe(:model, :read_only_shard_for, :string, :integer, :string) end
replica_hash_for()
click to toggle source
# File lib/sequel/schema-sharding/dtrace_provider.rb, line 16 def replica_hash_for @replica_hash_for ||= provider.probe(:connection_manager, :replica_hash_for, :string) end
shard_for()
click to toggle source
# File lib/sequel/schema-sharding/dtrace_provider.rb, line 20 def shard_for @shard_for_probe ||= provider.probe(:model, :shard_for, :string, :integer, :string) end