Skip to content
The official analytics package for Instructure's Canvas LMS.
Ruby JavaScript HTML CSS Lua
Branch: master
Clone or download
jstanley0 make analytics_2 a course feature
test plan:
 - should be able to enable/disable analytics_2 at the course level
 - if analytics_2 is enabled in a course, analytics 1 links should
   not appear

refs ADMIN-3007

Change-Id: I9ad0f8d3cd8c6d410dfbec8c7ab83f5ae0bde600
Tested-by: Jenkins
Reviewed-by: Rex Fleischer <>
QA-Review: Anju Reddy <>
Product-Review: Jeremy Stanley <>
Latest commit b2f7e93 Oct 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
public add row headers in analytics Mar 27, 2018
spec_canvas make analytics_2 a course feature Oct 23, 2019
Guardfile open source release of canvas analytics Oct 31, 2014

Canvas Analytics

This is the official analytics package for Instructure's Canvas LMS.




Cassandra is already an optional component of installing the Canvas LMS, but it is strongly encouraged when running this analytics package. See the comments in Canvas' example Cassandra configuration for details on setting up Cassandra in Canvas.

Analytics' usage of Cassandra falls into the same keyspace as Cassandra backed PageViews.


First, have Canvas LMS installed with Cassandra backed Page Views enabled. Then:

cd [canvas-rails-root]
git clone [analytics-repo-url] gems/plugins/analytics
bundle update
rake db:migrate
rake canvas:compile_assets

In your browser, login to your Canvas application and visit /accounts/self/settings. Under features, enable the Analytics checkbox.

Visit /accounts/self/analytics to verify.

Running without Cassandra (NOT RECOMMENDED)

It's been a long time since we tried to run this analytics package without Cassandra backing. It might still be possible, but we haven't verified it and do not support it under that configuration.

The relevant code for running without Cassandra backing is described in the Analytics::PageViewIndex::DB module in the lib/analytics/page_view_index.rb file. This code has NOT been exercised or maintained lately, and may be buggy. Use this configuration at your own risk.

Even if that code works properly, we abandoned it in favor of Cassandra backed rollups and indices for performance reasons. Even with a relatively small Canvas instance, it is likely you may run into similar performance issues when using the naïve DB backing for analytics.

If after reading all of the above you still want to run analytics without Cassandra, the installation is exactly as above. The Cassandra migrations in db/migrations/ will automatically be skipped.


GNU Affero General Public License v3.0

You can’t perform that action at this time.