Class: Sentiero::Analytics::Exporter

Inherits:
Analyzer
  • Object
show all
Defined in:
lib/sentiero/analytics/exporter.rb

Overview

Builds tabular datasets for CSV/JSON export. Each dataset is a rows: table the web layer serializes without re-deriving.

Constant Summary collapse

DATASETS =
{
  "sessions" => "Session list",
  "errors" => "Error list",
  "browser_events" => "Browser Events (rrweb)",
  "problems" => "Problems",
  "server_events" => "Server Events",
  "stats" => "Aggregate stats",
  "heatmap" => "Heatmap data",
  "scroll" => "Scroll-depth data",
  "forms" => "Form analytics",
  "web_vitals" => "Web Vitals"
}.freeze

Constants included from Events

Sentiero::Analytics::Events::CUSTOM, Sentiero::Analytics::Events::INCREMENTAL, Sentiero::Analytics::Events::META, Sentiero::Analytics::Events::SOURCE_INPUT, Sentiero::Analytics::Events::SOURCE_MOUSE_INTERACTION, Sentiero::Analytics::Events::SOURCE_SCROLL

Instance Attribute Summary

Attributes inherited from Analyzer

#store

Instance Method Summary collapse

Methods inherited from Analyzer

#initialize

Methods included from EntryAttribution

#earlier?, #first_meta_href, #same_origin?, #update_entry_candidate

Methods included from Bounded

#bounded_fetch, #bounded_increment

Methods included from Stats

#mean, #offset_ms, #percentile, #top_counts

Constructor Details

This class inherits a constructor from Sentiero::Analytics::Analyzer

Instance Method Details

#dataset?(name) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/sentiero/analytics/exporter.rb', line 30

def dataset?(name)
  DATASETS.key?(name)
end

#table(name, since: nil, until_time: nil) ⇒ Object



34
35
36
37
38
# File 'lib/sentiero/analytics/exporter.rb', line 34

def table(name, since: nil, until_time: nil)
  @since = since
  @until_time = until_time
  send("build_#{name}")
end