Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Session storage service configuration options.
func ProvideConfig ¶
func ProvideConfig() Config
ProvideConfig is a wire provider for session storage configuration.
type Service ¶
type Service interface { // InsertSession stores given session in memory. If number of visitor session // exceed configured max session per visitor, this function returns false and // session isn't stored. InsertSession(deviceId uint64, session event.Session) bool // AddPageview adds a pageview to a session with the given device id // latest path (referrer). Session is returned along a true flag if it was // found. AddPageview(deviceId uint64, referrer event.ReferrerUri, uri uri.Uri) (event.Session, bool) // IdentifySession updates stored session visitor id. Updated session and // boolean found flag are returned. IdentifySession(deviceId uint64, pageUri uri.Uri, visitorId string) (event.Session, bool) // WaitForSession retrieves stored session and returns it. If session is not // found, it waits until it is created or timeout. // Returned boolean flag is false if wait timed out and returned an empty // session. WaitSession(deviceId uint64, pageUri uri.Uri, timeout time.Duration) (event.Session, bool) }
Service define an in memory session storage.
func ProvideService ¶
func ProvideService( logger zerolog.Logger, cfg Config, promRegistry *prometheus.Registry, ) Service
ProvideService is a wire provider for in memory session storage.
Click to show internal directories.
Click to hide internal directories.