pico

created pr with 35.1 on 2024-11-15T15:03:31Z · by c8ef7d19
added 35.2 on 2024-11-23T03:34:44Z · by c8ef7d19
1: 77aaa29 ! 1: 8d56535 reactor(metric-drain): use caddy json format
-: ------- > 2: a336041 wip
-: ------- > 3: 7ae45b3 chore: wrap
-: ------- > 4: bfa5c4f done
added 35.3 on 2024-11-27T20:17:20Z · by c8ef7d19
1: 8d56535 < -: ------- reactor(metric-drain): use caddy json format
-: ------- > 1: c7eeb12 reactor(metric-drain): use caddy access logs
2: a336041 < -: ------- wip
3: 7ae45b3 < -: ------- chore: wrap
4: bfa5c4f < -: ------- done
added 35.4 on 2024-11-27T20:18:31Z · by c8ef7d19
1: c7eeb12 ! 1: 4e0839a reactor(metric-drain): use caddy access logs
changed status to accepted on 2024-11-28T03:03:53Z · by c8ef7d19
cmds
checkout latest patchset:
ssh pr.pico.sh print 35 | git am -3
checkout any patchset in a patch request:
ssh pr.pico.sh print 35.[rev] | git am -3
add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 35
set PR to open (enables RSS notifications):
ssh pr.pico.sh pr open 35
set PR to draft (stops RSS notifications):
ssh pr.pico.sh pr draft 35
+8 -7 auth/api.go #
......@@ -589,7 +589,7 @@ type AccessLogReq struct {
589589 Uri string `json:"uri"`
590590 Headers struct {
591591 UserAgent []string `json:"User-Agent"`
592- Referer string `json:"Referer"`
592+ Referer []string `json:"Referer"`
593593 } `json:"headers"`
594594 Tls struct {
595595 ServerName string `json:"server_name"`
......@@ -658,7 +658,7 @@ func deserializeCaddyAccessLog(dbpool db.DB, access *CaddyAccessLog) (*db.Analyt
658658 Path: path,
659659 IpAddress: access.Request.ClientIP,
660660 UserAgent: strings.Join(access.Request.Headers.UserAgent, " "),
661- Referer: access.Request.Headers.Referer, // TODO: I don't see referer in the access log
661+ Referer: strings.Join(access.Request.Headers.Referer, " "),
662662 Status: access.Status,
663663 }, nil
664664 }
......@@ -699,7 +699,7 @@ func containerDrainSub(ctx context.Context, dbpool db.DB, logger *slog.Logger) {
699699 clean := strings.TrimSpace(line)
700700 visit, err := accessLogToVisit(dbpool, clean)
701701 if err != nil {
702- logger.Error("could not convert access log to a visit", "err", err)
702+ logger.Debug("could not convert access log to a visit", "err", err)
703703 continue
704704 }
705705 jso, err := json.Marshal(visit)
......@@ -736,12 +736,13 @@ func metricDrainSub(ctx context.Context, dbpool db.DB, logger *slog.Logger, secr
736736 scanner := bufio.NewScanner(drain)
737737 for scanner.Scan() {
738738 line := scanner.Text()
739- visit, err := accessLogToVisit(dbpool, line)
739+ visit := db.AnalyticsVisits{}
740+ err := json.Unmarshal([]byte(line), &visit)
740741 if err != nil {
741- logger.Error("could not convert access log to a visit", "err", err)
742+ logger.Info("could not unmarshal json", "err", err, "line", line)
742743 continue
743744 }
744- err = shared.AnalyticsVisitFromVisit(visit, dbpool, secret)
745+ err = shared.AnalyticsVisitFromVisit(&visit, dbpool, secret)
745746 if err != nil {
746747 if !errors.Is(err, shared.ErrAnalyticsDisabled) {
747748 logger.Info("could not record analytics visit", "reason", err)
......@@ -749,7 +750,7 @@ func metricDrainSub(ctx context.Context, dbpool db.DB, logger *slog.Logger, secr
749750 }
750751
751752 logger.Info("inserting visit", "visit", visit)
752- err = dbpool.InsertVisit(visit)
753+ err = dbpool.InsertVisit(&visit)
753754 if err != nil {
754755 logger.Error("could not insert visit record", "err", err)
755756 }
Back to top