SYMBOL INDEX (409 symbols across 118 files) FILE: assets/src/js/components/Chart.js function xTickFormat (line 16) | function xTickFormat(tickStep, n) { function incrementDate (line 56) | function incrementDate(date, incr) { class Chart (line 60) | class Chart extends Component { method constructor (line 61) | constructor(props) { method componentWillReceiveProps (line 72) | componentWillReceiveProps(newProps) { method chartData (line 88) | @bind method prepareChart (line 146) | @bind method redrawChart (line 194) | @bind method fetchData (line 274) | @bind method render (line 294) | render(props, state) { FILE: assets/src/js/components/CountWidget.js class CountWidget (line 11) | class CountWidget extends Component { method componentWillReceiveProps (line 12) | componentWillReceiveProps(newProps, newState) { method countUp (line 21) | @bind method formatValue (line 42) | @bind method render (line 66) | render(props, state) { FILE: assets/src/js/components/DatePicker.js class DatePicker (line 85) | class DatePicker extends Component { method constructor (line 86) | constructor(props) { method componentDidMount (line 107) | componentDidMount() { method componentWillUnmount (line 111) | componentWillUnmount() { method updateDatesFromPeriod (line 115) | @bind method setDateRange (line 124) | @bind method calculateDiff (line 165) | calculateDiff(start, end) { method updateURL (line 169) | updateURL() { method setPeriod (line 177) | @bind method dateValue (line 190) | dateValue(date) { method setStartDate (line 194) | @bind method setEndDate (line 199) | @bind method handleKeyPress (line 204) | @bind method setGroupBy (line 233) | @bind method render (line 242) | render(props, state) { FILE: assets/src/js/components/Gearwheel.js class Gearwheel (line 5) | class Gearwheel extends Component { method render (line 6) | render(props, state) { FILE: assets/src/js/components/LoginForm.js class LoginForm (line 8) | class LoginForm extends Component { method constructor (line 10) | constructor(props) { method handleSubmit (line 19) | @bind method updatePassword (line 40) | @bind method updateEmail (line 45) | @bind method clearMessage (line 50) | @bind method render (line 55) | render(props, state) { FILE: assets/src/js/components/LogoutButton.js class LogoutButton (line 7) | class LogoutButton extends Component { method handleSubmit (line 9) | @bind method render (line 18) | render() { FILE: assets/src/js/components/Notification.js class Notification (line 6) | class Notification extends Component { method constructor (line 7) | constructor(props) { method componentWillReceiveProps (line 17) | componentWillReceiveProps(newProps) { method render (line 31) | render(props, state) { FILE: assets/src/js/components/Pikadayer.js class Pikadayer (line 6) | class Pikadayer extends Component { method componentDidMount (line 7) | componentDidMount() { method componentWillReceiveProps (line 15) | componentWillReceiveProps(newProps) { method componentWillUnmount (line 22) | componentWillUnmount() { method render (line 26) | render(props) { FILE: assets/src/js/components/Realtime.js class Realtime (line 8) | class Realtime extends Component { method constructor (line 10) | constructor(props) { method componentDidMount (line 18) | componentDidMount() { method componentWillUnmount (line 23) | componentWillUnmount() { method componentWillReceiveProps (line 27) | componentWillReceiveProps(newProps, newState) { method paramsChanged (line 35) | paramsChanged(o, n) { method setDocumentTitle (line 39) | @bind method handleIntervalEvent (line 46) | @bind method fetchData (line 51) | @bind method render (line 61) | render(props, state) { FILE: assets/src/js/components/Sidebar.js class Sidebar (line 9) | class Sidebar extends Component { method constructor (line 10) | constructor(props) { method componentWillReceiveProps (line 19) | componentWillReceiveProps(newProps, newState) { method paramsChanged (line 27) | paramsChanged(o, n) { method fetchData (line 31) | @bind method render (line 56) | render(props, state) { FILE: assets/src/js/components/SiteSettings.js method constructor (line 8) | constructor(props) { method componentDidMount (line 17) | componentDidMount() { method componentWillUnmount (line 20) | componentWillUnmount() { method revertTemporaryState (line 24) | @bind method copyToClipboard (line 32) | @bind method deleteSite (line 40) | @bind method onSubmit (line 54) | @bind method handleTextareaClickEvent (line 74) | @bind method handleClickEvent (line 79) | @bind method handleKeydownEvent (line 89) | @bind method setTextarea (line 97) | @bind method updateSiteName (line 102) | @bind FILE: assets/src/js/components/SiteSwitcher.js function arrayToQueryString (line 9) | function arrayToQueryString(array_in){ method constructor (line 19) | constructor() { method selectSite (line 26) | @bind method addSite (line 41) | @bind method expand (line 46) | @bind method collapse (line 53) | @bind method toggleExpanded (line 60) | @bind FILE: assets/src/js/components/Table.js class Table (line 12) | class Table extends Component { method constructor (line 14) | constructor(props) { method componentWillReceiveProps (line 26) | componentWillReceiveProps(newProps, newState) { method paramsChanged (line 34) | paramsChanged(o, n) { method fetchData (line 38) | @bind method paginateNext (line 66) | @bind method paginatePrev (line 72) | @bind method render (line 82) | render(props, state) { FILE: assets/src/js/lib/client.js function handleRequestErrors (line 31) | function handleRequestErrors(r) { function parseJSON (line 40) | function parseJSON(r) { function parseData (line 44) | function parseData(d) { FILE: assets/src/js/lib/numbers.js function formatPretty (line 8) | function formatPretty(num) { function formatWithComma (line 26) | function formatWithComma(nStr) { function formatDuration (line 42) | function formatDuration(seconds) { function formatPercentage (line 49) | function formatPercentage(p) { FILE: assets/src/js/lib/util.js function stringifyObject (line 4) | function stringifyObject(json) { function randomString (line 14) | function randomString(n) { function hashParams (line 19) | function hashParams() { FILE: assets/src/js/pages/dashboard.js class Dashboard (line 20) | class Dashboard extends Component { method constructor (line 21) | constructor(props) { method componentDidMount (line 40) | componentDidMount() { method fetchSites (line 44) | @bind method changeDateRange (line 70) | @bind method showSiteSettings (line 79) | @bind method closeSiteSettings (line 89) | @bind method changeSelectedSite (line 99) | @bind method updateSite (line 113) | @bind method deleteSite (line 134) | @bind method render (line 144) | render(props, state) { FILE: assets/src/js/script.js class App (line 9) | class App extends Component { method constructor (line 10) | constructor(props) { method fetchAuthStatus (line 20) | @bind method toggleAuth (line 28) | @bind method render (line 35) | render(props, state) { FILE: assets/src/js/tracker.js function set (line 15) | function set(key, value) { function setTrackerUrl (line 19) | function setTrackerUrl(value) { function stringifyObject (line 24) | function stringifyObject(obj) { function getCookie (line 33) | function getCookie(name) { function setCookie (line 49) | function setCookie(name, data, args) { function newVisitorData (line 65) | function newVisitorData() { function getData (line 75) | function getData() { function findTrackerUrl (line 98) | function findTrackerUrl() { function trackPageview (line 103) | function trackPageview(vars) { FILE: main.go function main (line 16) | func main() { FILE: pkg/aggregator/aggregator.go type Aggregator (line 15) | type Aggregator struct method Run (line 39) | func (agg *Aggregator) Run() Report { type Report (line 19) | type Report struct type results (line 25) | type results struct function New (line 32) | func New(db datastore.Datastore) *Aggregator { function parseReferrer (line 174) | func parseReferrer(r string) (*url.URL, error) { FILE: pkg/aggregator/aggregator_test.go function TestParseReferrer (line 8) | func TestParseReferrer(t *testing.T) { FILE: pkg/aggregator/bindata.go function bindataRead (line 20) | func bindataRead(data []byte, name string) ([]byte, error) { type asset (line 40) | type asset struct type bindataFileInfo (line 45) | type bindataFileInfo struct method Name (line 52) | func (fi bindataFileInfo) Name() string { method Size (line 55) | func (fi bindataFileInfo) Size() int64 { method Mode (line 58) | func (fi bindataFileInfo) Mode() os.FileMode { method ModTime (line 61) | func (fi bindataFileInfo) ModTime() time.Time { method IsDir (line 64) | func (fi bindataFileInfo) IsDir() bool { method Sys (line 67) | func (fi bindataFileInfo) Sys() interface{} { function blacklistTxtBytes (line 73) | func blacklistTxtBytes() ([]byte, error) { function blacklistTxt (line 80) | func blacklistTxt() (*asset, error) { function Asset (line 94) | func Asset(name string) ([]byte, error) { function MustAsset (line 108) | func MustAsset(name string) []byte { function AssetInfo (line 120) | func AssetInfo(name string) (os.FileInfo, error) { function AssetNames (line 133) | func AssetNames() []string { function AssetDir (line 159) | func AssetDir(name string) ([]string, error) { type bintree (line 181) | type bintree struct function RestoreAsset (line 191) | func RestoreAsset(dir, name string) error { function RestoreAssets (line 216) | func RestoreAssets(dir, name string) error { function _filePath (line 232) | func _filePath(dir, name string) string { FILE: pkg/aggregator/blacklist.go type blacklist (line 9) | type blacklist struct method Has (line 26) | func (b *blacklist) Has(r string) bool { function newBlacklist (line 13) | func newBlacklist() (*blacklist, error) { FILE: pkg/aggregator/blacklist_test.go function TestBlacklistHas (line 7) | func TestBlacklistHas(t *testing.T) { FILE: pkg/aggregator/store.go method getSiteStats (line 12) | func (agg *Aggregator) getSiteStats(r *results, siteID int64, t time.Tim... method getPageStats (line 37) | func (agg *Aggregator) getPageStats(r *results, siteID int64, t time.Tim... method getReferrerStats (line 73) | func (agg *Aggregator) getReferrerStats(r *results, siteID int64, t time... FILE: pkg/api/api.go type API (line 8) | type API struct function New (line 14) | func New(db datastore.Datastore, secret string) *API { FILE: pkg/api/auth.go type key (line 12) | type key constant userKey (line 15) | userKey key = 0 type login (line 18) | type login struct method Sanitize (line 23) | func (l *login) Sanitize() { method GetSession (line 28) | func (api *API) GetSession(w http.ResponseWriter, r *http.Request) error { method CreateSession (line 50) | func (api *API) CreateSession(w http.ResponseWriter, r *http.Request) er... method DeleteSession (line 82) | func (api *API) DeleteSession(w http.ResponseWriter, r *http.Request) er... method Authorize (line 96) | func (api *API) Authorize(next http.Handler) http.Handler { FILE: pkg/api/auth_test.go function TestLoginSanitize (line 5) | func TestLoginSanitize(t *testing.T) { FILE: pkg/api/collect.go type Collector (line 19) | type Collector struct method ServeHTTP (line 47) | func (c *Collector) ServeHTTP(w http.ResponseWriter, r *http.Request) { method aggregate (line 108) | func (c *Collector) aggregate() { method worker (line 129) | func (c *Collector) worker(cap int, timeout time.Duration) { method buffer (line 148) | func (c *Collector) buffer(p *models.Pageview) int { method persist (line 160) | func (c *Collector) persist() { function NewCollector (line 30) | func NewCollector(store datastore.Datastore) *Collector { function shouldCollect (line 180) | func shouldCollect(r *http.Request) bool { function parsePathname (line 209) | func parsePathname(p string) string { function parseHostname (line 213) | func parseHostname(r string) string { FILE: pkg/api/collect_test.go function TestShouldCollect (line 8) | func TestShouldCollect(t *testing.T) { function TestParsePathname (line 17) | func TestParsePathname(t *testing.T) { function TestParseHostname (line 30) | func TestParseHostname(t *testing.T) { FILE: pkg/api/health.go method Health (line 6) | func (api *API) Health(w http.ResponseWriter, _ *http.Request) error { FILE: pkg/api/http.go type Handler (line 12) | type Handler method ServeHTTP (line 19) | func (h Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { type envelope (line 14) | type envelope struct function HandlerFunc (line 26) | func HandlerFunc(fn Handler) http.HandlerFunc { function HandleError (line 31) | func HandleError(w http.ResponseWriter, r *http.Request, err error) { function respond (line 42) | func respond(w http.ResponseWriter, statusCode int, d interface{}) error { function serveFileHandler (line 49) | func serveFileHandler(box *packr.Box, filename string) http.Handler { function serveFile (line 53) | func serveFile(box *packr.Box, filename string) Handler { function NotFoundHandler (line 76) | func NotFoundHandler(box *packr.Box) http.Handler { FILE: pkg/api/http_test.go function TestRespond (line 10) | func TestRespond(t *testing.T) { FILE: pkg/api/page_stats.go method GetAggregatedPageStatsHandler (line 8) | func (api *API) GetAggregatedPageStatsHandler(w http.ResponseWriter, r *... method GetAggregatedPageStatsPageviewsHandler (line 17) | func (api *API) GetAggregatedPageStatsPageviewsHandler(w http.ResponseWr... FILE: pkg/api/params.go type Params (line 12) | type Params struct function GetRequestParams (line 21) | func GetRequestParams(r *http.Request) *Params { FILE: pkg/api/params_test.go function TestGetRequestParams (line 10) | func TestGetRequestParams(t *testing.T) { FILE: pkg/api/referrer_stats.go method GetAggregatedReferrerStatsHandler (line 7) | func (api *API) GetAggregatedReferrerStatsHandler(w http.ResponseWriter,... method GetAggregatedReferrerStatsPageviewsHandler (line 16) | func (api *API) GetAggregatedReferrerStatsPageviewsHandler(w http.Respon... FILE: pkg/api/routes.go method Routes (line 10) | func (api *API) Routes() *mux.Router { function serveTrackerFile (line 47) | func serveTrackerFile(box *packr.Box) http.Handler { FILE: pkg/api/site_stats.go method GetAggregatedSiteStatsHandler (line 8) | func (api *API) GetAggregatedSiteStatsHandler(w http.ResponseWriter, r *... method GetSiteStatsRealtimeHandler (line 18) | func (api *API) GetSiteStatsRealtimeHandler(w http.ResponseWriter, r *ht... method GetSiteStatsHandler (line 28) | func (api *API) GetSiteStatsHandler(w http.ResponseWriter, r *http.Reque... FILE: pkg/api/sites.go function init (line 15) | func init() { method GetSitesHandler (line 20) | func (api *API) GetSitesHandler(w http.ResponseWriter, r *http.Request) ... method SaveSiteHandler (line 30) | func (api *API) SaveSiteHandler(w http.ResponseWriter, r *http.Request) ... method DeleteSiteHandler (line 63) | func (api *API) DeleteSiteHandler(w http.ResponseWriter, r *http.Request... function generateTrackingID (line 77) | func generateTrackingID() string { function randomString (line 81) | func randomString(len int) string { FILE: pkg/cli/cli.go type App (line 15) | type App struct function Run (line 25) | func Run(version string, commit string, buildDate string) error { function before (line 62) | func before(c *cli.Context) error { function after (line 70) | func after(c *cli.Context) error { FILE: pkg/cli/server.go function server (line 53) | func server(c *cli.Context) error { FILE: pkg/cli/stats.go function stats (line 37) | func stats(c *cli.Context) error { FILE: pkg/cli/user.go function userAdd (line 51) | func userAdd(c *cli.Context) error { function userDelete (line 88) | func userDelete(c *cli.Context) error { FILE: pkg/config/config.go type Config (line 16) | type Config struct function LoadEnv (line 22) | func LoadEnv(file string) { function Parse (line 47) | func Parse() *Config { function randomString (line 84) | func randomString(len int) string { FILE: pkg/config/config_test.go function TestLoadEnv (line 9) | func TestLoadEnv(t *testing.T) { function TestParse (line 31) | func TestParse(t *testing.T) { function TestDatabaseURL (line 52) | func TestDatabaseURL(t *testing.T) { function TestRandomString (line 69) | func TestRandomString(t *testing.T) { FILE: pkg/datastore/datastore.go type Datastore (line 14) | type Datastore interface function New (line 64) | func New(c *sqlstore.Config) Datastore { FILE: pkg/datastore/sqlstore/config.go type Config (line 10) | type Config struct method DSN (line 20) | func (c *Config) DSN() string { method Dbname (line 71) | func (c *Config) Dbname() string { FILE: pkg/datastore/sqlstore/config_test.go function TestConfigDSN (line 8) | func TestConfigDSN(t *testing.T) { function TestConfigDbname (line 31) | func TestConfigDbname(t *testing.T) { FILE: pkg/datastore/sqlstore/hostnames.go method HostnameID (line 7) | func (db *sqlstore) HostnameID(name string) (int64, error) { FILE: pkg/datastore/sqlstore/migrations/mysql/10_alter_stats_table_constraints.sql type unique_daily_site_stats (line 7) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(site_id,... type unique_daily_page_stats (line 8) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id,... type unique_daily_referrer_stats (line 9) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... type unique_daily_site_stats (line 17) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date) type unique_daily_page_stats (line 18) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname... type unique_daily_referrer_stats (line 19) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/mysql/12_create_hostnames_table.sql type hostnames (line 2) | CREATE TABLE hostnames( FILE: pkg/datastore/sqlstore/migrations/mysql/13_create_unique_hostname_index.sql type unique_hostnames_name (line 2) | CREATE UNIQUE INDEX unique_hostnames_name ON hostnames(name(100)) FILE: pkg/datastore/sqlstore/migrations/mysql/14_create_pathnames_table.sql type pathnames (line 2) | CREATE TABLE pathnames( FILE: pkg/datastore/sqlstore/migrations/mysql/15_create_unique_pathname_index.sql type unique_pathnames_name (line 2) | CREATE UNIQUE INDEX unique_pathnames_name ON pathnames(name(100)) FILE: pkg/datastore/sqlstore/migrations/mysql/18_alter_page_stats_table.sql type daily_page_stats (line 4) | CREATE TABLE daily_page_stats( FILE: pkg/datastore/sqlstore/migrations/mysql/19_alter_referrer_stats_table.sql type daily_referrer_stats (line 4) | CREATE TABLE daily_referrer_stats( FILE: pkg/datastore/sqlstore/migrations/mysql/1_initial_tables.sql type users (line 3) | CREATE TABLE users ( type pageviews (line 9) | CREATE TABLE pageviews( type daily_page_stats (line 23) | CREATE TABLE daily_page_stats( type daily_site_stats (line 34) | CREATE TABLE daily_site_stats( type daily_referrer_stats (line 43) | CREATE TABLE daily_referrer_stats( type unique_user_email (line 52) | CREATE UNIQUE INDEX unique_user_email ON users(email) type unique_daily_site_stats (line 53) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date) type unique_daily_page_stats (line 54) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname... type unique_daily_referrer_stats (line 55) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/mysql/20_recreate_stats_indices.sql type unique_daily_page_stats (line 2) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id,... type unique_daily_referrer_stats (line 3) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/mysql/21_alter_page_stats_table.sql type page_stats (line 2) | CREATE TABLE page_stats( FILE: pkg/datastore/sqlstore/migrations/mysql/22_alter_site_stats_table.sql type site_stats (line 2) | CREATE TABLE site_stats( FILE: pkg/datastore/sqlstore/migrations/mysql/23_alter_referrer_stats_table.sql type referrer_stats (line 2) | CREATE TABLE referrer_stats( FILE: pkg/datastore/sqlstore/migrations/mysql/24_recreate_stat_table_indices.sql type unique_page_stats (line 2) | CREATE UNIQUE INDEX unique_page_stats ON page_stats(site_id, hostname_id... type unique_referrer_stats (line 3) | CREATE UNIQUE INDEX unique_referrer_stats ON referrer_stats(site_id, hos... type unique_site_stats (line 4) | CREATE UNIQUE INDEX unique_site_stats ON site_stats(site_id, ts) FILE: pkg/datastore/sqlstore/migrations/mysql/3_referrer_group_column.sql type unique_daily_referrer_stats (line 13) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/mysql/5_create_sites_table.sql type sites (line 2) | CREATE TABLE sites ( FILE: pkg/datastore/sqlstore/migrations/postgres/11_alter_stats_table_constraints.sql type unique_daily_site_stats (line 7) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(site_id,... type unique_daily_page_stats (line 8) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id,... type unique_daily_referrer_stats (line 9) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... type unique_daily_site_stats (line 17) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date) type unique_daily_page_stats (line 18) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname... type unique_daily_referrer_stats (line 19) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/postgres/13_create_hostnames_table.sql type hostnames (line 2) | CREATE TABLE hostnames( FILE: pkg/datastore/sqlstore/migrations/postgres/14_create_unique_hostname_index.sql type unique_hostnames_name (line 2) | CREATE UNIQUE INDEX unique_hostnames_name ON hostnames(name) FILE: pkg/datastore/sqlstore/migrations/postgres/15_create_pathnames_table.sql type pathnames (line 2) | CREATE TABLE pathnames( FILE: pkg/datastore/sqlstore/migrations/postgres/16_create_unique_pathname_index.sql type unique_pathnames_name (line 2) | CREATE UNIQUE INDEX unique_pathnames_name ON pathnames(name) FILE: pkg/datastore/sqlstore/migrations/postgres/19_alter_page_stats_table.sql type daily_page_stats (line 4) | CREATE TABLE daily_page_stats( FILE: pkg/datastore/sqlstore/migrations/postgres/1_initial_tables.sql type users (line 3) | CREATE TABLE users( type pageviews (line 9) | CREATE TABLE pageviews( type daily_page_stats (line 23) | CREATE TABLE daily_page_stats( type daily_site_stats (line 34) | CREATE TABLE daily_site_stats( type daily_referrer_stats (line 43) | CREATE TABLE daily_referrer_stats( type unique_user_email (line 52) | CREATE UNIQUE INDEX unique_user_email ON users(email) type unique_daily_site_stats (line 53) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date) type unique_daily_page_stats (line 54) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname... type unique_daily_referrer_stats (line 55) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/postgres/20_alter_referrer_stats_table.sql type daily_referrer_stats (line 4) | CREATE TABLE daily_referrer_stats( FILE: pkg/datastore/sqlstore/migrations/postgres/21_recreate_stats_indices.sql type unique_daily_page_stats (line 2) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id,... type unique_daily_referrer_stats (line 3) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/postgres/22_alter_page_stats_table.sql type page_stats (line 2) | CREATE TABLE page_stats( FILE: pkg/datastore/sqlstore/migrations/postgres/23_alter_referrer_stats_table.sql type referrer_stats (line 2) | CREATE TABLE referrer_stats( FILE: pkg/datastore/sqlstore/migrations/postgres/24_alter_site_stats_table.sql type site_stats (line 2) | CREATE TABLE site_stats( FILE: pkg/datastore/sqlstore/migrations/postgres/25_recreate_stat_table_indices.sql type unique_page_stats (line 4) | CREATE UNIQUE INDEX unique_page_stats ON page_stats(site_id, hostname_id... type unique_referrer_stats (line 5) | CREATE UNIQUE INDEX unique_referrer_stats ON referrer_stats(site_id, hos... type unique_site_stats (line 6) | CREATE UNIQUE INDEX unique_site_stats ON site_stats(site_id, ts) FILE: pkg/datastore/sqlstore/migrations/postgres/3_referrer_group_column.sql type unique_daily_referrer_stats (line 12) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/postgres/5_create_sites_table.sql type sites (line 2) | CREATE TABLE sites ( FILE: pkg/datastore/sqlstore/migrations/sqlite3/10_alter_stats_table_constraints.sql type unique_daily_site_stats (line 7) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(site_id,... type unique_daily_page_stats (line 8) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id,... type unique_daily_referrer_stats (line 9) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... type unique_daily_site_stats (line 17) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date) type unique_daily_page_stats (line 18) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname... type unique_daily_referrer_stats (line 19) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/sqlite3/11_add_pageview_finished_column.sql type pageviews (line 4) | CREATE TABLE pageviews( type pageviews (line 22) | CREATE TABLE pageviews( FILE: pkg/datastore/sqlstore/migrations/sqlite3/12_create_hostnames_table.sql type hostnames (line 2) | CREATE TABLE hostnames( FILE: pkg/datastore/sqlstore/migrations/sqlite3/13_create_unique_hostname_index.sql type unique_hostnames_name (line 2) | CREATE UNIQUE INDEX unique_hostnames_name ON hostnames(name) FILE: pkg/datastore/sqlstore/migrations/sqlite3/14_create_pathnames_table.sql type pathnames (line 2) | CREATE TABLE pathnames( FILE: pkg/datastore/sqlstore/migrations/sqlite3/15_create_unique_pathname_index.sql type unique_pathnames_name (line 2) | CREATE UNIQUE INDEX unique_pathnames_name ON pathnames(name) FILE: pkg/datastore/sqlstore/migrations/sqlite3/18_alter_page_stats_table.sql type daily_page_stats (line 4) | CREATE TABLE daily_page_stats( FILE: pkg/datastore/sqlstore/migrations/sqlite3/19_alter_referrer_stats_table.sql type daily_referrer_stats (line 4) | CREATE TABLE daily_referrer_stats( FILE: pkg/datastore/sqlstore/migrations/sqlite3/1_initial_tables.sql type users (line 3) | CREATE TABLE users ( type pageviews (line 9) | CREATE TABLE pageviews( type daily_page_stats (line 23) | CREATE TABLE daily_page_stats( type daily_site_stats (line 34) | CREATE TABLE daily_site_stats( type daily_referrer_stats (line 43) | CREATE TABLE daily_referrer_stats( type unique_user_email (line 52) | CREATE UNIQUE INDEX unique_user_email ON users(email) type unique_daily_site_stats (line 53) | CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date) type unique_daily_page_stats (line 54) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(hostname... type unique_daily_referrer_stats (line 55) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/sqlite3/20_recreate_stats_indices.sql type unique_daily_page_stats (line 4) | CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(site_id,... type unique_daily_referrer_stats (line 5) | CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(... FILE: pkg/datastore/sqlstore/migrations/sqlite3/21_alter_page_stats_table.sql type page_stats (line 2) | CREATE TABLE page_stats( FILE: pkg/datastore/sqlstore/migrations/sqlite3/22_alter_site_stats_table.sql type site_stats (line 2) | CREATE TABLE site_stats( FILE: pkg/datastore/sqlstore/migrations/sqlite3/23_alter_referrer_stats_table.sql type referrer_stats (line 2) | CREATE TABLE referrer_stats( FILE: pkg/datastore/sqlstore/migrations/sqlite3/24_recreate_stat_table_indices.sql type unique_page_stats (line 4) | CREATE UNIQUE INDEX unique_page_stats ON page_stats(site_id, hostname_id... type unique_referrer_stats (line 5) | CREATE UNIQUE INDEX unique_referrer_stats ON referrer_stats(site_id, hos... type unique_site_stats (line 6) | CREATE UNIQUE INDEX unique_site_stats ON site_stats(site_id, ts) FILE: pkg/datastore/sqlstore/migrations/sqlite3/26_sites_id_autoinc.sql type sites (line 4) | CREATE TABLE sites ( type sites (line 14) | CREATE TABLE sites ( FILE: pkg/datastore/sqlstore/migrations/sqlite3/3_referrer_group_column.sql type daily_referrer_stats (line 12) | CREATE TABLE daily_referrer_stats( FILE: pkg/datastore/sqlstore/migrations/sqlite3/4_pageview_id_column.sql type pageviews (line 4) | CREATE TABLE pageviews( type pageviews (line 20) | CREATE TABLE pageviews( FILE: pkg/datastore/sqlstore/migrations/sqlite3/5_create_sites_table.sql type sites (line 2) | CREATE TABLE sites ( FILE: pkg/datastore/sqlstore/migrations/sqlite3/6_add_site_tracking_id_column_to_pageviews_table.sql type pageviews (line 4) | CREATE TABLE pageviews( type pageviews (line 22) | CREATE TABLE pageviews( FILE: pkg/datastore/sqlstore/page_stats.go method GetPageStats (line 10) | func (db *sqlstore) GetPageStats(siteID int64, date time.Time, hostnameI... method SavePageStats (line 21) | func (db *sqlstore) SavePageStats(s *models.PageStats) error { method insertPageStats (line 29) | func (db *sqlstore) insertPageStats(s *models.PageStats) error { method updatePageStats (line 35) | func (db *sqlstore) updatePageStats(s *models.PageStats) error { method SelectAggregatedPageStats (line 41) | func (db *sqlstore) SelectAggregatedPageStats(siteID int64, startDate ti... method GetAggregatedPageStatsPageviews (line 61) | func (db *sqlstore) GetAggregatedPageStatsPageviews(siteID int64, startD... FILE: pkg/datastore/sqlstore/pageviews.go method GetPageview (line 12) | func (db *sqlstore) GetPageview(id string) (*models.Pageview, error) { method InsertPageviews (line 26) | func (db *sqlstore) InsertPageviews(pageviews []*models.Pageview) error { method UpdatePageviews (line 76) | func (db *sqlstore) UpdatePageviews(pageviews []*models.Pageview) error { method GetProcessablePageviews (line 106) | func (db *sqlstore) GetProcessablePageviews(limit int) ([]*models.Pagevi... method DeletePageviews (line 114) | func (db *sqlstore) DeletePageviews(pageviews []*models.Pageview) error { FILE: pkg/datastore/sqlstore/pathnames.go method PathnameID (line 7) | func (db *sqlstore) PathnameID(name string) (int64, error) { FILE: pkg/datastore/sqlstore/referrer_stats.go method GetReferrerStats (line 10) | func (db *sqlstore) GetReferrerStats(siteID int64, date time.Time, hostn... method SaveReferrerStats (line 21) | func (db *sqlstore) SaveReferrerStats(s *models.ReferrerStats) error { method insertReferrerStats (line 29) | func (db *sqlstore) insertReferrerStats(s *models.ReferrerStats) error { method updateReferrerStats (line 35) | func (db *sqlstore) updateReferrerStats(s *models.ReferrerStats) error { method SelectAggregatedReferrerStats (line 41) | func (db *sqlstore) SelectAggregatedReferrerStats(siteID int64, startDat... method GetAggregatedReferrerStatsPageviews (line 70) | func (db *sqlstore) GetAggregatedReferrerStatsPageviews(siteID int64, st... FILE: pkg/datastore/sqlstore/site_stats.go method GetSiteStats (line 11) | func (db *sqlstore) GetSiteStats(siteID int64, date time.Time) (*models.... method SaveSiteStats (line 23) | func (db *sqlstore) SaveSiteStats(s *models.SiteStats) error { method insertSiteStats (line 31) | func (db *sqlstore) insertSiteStats(s *models.SiteStats) error { method updateSiteStats (line 37) | func (db *sqlstore) updateSiteStats(s *models.SiteStats) error { method SelectSiteStats (line 43) | func (db *sqlstore) SelectSiteStats(siteID int64, startDate time.Time, e... method GetAggregatedSiteStats (line 53) | func (db *sqlstore) GetAggregatedSiteStats(siteID int64, startDate time.... method GetRealtimeVisitorCount (line 67) | func (db *sqlstore) GetRealtimeVisitorCount(siteID int64) (int64, error) { FILE: pkg/datastore/sqlstore/sites.go method GetSites (line 10) | func (db *sqlstore) GetSites() ([]*models.Site, error) { method GetSite (line 23) | func (db *sqlstore) GetSite(id int64) (*models.Site, error) { method SaveSite (line 31) | func (db *sqlstore) SaveSite(s *models.Site) error { method insertSite (line 40) | func (db *sqlstore) insertSite(s *models.Site) error { method updateSite (line 64) | func (db *sqlstore) updateSite(s *models.Site) error { method DeleteSite (line 71) | func (db *sqlstore) DeleteSite(s *models.Site) error { FILE: pkg/datastore/sqlstore/sqlstore.go constant MYSQL (line 19) | MYSQL = "mysql" constant POSTGRES (line 20) | POSTGRES = "postgres" constant SQLITE (line 21) | SQLITE = "sqlite3" constant DATE_FORMAT (line 23) | DATE_FORMAT = "2006-01-02 15:00:00" type sqlstore (line 26) | type sqlstore struct method Migrate (line 57) | func (db *sqlstore) Migrate() { method Health (line 84) | func (db *sqlstore) Health() error { method Close (line 92) | func (db *sqlstore) Close() error { function New (line 37) | func New(c *Config) *sqlstore { function mapError (line 96) | func mapError(err error) error { FILE: pkg/datastore/sqlstore/users.go method GetUser (line 10) | func (db *sqlstore) GetUser(ID int64) (*models.User, error) { method GetUserByEmail (line 27) | func (db *sqlstore) GetUserByEmail(email string) (*models.User, error) { method SaveUser (line 35) | func (db *sqlstore) SaveUser(u *models.User) error { method insertUser (line 44) | func (db *sqlstore) insertUser(u *models.User) error { method updateUser (line 64) | func (db *sqlstore) updateUser(u *models.User) error { method DeleteUser (line 71) | func (db *sqlstore) DeleteUser(u *models.User) error { method CountUsers (line 78) | func (db *sqlstore) CountUsers() (int64, error) { FILE: pkg/models/page_stats.go type PageStats (line 7) | type PageStats struct method HandlePageview (line 23) | func (s *PageStats) HandlePageview(p *Pageview) { FILE: pkg/models/page_stats_test.go function TestPageStatsHandlePageview (line 5) | func TestPageStatsHandlePageview(t *testing.T) { FILE: pkg/models/pageview.go type Pageview (line 7) | type Pageview struct FILE: pkg/models/referrer_stats.go type ReferrerStats (line 7) | type ReferrerStats struct method HandlePageview (line 23) | func (s *ReferrerStats) HandlePageview(p *Pageview) { FILE: pkg/models/referrer_stats_test.go function TestReferrerStatsHandlePageview (line 5) | func TestReferrerStatsHandlePageview(t *testing.T) { FILE: pkg/models/site.go type Site (line 4) | type Site struct FILE: pkg/models/site_stats.go type SiteStats (line 8) | type SiteStats struct method FormattedDuration (line 20) | func (s *SiteStats) FormattedDuration() string { method HandlePageview (line 24) | func (s *SiteStats) HandlePageview(p *Pageview) { FILE: pkg/models/site_stats_test.go function TestSiteStatsFormattedDuration (line 7) | func TestSiteStatsFormattedDuration(t *testing.T) { function TestSiteStatsHandlePageview (line 23) | func TestSiteStatsHandlePageview(t *testing.T) { FILE: pkg/models/user.go type User (line 9) | type User struct method SetPassword (line 25) | func (u *User) SetPassword(pwd string) { method ComparePassword (line 31) | func (u *User) ComparePassword(pwd string) error { function NewUser (line 16) | func NewUser(e string, pwd string) User { FILE: pkg/models/user_test.go function TestNewUser (line 7) | func TestNewUser(t *testing.T) { function TestUserPassword (line 21) | func TestUserPassword(t *testing.T) {