class Appsignal::Hooks::MongoMonitorSubscriber
def finish(result, event)
def finish(result, event) transaction = Appsignal::Transaction.current return if transaction.nil_transaction? return if transaction.paused? # Get the query from the transaction store store = transaction.store("mongo_driver") command = store.delete(event.request_id) || {} # Finish the event in the extension. transaction.finish_event( "query.mongodb", "#{event.command_name} | #{event.database_name} | #{result}", Appsignal::Utils::Data.generate(command), Appsignal::EventFormatter::DEFAULT ) # Send global query metrics Appsignal.add_distribution_value( "mongodb_query_duration", event.duration, :database => event.database_name ) end