Skip to content

Commit f9b5216

Browse files
committed
Add tracing
1 parent 42dccd2 commit f9b5216

13 files changed

+407
-241
lines changed

Makefile

+4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@ generate: sqlc
22
go generate ./...
33

44
sqlc:
5+
@which gowrap >& /dev/null || (echo "Run 'go install github.com/hexdigest/gowrap/cmd/[email protected]'" && exit 1)
6+
@which mockery >& /dev/null || (echo "Run 'go install github.com/vektra/mockery/[email protected]'" && exit 1)
57
sqlc compile
68
sqlc generate
9+
gowrap gen -t opentelemetry -i QuerierTx -p ./ntpdb -o ./ntpdb/otel.go
10+
mockery --dir ntpdb --name QuerierTx --config /dev/null
711

812
sign:
913
drone sign --save ntppool/data-api

chdb/chdnsanswers.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import (
55
"fmt"
66
"sort"
77

8+
"github.com/ClickHouse/clickhouse-go/v2"
89
"go.ntppool.org/common/logger"
10+
"go.ntppool.org/common/tracing"
911
)
1012

1113
type ccCount struct {
@@ -31,12 +33,17 @@ func (s ServerQueries) Less(i, j int) bool {
3133

3234
func (d *ClickHouse) ServerAnswerCounts(ctx context.Context, serverIP string, days int) (ServerQueries, error) {
3335

36+
ctx, span := tracing.NewTracer("fooxx").Start(ctx, "ServerAnswerCounts")
37+
defer span.End()
38+
3439
conn := d.conn
3540

3641
log := logger.Setup().With("server", serverIP)
3742

3843
// queries by UserCC / Qtype for the ServerIP
39-
rows, err := conn.Query(ctx, `
44+
rows, err := conn.Query(clickhouse.Context(ctx,
45+
clickhouse.WithSpan(span.SpanContext()),
46+
), `
4047
select UserCC,Qtype,sum(queries) as queries
4148
from by_server_ip_1d
4249
where

chdb/geoqueries.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import (
99
"log/slog"
1010
"sort"
1111
"time"
12+
13+
"github.com/ClickHouse/clickhouse-go/v2"
14+
"go.ntppool.org/common/tracing"
1215
)
1316

1417
type flatAPI struct {
@@ -30,9 +33,11 @@ func (s UserCountry) Less(i, j int) bool {
3033
}
3134

3235
func (d *ClickHouse) UserCountryData(ctx context.Context) (*UserCountry, error) {
36+
ctx, span := tracing.NewTracer("foozz").Start(ctx, "UserCountryData")
37+
defer span.End()
3338

34-
// rows, err := conn.Query(ctx, "select dt,UserCC,Qtype,sum(queries) as queries from by_usercc_1d group by rollup(dt,Qtype,UserCC) order by dt,UserCC,Qtype;")
35-
rows, err := d.conn.Query(ctx, "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;")
39+
rows, err := d.conn.Query(clickhouse.Context(ctx, clickhouse.WithSpan(span.SpanContext())),
40+
"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;")
3641
if err != nil {
3742
slog.Error("query error", "err", err)
3843
return nil, fmt.Errorf("database error")

go.mod

+8-8
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,11 @@ require (
77
github.com/go-sql-driver/mysql v1.7.1
88
github.com/labstack/echo/v4 v4.11.2
99
github.com/spf13/cobra v1.7.0
10-
go.ntppool.org/common v0.2.2
10+
github.com/stretchr/testify v1.8.4
11+
go.ntppool.org/common v0.2.3-0.20231014103130-b37b40343046
1112
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.45.0
1213
go.opentelemetry.io/otel v1.19.0
13-
go.opentelemetry.io/otel/exporters/jaeger v1.17.0
14-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0
15-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0
16-
go.opentelemetry.io/otel/sdk v1.19.0
1714
go.opentelemetry.io/otel/trace v1.19.0
18-
golang.org/x/exp v0.0.0-20230905200255-921286631fa9
1915
golang.org/x/sync v0.4.0
2016
gopkg.in/yaml.v3 v3.0.1
2117
)
@@ -26,6 +22,7 @@ require (
2622
github.com/beorn7/perks v1.0.1 // indirect
2723
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
2824
github.com/cespare/xxhash/v2 v2.2.0 // indirect
25+
github.com/davecgh/go-spew v1.1.1 // indirect
2926
github.com/go-faster/city v1.0.1 // indirect
3027
github.com/go-faster/errors v0.6.1 // indirect
3128
github.com/go-logr/logr v1.2.4 // indirect
@@ -44,25 +41,28 @@ require (
4441
github.com/paulmach/orb v0.10.0 // indirect
4542
github.com/pierrec/lz4/v4 v4.1.18 // indirect
4643
github.com/pkg/errors v0.9.1 // indirect
44+
github.com/pmezard/go-difflib v1.0.0 // indirect
4745
github.com/prometheus/client_golang v1.17.0 // indirect
4846
github.com/prometheus/client_model v0.5.0 // indirect
4947
github.com/prometheus/common v0.44.0 // indirect
5048
github.com/prometheus/procfs v0.12.0 // indirect
5149
github.com/segmentio/asm v1.2.0 // indirect
5250
github.com/shopspring/decimal v1.3.1 // indirect
5351
github.com/spf13/pflag v1.0.5 // indirect
52+
github.com/stretchr/objx v0.5.0 // indirect
5453
github.com/valyala/bytebufferpool v1.0.0 // indirect
5554
github.com/valyala/fasttemplate v1.2.2 // indirect
56-
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.17.0 // indirect
55+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect
56+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 // indirect
5757
go.opentelemetry.io/otel/metric v1.19.0 // indirect
58+
go.opentelemetry.io/otel/sdk v1.19.0 // indirect
5859
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
5960
golang.org/x/crypto v0.14.0 // indirect
6061
golang.org/x/mod v0.13.0 // indirect
6162
golang.org/x/net v0.17.0 // indirect
6263
golang.org/x/sys v0.13.0 // indirect
6364
golang.org/x/text v0.13.0 // indirect
6465
golang.org/x/time v0.3.0 // indirect
65-
google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 // indirect
6666
google.golang.org/genproto/googleapis/api v0.0.0-20231012201019-e917dd12ba7a // indirect
6767
google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a // indirect
6868
google.golang.org/grpc v1.58.3 // indirect

0 commit comments

Comments
 (0)