Module: TingYun::Agent::Datastore::Mongo
- Defined in:
- lib/ting_yun/agent/datastore/mongo.rb
Class Method Summary collapse
- .monitoring_enabled? ⇒ Boolean
- .supported_version? ⇒ Boolean
-
.transform_operation(operation) ⇒ Object
def self.transform_operation(operation) t_operation = case operation.to_s.upcase when ‘DELETE’, ‘FIND_AND_REMOVE’, ‘DELETEINDEXS’, ‘REMOVE’ then ‘destroy’ when ‘INSERT’ then ‘INSERT’ when ‘UPDATE’, ‘RENAMECOLLECTION’, ‘REINDEX’ then ‘UPDATE’ when ‘CREATE’, ‘FIND_AND_MODIFY’, ‘CREATEINDEXS’, ‘CREATEINDEX’, ‘REPINDEX’ then ‘SAVE’ when ‘QUERY’, ‘COUNT’, ‘GET_MORE’, ‘AGGREGATE’, ‘FIND’, ‘FINDONE’, ‘GROUP’ then ‘SECECT’ else nil end t_operation end.
- .unsupported_2x? ⇒ Boolean
- .version_1_10_or_later? ⇒ Boolean
Class Method Details
.monitoring_enabled? ⇒ Boolean
8 9 10 |
# File 'lib/ting_yun/agent/datastore/mongo.rb', line 8 def self.monitoring_enabled? defined?(::Mongo::Monitoring) end |
.supported_version? ⇒ Boolean
21 22 23 24 |
# File 'lib/ting_yun/agent/datastore/mongo.rb', line 21 def self.supported_version? # No version constant in < 2.0 versions of Mongo :( defined?(::Mongo) && (defined?(::Mongo::MongoClient) || monitoring_enabled?) end |
.transform_operation(operation) ⇒ Object
def self.transform_operation(operation)
t_operation = case operation.to_s.upcase
when 'DELETE', 'FIND_AND_REMOVE', 'DELETEINDEXS', 'REMOVE' then 'destroy'
when 'INSERT' then 'INSERT'
when 'UPDATE', 'RENAMECOLLECTION', 'REINDEX' then 'UPDATE'
when 'CREATE', 'FIND_AND_MODIFY', 'CREATEINDEXS', 'CREATEINDEX', 'REPINDEX' then 'SAVE'
when 'QUERY', 'COUNT', 'GET_MORE', 'AGGREGATE', 'FIND', 'FINDONE', 'GROUP' then 'SECECT'
else
nil
end
t_operation
end
38 39 40 |
# File 'lib/ting_yun/agent/datastore/mongo.rb', line 38 def self.transform_operation(operation) operation.to_s.upcase end |
.unsupported_2x? ⇒ Boolean
17 18 19 |
# File 'lib/ting_yun/agent/datastore/mongo.rb', line 17 def self.unsupported_2x? defined?(::Mongo::VERSION) && TingYun::Support::VersionNumber.new(::Mongo::VERSION).major_version == 2 end |
.version_1_10_or_later? ⇒ Boolean
12 13 14 15 |
# File 'lib/ting_yun/agent/datastore/mongo.rb', line 12 def self.version_1_10_or_later? # Again, no VERSION constant in 1.x, so we have to rely on constant checks defined?(::Mongo::CollectionOperationWriter) end |