Skip to content

Commit 52f0922

Browse files
committed
removed environ credentials and zap logs from slo
1 parent ec1327d commit 52f0922

File tree

15 files changed

+60
-182
lines changed

15 files changed

+60
-182
lines changed

tests/slo/database/sql/main.go

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import (
88
"syscall"
99
"time"
1010

11-
"go.uber.org/zap"
12-
"go.uber.org/zap/zapcore"
1311
"golang.org/x/sync/errgroup"
1412
"golang.org/x/time/rate"
1513

@@ -18,34 +16,22 @@ import (
1816
"slo/internal/workers"
1917
)
2018

21-
var logger *zap.Logger
22-
2319
var (
2420
label string
2521
jobName string
2622
)
2723

28-
func init() {
29-
var err error
30-
logger, err = zap.NewProduction(zap.AddStacktrace(zapcore.PanicLevel))
31-
if err != nil {
32-
panic(fmt.Errorf("error create logger: %w", err))
33-
}
34-
}
35-
3624
func main() {
3725
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT)
3826
defer cancel()
3927

40-
defer func() { _ = logger.Sync() }()
41-
4228
cfg, err := config.New()
4329
if err != nil {
4430
panic(fmt.Errorf("create config failed: %w", err))
4531
}
4632

47-
logger.Info("program started")
48-
defer logger.Info("program finished")
33+
fmt.Println("program started")
34+
defer fmt.Println("program finished")
4935

5036
ctx, cancel = context.WithTimeout(ctx, time.Duration(cfg.Time)*time.Second)
5137
defer cancel()
@@ -62,15 +48,15 @@ func main() {
6248
_ = s.close(shutdownCtx)
6349
}()
6450

65-
logger.Info("db init ok")
51+
fmt.Println("db init ok")
6652

6753
switch cfg.Mode {
6854
case config.CreateMode:
6955
err = s.createTable(ctx)
7056
if err != nil {
7157
panic(fmt.Errorf("create table failed: %w", err))
7258
}
73-
logger.Info("create table ok")
59+
fmt.Println("create table ok")
7460

7561
gen := generator.New(0)
7662

@@ -97,18 +83,18 @@ func main() {
9783
panic(err)
9884
}
9985

100-
logger.Info("entries write ok")
86+
fmt.Println("entries write ok")
10187
case config.CleanupMode:
10288
err = s.dropTable(ctx)
10389
if err != nil {
10490
panic(fmt.Errorf("drop table failed: %w", err))
10591
}
10692

107-
logger.Info("cleanup table ok")
93+
fmt.Println("cleanup table ok")
10894
case config.RunMode:
10995
gen := generator.New(cfg.InitialDataCount)
11096

111-
w, err := workers.New(cfg, s, logger, label, jobName)
97+
w, err := workers.New(cfg, s, label, jobName)
11298
if err != nil {
11399
panic(fmt.Errorf("create workers failed: %w", err))
114100
}
@@ -117,7 +103,7 @@ func main() {
117103
if err != nil {
118104
panic(fmt.Errorf("workers close failed: %w", err))
119105
}
120-
logger.Info("workers close ok")
106+
fmt.Println("workers close ok")
121107
}()
122108

123109
wg := sync.WaitGroup{}

tests/slo/database/sql/storage.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import (
77
"path"
88
"time"
99

10-
env "github.com/ydb-platform/ydb-go-sdk-auth-environ"
11-
ydbZap "github.com/ydb-platform/ydb-go-sdk-zap"
1210
"github.com/ydb-platform/ydb-go-sdk/v3"
1311
"github.com/ydb-platform/ydb-go-sdk/v3/retry"
1412
"github.com/ydb-platform/ydb-go-sdk/v3/table"
@@ -93,11 +91,6 @@ func NewStorage(ctx context.Context, cfg *config.Config, poolSize int) (s *Stora
9391
s.cc, err = ydb.Open(
9492
ctx,
9593
s.cfg.Endpoint+s.cfg.DB,
96-
env.WithEnvironCredentials(ctx),
97-
ydbZap.WithTraces(
98-
logger,
99-
trace.DetailsAll,
100-
),
10194
)
10295
if err != nil {
10396
return nil, fmt.Errorf("ydb.Open error: %w", err)

tests/slo/go.mod

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ go 1.20
55
require (
66
github.com/prometheus/client_golang v1.14.0
77
github.com/ydb-platform/gorm-driver v0.0.6-0.20230529184330-9104dd08ecae
8-
github.com/ydb-platform/ydb-go-sdk-auth-environ v0.1.3
9-
github.com/ydb-platform/ydb-go-sdk-zap v0.15.0
108
github.com/ydb-platform/ydb-go-sdk/v3 v3.47.3
11-
go.uber.org/zap v1.24.0
129
golang.org/x/sync v0.1.0
1310
golang.org/x/time v0.3.0
1411
gorm.io/gorm v1.25.1
@@ -37,10 +34,9 @@ require (
3734
github.com/syndtr/goleveldb v1.0.0 // indirect
3835
github.com/yandex-cloud/go-genproto v0.0.0-20230403093326-123923969dc6 // indirect
3936
github.com/ydb-platform/ydb-go-genproto v0.0.0-20230528143953-42c825ace222 // indirect
37+
github.com/ydb-platform/ydb-go-sdk-auth-environ v0.1.3 // indirect
4038
github.com/ydb-platform/ydb-go-yc v0.10.2 // indirect
4139
github.com/ydb-platform/ydb-go-yc-metadata v0.5.3 // indirect
42-
go.uber.org/atomic v1.10.0 // indirect
43-
go.uber.org/multierr v1.11.0 // indirect
4440
golang.org/x/net v0.9.0 // indirect
4541
golang.org/x/sys v0.7.0 // indirect
4642
golang.org/x/text v0.9.0 // indirect

tests/slo/go.sum

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -404,8 +404,6 @@ github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6l
404404
github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
405405
github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
406406
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
407-
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
408-
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
409407
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
410408
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
411409
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -788,7 +786,6 @@ github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0
788786
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
789787
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
790788
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
791-
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
792789
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
793790
github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
794791
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -893,8 +890,6 @@ github.com/ydb-platform/ydb-go-genproto v0.0.0-20230528143953-42c825ace222 h1:8d
893890
github.com/ydb-platform/ydb-go-genproto v0.0.0-20230528143953-42c825ace222/go.mod h1:Er+FePu1dNUieD+XTMDduGpQuCPssK5Q4BjF+IIXJ3I=
894891
github.com/ydb-platform/ydb-go-sdk-auth-environ v0.1.3 h1:+DrFgi0hjjLarFcWHwI6WPk28hcWr6N7ga+OHAxtemI=
895892
github.com/ydb-platform/ydb-go-sdk-auth-environ v0.1.3/go.mod h1:K5wHHoLBfmWc7zyiETOA1Spx7DN+4skQ7YeWy5snXKo=
896-
github.com/ydb-platform/ydb-go-sdk-zap v0.15.0 h1:PLD1uOWbzLdGRDzhcxmUxXBfkoQ4rHCJI7GmEeikNxU=
897-
github.com/ydb-platform/ydb-go-sdk-zap v0.15.0/go.mod h1:ctHPgkqBgDmU99nEBO4Vil02JPZI5CWcGwknVtpWYmY=
898893
github.com/ydb-platform/ydb-go-yc v0.10.2 h1:RAHy6g7ncxk1y0N4oS2MwYXLATqRqKBI6DYXuxpV2wo=
899894
github.com/ydb-platform/ydb-go-yc v0.10.2/go.mod h1:U1dX3LJy6zADId2DciCXlgrU/vphK1+CQzaefKq21dQ=
900895
github.com/ydb-platform/ydb-go-yc-metadata v0.5.2/go.mod h1:82SQ4L3PewiEmFW4oTMc1sfPjODasIYxD/SKGsbK74s=
@@ -925,24 +920,13 @@ go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
925920
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
926921
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
927922
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
928-
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
929-
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
930-
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
931-
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
932-
go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
933923
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
934924
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
935925
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
936-
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
937-
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
938-
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
939926
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
940927
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
941928
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
942929
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
943-
go.uber.org/zap v1.20.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
944-
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
945-
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
946930
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
947931
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
948932
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -1541,12 +1525,10 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
15411525
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
15421526
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
15431527
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
1544-
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
15451528
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
15461529
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
15471530
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
15481531
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
1549-
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
15501532
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
15511533
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
15521534
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

tests/slo/gorm/main.go

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import (
88
"syscall"
99
"time"
1010

11-
"go.uber.org/zap"
12-
"go.uber.org/zap/zapcore"
1311
"golang.org/x/sync/errgroup"
1412
"golang.org/x/time/rate"
1513

@@ -18,39 +16,27 @@ import (
1816
"slo/internal/workers"
1917
)
2018

21-
var logger *zap.Logger
22-
2319
var (
2420
label string
2521
jobName string
2622
)
2723

28-
func init() {
29-
var err error
30-
logger, err = zap.NewProduction(zap.AddStacktrace(zapcore.PanicLevel))
31-
if err != nil {
32-
panic(fmt.Errorf("error create logger: %w", err))
33-
}
34-
}
35-
3624
func main() {
3725
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT)
3826
defer cancel()
3927

40-
defer func() { _ = logger.Sync() }()
41-
4228
cfg, err := config.New()
4329
if err != nil {
4430
panic(fmt.Errorf("create config failed: %w", err))
4531
}
4632

47-
logger.Info("program started")
48-
defer logger.Info("program finished")
33+
fmt.Println("program started")
34+
defer fmt.Println("program finished")
4935

5036
ctx, cancel = context.WithTimeout(ctx, time.Duration(cfg.Time)*time.Second)
5137
defer cancel()
5238

53-
s, err := NewStorage(ctx, cfg, cfg.ReadRPS+cfg.WriteRPS)
39+
s, err := NewStorage(cfg, cfg.ReadRPS+cfg.WriteRPS)
5440
if err != nil {
5541
panic(fmt.Errorf("create storage failed: %w", err))
5642
}
@@ -62,15 +48,15 @@ func main() {
6248
_ = s.close(shutdownCtx)
6349
}()
6450

65-
logger.Info("db init ok")
51+
fmt.Println("db init ok")
6652

6753
switch cfg.Mode {
6854
case config.CreateMode:
6955
err = s.createTable(ctx)
7056
if err != nil {
7157
panic(fmt.Errorf("create table failed: %w", err))
7258
}
73-
logger.Info("create table ok")
59+
fmt.Println("create table ok")
7460

7561
gen := generator.New(0)
7662

@@ -97,18 +83,18 @@ func main() {
9783
panic(err)
9884
}
9985

100-
logger.Info("entries write ok")
86+
fmt.Println("entries write ok")
10187
case config.CleanupMode:
10288
err = s.dropTable(ctx)
10389
if err != nil {
10490
panic(fmt.Errorf("create table failed: %w", err))
10591
}
10692

107-
logger.Info("cleanup table ok")
93+
fmt.Println("cleanup table ok")
10894
case config.RunMode:
10995
gen := generator.New(cfg.InitialDataCount)
11096

111-
w, err := workers.New(cfg, s, logger, label, jobName)
97+
w, err := workers.New(cfg, s, label, jobName)
11298
if err != nil {
11399
panic(fmt.Errorf("create workers failed: %w", err))
114100
}
@@ -117,7 +103,7 @@ func main() {
117103
if err != nil {
118104
panic(fmt.Errorf("workers close failed: %w", err))
119105
}
120-
logger.Info("workers close ok")
106+
fmt.Println("workers close ok")
121107
}()
122108

123109
wg := sync.WaitGroup{}

tests/slo/gorm/storage.go

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import (
77
"time"
88

99
ydb "github.com/ydb-platform/gorm-driver"
10-
environ "github.com/ydb-platform/ydb-go-sdk-auth-environ"
11-
ydbZap "github.com/ydb-platform/ydb-go-sdk-zap"
1210
ydbSDK "github.com/ydb-platform/ydb-go-sdk/v3"
1311
"github.com/ydb-platform/ydb-go-sdk/v3/retry"
1412
"github.com/ydb-platform/ydb-go-sdk/v3/table"
@@ -50,10 +48,7 @@ type Storage struct {
5048
tableOptions string
5149
}
5250

53-
func NewStorage(ctx context.Context, cfg *config.Config, poolSize int) (*Storage, error) {
54-
ctx, cancel := context.WithTimeout(ctx, time.Minute*5)
55-
defer cancel()
56-
51+
func NewStorage(cfg *config.Config, poolSize int) (*Storage, error) {
5752
s := &Storage{
5853
cfg: cfg,
5954
tableOptions: fmt.Sprintf(optionsTemplate,
@@ -64,14 +59,6 @@ func NewStorage(ctx context.Context, cfg *config.Config, poolSize int) (*Storage
6459
s.db, err = gorm.Open(
6560
ydb.Open(
6661
cfg.Endpoint+cfg.DB,
67-
ydb.With(
68-
environ.WithEnvironCredentials(ctx),
69-
ydbZap.WithTraces(
70-
logger,
71-
trace.DetailsAll,
72-
),
73-
ydbSDK.WithSessionPoolSizeLimit(poolSize),
74-
),
7562
ydb.WithMaxOpenConns(poolSize),
7663
ydb.WithMaxIdleConns(poolSize),
7764
ydb.WithTablePathPrefix(label),

tests/slo/internal/metrics/metrics.go

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/prometheus/client_golang/prometheus"
88
"github.com/prometheus/client_golang/prometheus/push"
99
"github.com/ydb-platform/ydb-go-sdk/v3"
10-
"go.uber.org/zap"
1110
)
1211

1312
const (
@@ -25,16 +24,12 @@ type (
2524

2625
p *push.Pusher
2726

28-
logger *zap.Logger
29-
3027
label string
3128
}
3229
)
3330

34-
func New(logger *zap.Logger, url, label, jobName string) (*Metrics, error) {
31+
func New(url, label, jobName string) (*Metrics, error) {
3532
m := &Metrics{
36-
logger: logger.Named("metrics"),
37-
3833
label: label,
3934
}
4035

@@ -129,15 +124,15 @@ func (m *Metrics) Start(name SpanName) Span {
129124
func (j Span) Stop(err error, attempts int) {
130125
j.m.inflight.WithLabelValues(j.name).Sub(1)
131126

132-
l := time.Since(j.start).Milliseconds()
127+
l := time.Since(j.start)
133128

134129
if attempts > 1 {
135-
j.m.logger.Warn("more than 1 attempt for request",
136-
zap.String("request type", j.name),
137-
zap.Int("attempts", attempts),
138-
zap.Time("start", j.start),
139-
zap.Int64("latency", l),
140-
zap.Error(err),
130+
fmt.Printf("more than 1 attempt for request (request_type: %q, attempts: %d, start: %s, latency: %s, err: %v)\n",
131+
j.name,
132+
attempts,
133+
j.start.Format(time.DateTime),
134+
l.String(),
135+
err,
141136
)
142137
}
143138

0 commit comments

Comments
 (0)