module OneApm::Agent::Datastore::MetricHelper
Constants
- OA_ALL
- OA_ALL_OTHER
- OA_ALL_WEB
- OA_DEFAULT_PRODUCT_NAME
- OA_OTHER
- OA_OTHER_ROLLUP_METRIC
- OA_ROLLUP_METRIC
- OA_WEB_ROLLUP_METRIC
Public Class Methods
all_suffix()
click to toggle source
# File lib/one_apm/agent/datastore/metric_helper.rb, line 64 def self.all_suffix if OneApm::Transaction.recording_web_transaction? OA_ALL_WEB else OA_ALL_OTHER end end
metrics_for(product, operation, collection = nil)
click to toggle source
# File lib/one_apm/agent/datastore/metric_helper.rb, line 72 def self.metrics_for(product, operation, collection = nil) if overrides = overridden_operation_and_collection operation, collection = overrides end suffix = all_suffix # Order of these metrics matters--the first metric in the list will # be treated as the scoped metric in a bunch of different cases. metrics = Array.new unless collection metrics.push( operation_metric_for(product, operation), operation_product_rollup(product), operation_all(product) ) else metrics.push( statement_metric_for(product, collection, operation), statement_action_metric_for(product,operation), statement_all_metric_for(product), statement_all(product) ) end metrics.push( product_suffixed_rollup(product, suffix), product_rollup(product), suffixed_rollup(suffix), OA_ROLLUP_METRIC ) metrics end
metrics_from_sql(product, sql)
click to toggle source
# File lib/one_apm/agent/datastore/metric_helper.rb, line 105 def self.metrics_from_sql(product, sql) operation = OneApm::Agent::Database.parse_operation_from_query(sql) || OA_OTHER metrics_for(product, operation) end
operation_all(product)
click to toggle source
Datastore/operation/NoSqlType
# File lib/one_apm/agent/datastore/metric_helper.rb, line 28 def self.operation_all(product) "Datastore/operation/#{product.split(':')[0]}" end
operation_metric_for(product, operation)
click to toggle source
Datastore/operation/NoSqlType:10.128.6.240:27017/update
# File lib/one_apm/agent/datastore/metric_helper.rb, line 18 def self.operation_metric_for(product, operation) "Datastore/operation/#{product}/#{operation}" end
operation_product_rollup(product)
click to toggle source
Datastore/operation/NoSqlType:10.128.6.240:27017/all
# File lib/one_apm/agent/datastore/metric_helper.rb, line 23 def self.operation_product_rollup(product) "Datastore/operation/#{product}/all" end
overridden_operation_and_collection()
click to toggle source
Allow Transaction#with_database_metric_name to override our collection and operation
# File lib/one_apm/agent/datastore/metric_helper.rb, line 112 def self.overridden_operation_and_collection state = OneApm::TransactionState.tl_get txn = state.current_transaction txn ? txn.instrumentation_state[:datastore_override] : nil end
product_rollup(product)
click to toggle source
# File lib/one_apm/agent/datastore/metric_helper.rb, line 36 def self.product_rollup(product) "Datastore/#{product}/all" end
product_suffixed_rollup(product, suffix)
click to toggle source
# File lib/one_apm/agent/datastore/metric_helper.rb, line 32 def self.product_suffixed_rollup(product, suffix) "Datastore/#{product}/#{suffix}" end
statement_action_metric_for(product, operation)
click to toggle source
Datastore/statement/NoSqlType:10.128.6.240:27017/insert
# File lib/one_apm/agent/datastore/metric_helper.rb, line 50 def self.statement_action_metric_for(product, operation) "Datastore/statement/#{product}/#{operation}" end
statement_all(product)
click to toggle source
Datastore/statement/NoSqlType
# File lib/one_apm/agent/datastore/metric_helper.rb, line 60 def self.statement_all(product) "Datastore/statement/#{product.split(':')[0]}" end
statement_all_metric_for(product)
click to toggle source
Datastore/statement/NoSqlType:10.128.6.240:27017/all
# File lib/one_apm/agent/datastore/metric_helper.rb, line 55 def self.statement_all_metric_for(product) "Datastore/statement/#{product}/all" end
statement_metric_for(product, collection, operation)
click to toggle source
Datastore/statement/NoSqlType:10.128.6.240:27017/book/insert
# File lib/one_apm/agent/datastore/metric_helper.rb, line 45 def self.statement_metric_for(product, collection, operation) "Datastore/statement/#{product}/#{collection}/#{operation}" end
suffixed_rollup(suffix)
click to toggle source
# File lib/one_apm/agent/datastore/metric_helper.rb, line 40 def self.suffixed_rollup(suffix) "Datastore/#{suffix}" end