Private
Public Access
1
0

Use logger instance instead of default log/slog
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-10-22 16:33:54 -07:00
parent f85f09ebcf
commit 86ad4a76b7
4 changed files with 20 additions and 19 deletions

View File

@@ -4,11 +4,10 @@ import (
"context" "context"
"time" "time"
"log/slog"
"github.com/ClickHouse/clickhouse-go/v2" "github.com/ClickHouse/clickhouse-go/v2"
"github.com/ClickHouse/clickhouse-go/v2/lib/driver" "github.com/ClickHouse/clickhouse-go/v2/lib/driver"
"go.ntppool.org/common/logger"
"go.ntppool.org/common/version" "go.ntppool.org/common/version"
) )
@@ -26,6 +25,8 @@ func New(ctx context.Context, dbConfigPath string) (*ClickHouse, error) {
func setupClickhouse(ctx context.Context) (driver.Conn, error) { func setupClickhouse(ctx context.Context) (driver.Conn, error) {
log := logger.Setup()
conn, err := clickhouse.Open(&clickhouse.Options{ conn, err := clickhouse.Open(&clickhouse.Options{
Addr: []string{"10.43.207.123:9000"}, Addr: []string{"10.43.207.123:9000"},
Auth: clickhouse.Auth{ Auth: clickhouse.Auth{
@@ -68,11 +69,11 @@ func setupClickhouse(ctx context.Context) (driver.Conn, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
slog.Info("clickhouse connection", "version", v) log.Info("clickhouse connection", "version", v)
err = conn.Ping(ctx) err = conn.Ping(ctx)
if err != nil { if err != nil {
slog.Error("clickhouse ping", "err", err) log.Error("clickhouse ping", "err", err)
return nil, err return nil, err
} }

View File

@@ -5,12 +5,11 @@ package chdb
import ( import (
"context" "context"
"fmt" "fmt"
"log"
"log/slog"
"sort" "sort"
"time" "time"
"github.com/ClickHouse/clickhouse-go/v2" "github.com/ClickHouse/clickhouse-go/v2"
"go.ntppool.org/common/logger"
"go.ntppool.org/common/tracing" "go.ntppool.org/common/tracing"
) )
@@ -33,13 +32,14 @@ func (s UserCountry) Less(i, j int) bool {
} }
func (d *ClickHouse) UserCountryData(ctx context.Context) (*UserCountry, error) { func (d *ClickHouse) UserCountryData(ctx context.Context) (*UserCountry, error) {
log := logger.Setup()
ctx, span := tracing.Tracer().Start(ctx, "UserCountryData") ctx, span := tracing.Tracer().Start(ctx, "UserCountryData")
defer span.End() defer span.End()
rows, err := d.conn.Query(clickhouse.Context(ctx, clickhouse.WithSpan(span.SpanContext())), rows, err := d.conn.Query(clickhouse.Context(ctx, clickhouse.WithSpan(span.SpanContext())),
"select max(dt) as d,UserCC,Qtype,sum(queries) as queries from by_usercc_1d where dt > now() - INTERVAL 4 DAY group by rollup(Qtype,UserCC) order by UserCC,Qtype;") "select max(dt) as d,UserCC,Qtype,sum(queries) as queries from by_usercc_1d where dt > now() - INTERVAL 4 DAY group by rollup(Qtype,UserCC) order by UserCC,Qtype;")
if err != nil { if err != nil {
slog.Error("query error", "err", err) log.ErrorContext(ctx, "query error", "err", err)
return nil, fmt.Errorf("database error") return nil, fmt.Errorf("database error")
} }
@@ -82,7 +82,7 @@ func (d *ClickHouse) UserCountryData(ctx context.Context) (*UserCountry, error)
&Qtype, &Qtype,
&queries, &queries,
); err != nil { ); err != nil {
log.Fatal(err) return nil, err
} }
// tdt, err := time.Parse(time.RFC3339, dt) // tdt, err := time.Parse(time.RFC3339, dt)
@@ -108,7 +108,7 @@ func (d *ClickHouse) UserCountryData(ctx context.Context) (*UserCountry, error)
c = ccs[dt].CC[UserCC] c = ccs[dt].CC[UserCC]
} else { } else {
slog.Info("row", "dt", dt, "usercc", UserCC, "qtype", Qtype, "queries", queries) log.InfoContext(ctx, "row", "dt", dt, "usercc", UserCC, "qtype", Qtype, "queries", queries)
if dt.UTC().Equal(time.Unix(0, 0)) { if dt.UTC().Equal(time.Unix(0, 0)) {
continue // we skip the overall total continue // we skip the overall total
@@ -143,7 +143,7 @@ func (d *ClickHouse) UserCountryData(ctx context.Context) (*UserCountry, error)
totalDay, ok := totals[d] totalDay, ok := totals[d]
if !ok { if !ok {
slog.Error("no total for day", "date", d) log.ErrorContext(ctx, "no total for day", "date", d)
continue continue
} }
total4 := float64(totalDay.Count4) total4 := float64(totalDay.Count4)

View File

@@ -3,8 +3,7 @@ package ntpdb
import ( import (
"context" "context"
"log/slog" "go.ntppool.org/common/logger"
"go.ntppool.org/common/tracing" "go.ntppool.org/common/tracing"
) )
@@ -17,6 +16,7 @@ type ZoneStat struct {
} }
func GetZoneStats(ctx context.Context, q Querier) (*ZoneStats, error) { func GetZoneStats(ctx context.Context, q Querier) (*ZoneStats, error) {
log := logger.Setup()
ctx, span := tracing.Tracer().Start(ctx, "GetZoneStats") ctx, span := tracing.Tracer().Start(ctx, "GetZoneStats")
defer span.End() defer span.End()
@@ -73,7 +73,7 @@ func GetZoneStats(ctx context.Context, q Querier) (*ZoneStats, error) {
data := ZoneStats{} data := ZoneStats{}
for name, cc := range ccs { for name, cc := range ccs {
slog.Info("zone stats cc", "name", name) log.InfoContext(ctx, "zone stats cc", "name", name)
cc.PercentTotal.V4 = (100 / total4) * float64(cc.Netspeed4) cc.PercentTotal.V4 = (100 / total4) * float64(cc.Netspeed4)
cc.PercentTotal.V6 = (100 / total6) * float64(cc.Netspeed6) cc.PercentTotal.V6 = (100 / total6) * float64(cc.Netspeed6)

View File

@@ -5,7 +5,6 @@ import (
"database/sql" "database/sql"
"errors" "errors"
"fmt" "fmt"
"log/slog"
"net/http" "net/http"
"golang.org/x/sync/errgroup" "golang.org/x/sync/errgroup"
@@ -130,22 +129,23 @@ func (srv *Server) Shutdown(ctx context.Context) error {
} }
func (srv *Server) userCountryData(c echo.Context) error { func (srv *Server) userCountryData(c echo.Context) error {
log := logger.Setup()
ctx := c.Request().Context() ctx, span := tracing.Tracer().Start(c.Request().Context(), "userCountryData")
defer span.End()
q := ntpdb.NewWrappedQuerier(ntpdb.New(srv.db)) q := ntpdb.NewWrappedQuerier(ntpdb.New(srv.db))
zoneStats, err := ntpdb.GetZoneStats(ctx, q) zoneStats, err := ntpdb.GetZoneStats(ctx, q)
if err != nil { if err != nil {
slog.Error("GetZoneStats", "err", err) log.ErrorContext(ctx, "GetZoneStats", "err", err)
return c.String(http.StatusInternalServerError, err.Error()) return c.String(http.StatusInternalServerError, err.Error())
} }
if zoneStats == nil { if zoneStats == nil {
slog.Info("didn't get zoneStats") log.InfoContext(ctx, "didn't get zoneStats")
} }
data, err := srv.ch.UserCountryData(c.Request().Context()) data, err := srv.ch.UserCountryData(c.Request().Context())
if err != nil { if err != nil {
slog.Error("UserCountryData", "err", err) log.ErrorContext(ctx, "UserCountryData", "err", err)
return c.String(http.StatusInternalServerError, err.Error()) return c.String(http.StatusInternalServerError, err.Error())
} }