Module: Elasticsearch::Rails::Instrumentation

Defined in:
lib/elasticsearch/rails/instrumentation.rb,
lib/elasticsearch/rails/instrumentation/railtie.rb,
lib/elasticsearch/rails/instrumentation/publishers.rb,
lib/elasticsearch/rails/instrumentation/log_subscriber.rb,
lib/elasticsearch/rails/instrumentation/controller_runtime.rb

Overview

Note:

The displayed duration includes the HTTP transfer -- the time it took Elasticsearch to process your request is available in the response.took property.

This module adds support for displaying statistics about search duration in the Rails application log by integrating with the ActiveSupport::Notifications framework and ActionController logger.

Usage

Require the component in your application.rb file:

require 'elasticsearch/rails/instrumentation'

You should see an output like this in your application log in development environment:

Article Search (321.3ms) { index: "articles", type: "article", body: { query: ... } }

Also, the total duration of the request to Elasticsearch is displayed in the Rails request breakdown:

Completed 200 OK in 615ms (Views: 230.9ms | ActiveRecord: 0.0ms | Elasticsearch: 321.3ms)

Defined Under Namespace

Modules: ControllerRuntime, Publishers Classes: LogSubscriber, Railtie