Skip to content

Commit 1037e63

Browse files
Merge pull request #179 from cerberauth/sqa-timeout
feat: add timeout and disable retry with sqa
2 parents 1e34df1 + 71bb45b commit 1037e63

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

cmd/root.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ func NewRootCmd(projectVersion string) (cmd *cobra.Command) {
3434
analytics.NewAnalytics(ctx, projectVersion)
3535
}
3636
},
37+
PersistentPostRun: func(cmd *cobra.Command, args []string) {
38+
if !sqaOptOut {
39+
analytics.Close()
40+
}
41+
},
3742
}
3843
rootCmd.AddCommand(versionCmd)
3944
rootCmd.AddCommand(discover.NewDiscoverCmd())

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ require (
1818
github.com/stretchr/testify v1.9.0
1919
go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin v0.55.0
2020
go.opentelemetry.io/otel v1.30.0
21+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.30.0
2122
go.opentelemetry.io/otel/sdk v1.30.0
2223
go.opentelemetry.io/otel/trace v1.30.0
2324
go.uber.org/ratelimit v0.3.1
@@ -65,7 +66,6 @@ require (
6566
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
6667
github.com/ugorji/go/codec v1.2.12 // indirect
6768
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 // indirect
68-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.30.0 // indirect
6969
go.opentelemetry.io/otel/metric v1.30.0 // indirect
7070
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
7171
golang.org/x/arch v0.10.0 // indirect

go.sum

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP
99
github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
1010
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
1111
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
12-
github.com/cerberauth/x v0.0.0-20240911111527-d0ec204e5d48 h1:6EzPQiCmEALpj8tREFA72uKSCVEzus6YWd9fBlXYIEM=
13-
github.com/cerberauth/x v0.0.0-20240911111527-d0ec204e5d48/go.mod h1:l3nkeJfebGk9Rn2Uaz/xhKMkfHHp3K2ILl4f5WI7/uk=
1412
github.com/cerberauth/x v0.0.0-20240929131055-0a38dd31aeda h1:D2Zg/XW7L/ErDZjA9sj+GMaKdvaadTaYKiqv4iUO8Do=
1513
github.com/cerberauth/x v0.0.0-20240929131055-0a38dd31aeda/go.mod h1:l3nkeJfebGk9Rn2Uaz/xhKMkfHHp3K2ILl4f5WI7/uk=
1614
github.com/chengxilo/virtualterm v1.0.4 h1:Z6IpERbRVlfB8WkOmtbHiDbBANU7cimRIof7mk9/PwM=
@@ -109,8 +107,6 @@ github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX
109107
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
110108
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
111109
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
112-
github.com/projectdiscovery/wappalyzergo v0.1.20 h1:EbpBSIj6E+dBoKf3J1XPNygDBdwApXWNPFwWv5ugTSU=
113-
github.com/projectdiscovery/wappalyzergo v0.1.20/go.mod h1:wnvmbC10pQTOoCKnCTmWKP20rpEtqrMJZvzuTuleeyw=
114110
github.com/projectdiscovery/wappalyzergo v0.1.21 h1:IBzws+/YyXctWMZOjADRIG3ghv076rT54jbO548/+q4=
115111
github.com/projectdiscovery/wappalyzergo v0.1.21/go.mod h1:wnvmbC10pQTOoCKnCTmWKP20rpEtqrMJZvzuTuleeyw=
116112
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=

internal/analytics/analytics.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ package analytics
22

33
import (
44
"context"
5+
"time"
56

67
"github.com/cerberauth/x/analyticsx"
8+
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
79
sdktrace "go.opentelemetry.io/otel/sdk/trace"
810
)
911

@@ -14,9 +16,13 @@ func NewAnalytics(ctx context.Context, projectVersion string) (*sdktrace.TracerP
1416
tracerProvider, err = analyticsx.NewAnalytics(ctx, analyticsx.AppInfo{
1517
Name: "vulnapi",
1618
Version: projectVersion,
17-
})
19+
}, otlptracehttp.WithTimeout(time.Second*2), otlptracehttp.WithRetry(otlptracehttp.RetryConfig{Enabled: false}))
1820
if err != nil {
1921
return nil, err
2022
}
2123
return tracerProvider, err
2224
}
25+
26+
func Close() {
27+
tracerProvider.Shutdown(context.Background())
28+
}

0 commit comments

Comments
 (0)