feat(backend): cleaned up in internal dir

This commit is contained in:
Alexander Zavorotynskiy 2022-06-06 14:13:24 +02:00
parent a7bfbc8ff7
commit c963b74cbf
44 changed files with 73 additions and 51 deletions

View file

@ -2,11 +2,11 @@ package main
import (
"log"
"openreplay/backend/internal/builder"
"openreplay/backend/internal/config/db"
"openreplay/backend/internal/datasaver"
"openreplay/backend/internal/handlers"
"openreplay/backend/internal/handlers/custom"
"openreplay/backend/internal/db/datasaver"
"openreplay/backend/pkg/handlers"
custom2 "openreplay/backend/pkg/handlers/custom"
"openreplay/backend/pkg/sessions"
"time"
"os"
@ -33,14 +33,14 @@ func main() {
// HandlersFabric returns the list of message handlers we want to be applied to each incoming message.
handlersFabric := func() []handlers.MessageProcessor {
return []handlers.MessageProcessor{
&custom.EventMapper{},
custom.NewInputEventBuilder(),
custom.NewPageEventBuilder(),
&custom2.EventMapper{},
custom2.NewInputEventBuilder(),
custom2.NewPageEventBuilder(),
}
}
// Create handler's aggregator
builderMap := builder.NewBuilderMap(handlersFabric)
builderMap := sessions.NewBuilderMap(handlersFabric)
// Init modules
saver := datasaver.New(pg)

View file

@ -2,17 +2,17 @@ package main
import (
"log"
"openreplay/backend/internal/builder"
"openreplay/backend/internal/config/heuristics"
"openreplay/backend/internal/handlers"
"openreplay/backend/internal/handlers/custom"
"openreplay/backend/internal/handlers/ios"
"openreplay/backend/internal/handlers/web"
"openreplay/backend/pkg/handlers"
"openreplay/backend/pkg/handlers/custom"
ios2 "openreplay/backend/pkg/handlers/ios"
web2 "openreplay/backend/pkg/handlers/web"
"openreplay/backend/pkg/intervals"
logger "openreplay/backend/pkg/log"
"openreplay/backend/pkg/messages"
"openreplay/backend/pkg/queue"
"openreplay/backend/pkg/queue/types"
"openreplay/backend/pkg/sessions"
"os"
"os/signal"
"syscall"
@ -29,23 +29,23 @@ func main() {
handlersFabric := func() []handlers.MessageProcessor {
return []handlers.MessageProcessor{
// web handlers
&web.ClickRageDetector{},
&web.CpuIssueDetector{},
&web.DeadClickDetector{},
&web.MemoryIssueDetector{},
&web.NetworkIssueDetector{},
&web.PerformanceAggregator{},
&web2.ClickRageDetector{},
&web2.CpuIssueDetector{},
&web2.DeadClickDetector{},
&web2.MemoryIssueDetector{},
&web2.NetworkIssueDetector{},
&web2.PerformanceAggregator{},
// iOS handlers
&ios.AppNotResponding{},
&ios.ClickRageDetector{},
&ios.PerformanceAggregator{},
&ios2.AppNotResponding{},
&ios2.ClickRageDetector{},
&ios2.PerformanceAggregator{},
// Other handlers (you can add your custom handlers here)
&custom.CustomHandler{},
}
}
// Create handler's aggregator
builderMap := builder.NewBuilderMap(handlersFabric)
builderMap := sessions.NewBuilderMap(handlersFabric)
// Init logger
statsLogger := logger.NewQueueStats(cfg.LoggerTimeout)

View file

@ -2,14 +2,14 @@ package main
import (
"log"
"openreplay/backend/internal/config/http"
"openreplay/backend/internal/http/router"
"openreplay/backend/internal/http/server"
"openreplay/backend/internal/http/services"
"os"
"os/signal"
"syscall"
"openreplay/backend/internal/config"
"openreplay/backend/internal/router"
"openreplay/backend/internal/server"
"openreplay/backend/internal/services"
"openreplay/backend/pkg/db/cache"
"openreplay/backend/pkg/db/postgres"
"openreplay/backend/pkg/pprof"
@ -21,7 +21,7 @@ func main() {
pprof.StartProfilingServer()
// Load configuration
cfg := config.New()
cfg := http.New()
// Connect to queue
producer := queue.NewProducer()

View file

@ -3,6 +3,8 @@ package main
import (
"encoding/binary"
"log"
"openreplay/backend/internal/sink/assetscache"
"openreplay/backend/internal/sink/oswriter"
"openreplay/backend/internal/storage"
"time"
@ -10,9 +12,7 @@ import (
"os/signal"
"syscall"
"openreplay/backend/internal/assetscache"
"openreplay/backend/internal/config/sink"
"openreplay/backend/internal/oswriter"
. "openreplay/backend/pkg/messages"
"openreplay/backend/pkg/queue"
"openreplay/backend/pkg/queue/types"

View file

@ -1,4 +1,4 @@
package config
package http
import (
"openreplay/backend/pkg/env"

View file

@ -6,8 +6,8 @@ import (
"log"
"math/rand"
"net/http"
"openreplay/backend/internal/ios"
"openreplay/backend/internal/uuid"
"openreplay/backend/internal/http/ios"
"openreplay/backend/internal/http/uuid"
"strconv"
"time"

View file

@ -7,7 +7,7 @@ import (
"log"
"math/rand"
"net/http"
"openreplay/backend/internal/uuid"
"openreplay/backend/internal/http/uuid"
"strconv"
"time"

View file

@ -4,17 +4,17 @@ import (
"github.com/gorilla/mux"
"log"
"net/http"
"openreplay/backend/internal/config"
http2 "openreplay/backend/internal/services"
http3 "openreplay/backend/internal/config/http"
http2 "openreplay/backend/internal/http/services"
)
type Router struct {
router *mux.Router
cfg *config.Config
cfg *http3.Config
services *http2.ServicesBuilder
}
func NewRouter(cfg *config.Config, services *http2.ServicesBuilder) (*Router, error) {
func NewRouter(cfg *http3.Config, services *http2.ServicesBuilder) (*Router, error) {
e := &Router{
cfg: cfg,
services: services,

View file

@ -1,9 +1,9 @@
package services
import (
"openreplay/backend/internal/config"
"openreplay/backend/internal/geoip"
"openreplay/backend/internal/uaparser"
"openreplay/backend/internal/config/http"
"openreplay/backend/internal/http/geoip"
"openreplay/backend/internal/http/uaparser"
"openreplay/backend/pkg/db/cache"
"openreplay/backend/pkg/flakeid"
"openreplay/backend/pkg/queue/types"
@ -21,7 +21,7 @@ type ServicesBuilder struct {
Storage *storage.S3
}
func New(cfg *config.Config, producer types.Producer, pgconn *cache.PGCache) *ServicesBuilder {
func New(cfg *http.Config, producer types.Producer, pgconn *cache.PGCache) *ServicesBuilder {
return &ServicesBuilder{
Database: pgconn,
Producer: producer,

View file

@ -1,7 +1,7 @@
package ios
import (
"openreplay/backend/internal/handlers"
"openreplay/backend/pkg/handlers"
. "openreplay/backend/pkg/messages"
)

View file

@ -1,8 +1,8 @@
package ios
import (
"openreplay/backend/internal/handlers"
"openreplay/backend/internal/handlers/web"
"openreplay/backend/pkg/handlers"
"openreplay/backend/pkg/handlers/web"
. "openreplay/backend/pkg/messages"
)

View file

@ -1,7 +1,7 @@
package ios
import (
"openreplay/backend/internal/handlers"
"openreplay/backend/pkg/handlers"
. "openreplay/backend/pkg/messages"
)

View file

@ -21,12 +21,14 @@ type Metrics struct {
meter metric.Meter
counters map[string]syncfloat64.Counter
upDownCounters map[string]syncfloat64.UpDownCounter
histograms map[string]syncfloat64.Histogram
}
func New(name string) *Metrics {
m := &Metrics{
counters: make(map[string]syncfloat64.Counter),
upDownCounters: make(map[string]syncfloat64.UpDownCounter),
histograms: make(map[string]syncfloat64.Histogram),
}
m.initPrometheusDataExporter()
m.initMetrics(name)
@ -112,3 +114,23 @@ func (m *Metrics) RegisterUpDownCounter(name string) (syncfloat64.UpDownCounter,
func (m *Metrics) GetUpDownCounter(name string) syncfloat64.UpDownCounter {
return m.upDownCounters[name]
}
/*
*/
func (m *Metrics) RegisterHistogram(name string) (syncfloat64.Histogram, error) {
if _, ok := m.histograms[name]; ok {
return nil, fmt.Errorf("histogram %s already exists", name)
}
hist, err := m.meter.SyncFloat64().Histogram(name)
if err != nil {
return nil, fmt.Errorf("failed to initialize histogram: %v", err)
}
m.histograms[name] = hist
return hist, nil
}
func (m *Metrics) GetHistogram(name string) syncfloat64.Histogram {
return m.histograms[name]
}

View file

@ -1,10 +1,10 @@
package builder
package sessions
import (
"log"
"openreplay/backend/pkg/handlers"
"time"
"openreplay/backend/internal/handlers"
. "openreplay/backend/pkg/messages"
)

View file

@ -1,9 +1,9 @@
package builder
package sessions
import (
"openreplay/backend/pkg/handlers"
"time"
"openreplay/backend/internal/handlers"
. "openreplay/backend/pkg/messages"
)

View file

@ -97,7 +97,7 @@ export const funnelIssue = (id = ':funnelId', issueId = ':issueId', hash) => has
export const tests = () => '/tests';
export const testBuilderNew = () => '/test-builder';
export const testBuilderNew = () => '/test-sessions';
export const testBuilder = (testId = ':testId') => `/test-builder/${ testId }`;