* feat(backend): redshift connector draft * fix(backend): fixed memory leak, empty string ddos * feat(backend): draft for sessions part * feat(backend): session handler * fix(backend): fixed wrong columns list in sessionToCSV convertor * feat(backend): load session info from db/cache if there is nothing in memory when sessionEnd event recieved * feat(backend): added filters for connector * feat(backend): memory leak fix + extra cache for sessions * feat(backend): moved table names as an env variable * fix(backend): added timeout for last session messages to avoid memory leak * fix(backend): fixed last memory leak * feat(backend): moved redshift connector to ee folder
31 lines
1 KiB
Go
31 lines
1 KiB
Go
package connector
|
|
|
|
import (
|
|
"openreplay/backend/internal/config/common"
|
|
"openreplay/backend/internal/config/configurator"
|
|
"openreplay/backend/internal/config/objectstorage"
|
|
"openreplay/backend/internal/config/redis"
|
|
"time"
|
|
)
|
|
|
|
type Config struct {
|
|
common.Config
|
|
common.Postgres
|
|
redis.Redis
|
|
common.Redshift
|
|
objectstorage.ObjectsConfig
|
|
SessionsTableName string `env:"SESSIONS_TABLE_NAME,default=connector_user_sessions"`
|
|
EventsTableName string `env:"EVENTS_TABLE_NAME,default=connector_events"`
|
|
EventLevel string `env:"EVENT_LEVEL,default=normal"`
|
|
GroupConnector string `env:"GROUP_REDSHIFT_CONNECTOR,default=redshift-connector"`
|
|
TopicRawWeb string `env:"TOPIC_RAW_WEB,required"`
|
|
TopicAnalytics string `env:"TOPIC_ANALYTICS,required"`
|
|
CommitBatchTimeout time.Duration `env:"COMMIT_BATCH_TIMEOUT,default=5s"`
|
|
UseProfiler bool `env:"PROFILER_ENABLED,default=false"`
|
|
}
|
|
|
|
func New() *Config {
|
|
cfg := &Config{}
|
|
configurator.Process(cfg)
|
|
return cfg
|
|
}
|