Documentation
¶
Index ¶
- Constants
- type APIConfig
- type ActionCreator
- type ActionsWorkerConfig
- type CassandraConfig
- type Condition
- type Config
- type ConsoleFormatter
- type Dimension
- type Executor
- type GeoIPConfig
- type KafkaConfig
- type KafkaConsumerConfig
- type KafkaPublisher
- type KafkaPublisherConfig
- type LoggerConfig
- type Metric
- type MetricRequestMatcher
- type RepositoryManager
- type ServerConfig
- type TrackRequest
- type TrackerConfig
- type Worker
- type WorkerConfig
- type XMLDimensions
- type XMLMetric
- type XMLMetrics
Constants ¶
const ( // APIConfigConsumer ... APIConfigConsumer = "api" // TrackerConfigConsumer ... TrackerConfigConsumer = "tracker" // ActionsWorkerConfigConsumer ... ActionsWorkerConfigConsumer = "worker/actions" )
const (
// ConditionTypeEqual ...
ConditionTypeEqual = "equal"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionCreator ¶
type ActionCreator struct {
// contains filtered or unexported fields
}
ActionCreator ...
func NewActionCreator ¶
func NewActionCreator(geoIP *geoip2.Reader) *ActionCreator
NewActionCreator ...
func (*ActionCreator) Create ¶
func (ac *ActionCreator) Create(trackRequest *TrackRequest) (*models.ActionEntity, error)
Create creates visit object based on given track request.
type ActionsWorkerConfig ¶
type ActionsWorkerConfig struct { Config Worker WorkerConfig `xml:"worker"` MetricsGroup XMLMetrics `xml:"metrics"` }
ActionsWorkerConfig ...
type CassandraConfig ¶
type CassandraConfig struct { Hosts []struct { Host string `xml:"host"` } `xml:"hosts"` Keyspace string `xml:"keyspace"` }
CassandraConfig ...
type Config ¶
type Config struct { Server ServerConfig `xml:"server"` Logger LoggerConfig `xml:"logger"` Cassandra CassandraConfig `xml:"cassandra"` GeoIP GeoIPConfig `xml:"geo-ip"` Kafka KafkaConfig `xml:"kafka"` }
Config ...
type ConsoleFormatter ¶
ConsoleFormatter ...
type KafkaConfig ¶
type KafkaConfig struct { ConnectionString string `xml:"connection-string"` Publishers struct { Action KafkaPublisherConfig `xml:"action"` } `xml:"publishers"` Consumers struct { Action KafkaConsumerConfig `xml:"action"` } `xml:"consumers"` }
KafkaConfig describes configuration of kafka messaging system.
type KafkaConsumerConfig ¶
type KafkaConsumerConfig struct { Topic string `xml:"topic"` Partition int `xml:"partition"` Offset uint64 `xml:"offset"` MaxSize uint32 `xml:"max-size"` }
KafkaConsumerConfig describes configuration of kafka consumer.
type KafkaPublisher ¶
type KafkaPublisher struct { Client *sarama.Client Config KafkaConfig }
KafkaPublisher ...
func (*KafkaPublisher) PublishAction ¶
func (kp *KafkaPublisher) PublishAction(message string) error
PublishAction ...
type KafkaPublisherConfig ¶
KafkaPublisherConfig describes configuration of kafka publisher.
type LoggerConfig ¶
LoggerConfig ...
type Metric ¶
type Metric struct {
Dimensions []Dimension
}
Metric ...
func (*Metric) DimensionsNamesAndDimensionsValues ¶
DimensionsNamesAndDimensionsValues ...
type MetricRequestMatcher ¶
type MetricRequestMatcher struct {
Metrics []Metric
}
MetricRequestMatcher ...
func NewMetricRequestMatcherFromConfig ¶
func NewMetricRequestMatcherFromConfig(config *ActionsWorkerConfig) *MetricRequestMatcher
NewMetricRequestMatcherFromConfig ...
func (*MetricRequestMatcher) Matching ¶
func (mg *MetricRequestMatcher) Matching(trackRequest *TrackRequest) []Metric
Matching ...
type RepositoryManager ¶
type RepositoryManager struct { VisitActions repositories.VisitActionsRepository // Metric by value MetricDayByValueCounter repositories.MetricDayByValueCounterRepository MetricMonthByValueCounter repositories.MetricMonthByValueCounterRepository MetricYearByValueCounter repositories.MetricYearByValueCounterRepository // Metric by time frame MetricDayByMinuteCounter repositories.MetricDayByMinuteCounterRepository MetricMonthByHourCounter repositories.MetricMonthByHourCounterRepository MetricYearByDayCounter repositories.MetricYearByDayCounterRepository }
RepositoryManager ...
type ServerConfig ¶
ServerConfig ...
type TrackRequest ¶
type TrackRequest struct { SiteID int64 RemoteAddress string Domain string VisitID string InitializeVisit bool PageTitle string PageHost string PageURL string Language string Referrer string BrowserPluginJava bool BrowserName string BrowserVersion string BrowserMajorVersion string BrowserUserAgent string BrowserPlatform string BrowserCookie bool BrowserIsOnline bool BrowserWindowWidth int64 BrowserWindowHeight int64 OperatingSystemName string OperatingSystemVersion string ScreenWidth int64 ScreenHeight int64 DeviceName string DeviceIsTablet bool DeviceIsPhone bool DeviceIsMobile bool ServerTime time.Time }
TrackRequest ...
func (*TrackRequest) CreateMap ¶
func (tr *TrackRequest) CreateMap() map[string]string
CreateMap ...
func (*TrackRequest) IsValidVisitID ¶
func (tr *TrackRequest) IsValidVisitID() bool
IsValidVisitID ...
func (*TrackRequest) ParseVisitID ¶
func (tr *TrackRequest) ParseVisitID() (gocql.UUID, error)
ParseVisitID ...
type WorkerConfig ¶
type WorkerConfig struct {
Concurency int64 `xml:"concurency"`
}
WorkerConfig ...
type XMLDimensions ¶
type XMLDimensions struct { XMLName xml.Name `xml:"dimensions"` Dimensions []Dimension `xml:"dimension"` }
XMLDimensions ...
type XMLMetric ¶
type XMLMetric struct { XMLName xml.Name `xml:"metric"` DimensionsGroup XMLDimensions `xml:"dimensions"` }
XMLMetric ...
type XMLMetrics ¶
XMLMetrics ...