Skip to content

Commit 7732fe8

Browse files
feat: Remove plugin option for logging error events to Sentry (#1724)
Closes [#1809](cloudquery/cloudquery-issues#1809).
1 parent 7b9d6cc commit 7732fe8

File tree

8 files changed

+4
-133
lines changed

8 files changed

+4
-133
lines changed

examples/simple_plugin/go.mod

-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ require (
3333
github.com/fatih/structs v1.1.0 // indirect
3434
github.com/flosch/pongo2/v4 v4.0.2 // indirect
3535
github.com/gabriel-vasile/mimetype v1.4.3 // indirect
36-
github.com/getsentry/sentry-go v0.28.0 // indirect
3736
github.com/ghodss/yaml v1.0.0 // indirect
3837
github.com/gin-contrib/sse v0.1.0 // indirect
3938
github.com/gin-gonic/gin v1.9.1 // indirect

examples/simple_plugin/go.sum

-7
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,12 @@ github.com/flosch/pongo2/v4 v4.0.2 h1:gv+5Pe3vaSVmiJvh/BZa82b7/00YUGm0PIyVVLop0H
6666
github.com/flosch/pongo2/v4 v4.0.2/go.mod h1:B5ObFANs/36VwxxlgKpdchIJHMvHB562PW+BWPhwZD8=
6767
github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
6868
github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
69-
github.com/getsentry/sentry-go v0.28.0 h1:7Rqx9M3ythTKy2J6uZLHmc8Sz9OGgIlseuO1iBX/s0M=
70-
github.com/getsentry/sentry-go v0.28.0/go.mod h1:1fQZ+7l7eeJ3wYi82q5Hg8GqAPgefRq+FP/QhafYVgg=
7169
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
7270
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
7371
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
7472
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
7573
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
7674
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
77-
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
78-
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
7975
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
8076
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
8177
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
@@ -190,9 +186,6 @@ github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZ
190186
github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
191187
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
192188
github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
193-
github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
194-
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
195-
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
196189
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
197190
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
198191
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=

go.mod

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ require (
88
github.com/cloudquery/cloudquery-api-go v1.11.3
99
github.com/cloudquery/plugin-pb-go v1.19.19
1010
github.com/cloudquery/plugin-sdk/v2 v2.7.0
11-
github.com/getsentry/sentry-go v0.28.0
1211
github.com/goccy/go-json v0.10.3
1312
github.com/google/go-cmp v0.6.0
1413
github.com/google/uuid v1.6.0

go.sum

-7
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,12 @@ github.com/flosch/pongo2/v4 v4.0.2 h1:gv+5Pe3vaSVmiJvh/BZa82b7/00YUGm0PIyVVLop0H
6666
github.com/flosch/pongo2/v4 v4.0.2/go.mod h1:B5ObFANs/36VwxxlgKpdchIJHMvHB562PW+BWPhwZD8=
6767
github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
6868
github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
69-
github.com/getsentry/sentry-go v0.28.0 h1:7Rqx9M3ythTKy2J6uZLHmc8Sz9OGgIlseuO1iBX/s0M=
70-
github.com/getsentry/sentry-go v0.28.0/go.mod h1:1fQZ+7l7eeJ3wYi82q5Hg8GqAPgefRq+FP/QhafYVgg=
7169
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
7270
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
7371
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
7472
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
7573
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
7674
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
77-
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
78-
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
7975
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
8076
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
8177
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
@@ -190,9 +186,6 @@ github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZ
190186
github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
191187
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
192188
github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
193-
github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
194-
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
195-
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
196189
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
197190
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
198191
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=

internal/servers/plugin/v3/plugin.go

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ type Server struct {
2525
Plugin *plugin.Plugin
2626
Logger zerolog.Logger
2727
Directory string
28-
NoSentry bool
2928
}
3029

3130
func (s *Server) GetTables(ctx context.Context, req *pb.GetTables_Request) (*pb.GetTables_Response, error) {

scheduler/scheduler.go

-39
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,9 @@ import (
1010
"time"
1111

1212
"github.com/apache/arrow/go/v16/arrow"
13-
1413
"github.com/cloudquery/plugin-sdk/v4/caser"
1514
"github.com/cloudquery/plugin-sdk/v4/message"
1615
"github.com/cloudquery/plugin-sdk/v4/schema"
17-
"github.com/getsentry/sentry-go"
1816
"github.com/rs/zerolog"
1917
"github.com/thoas/go-funk"
2018
"go.opentelemetry.io/otel"
@@ -235,7 +233,6 @@ func (s *syncClient) logTablesMetrics(tables schema.Tables, client Client) {
235233
}
236234

237235
func (s *syncClient) resolveResource(ctx context.Context, table *schema.Table, client schema.ClientMeta, parent *schema.Resource, item any) *schema.Resource {
238-
var validationErr *schema.ValidationError
239236
ctx, cancel := context.WithTimeout(ctx, 10*time.Minute)
240237
defer cancel()
241238
resource := schema.NewResourceData(table, parent, item)
@@ -248,22 +245,12 @@ func (s *syncClient) resolveResource(ctx context.Context, table *schema.Table, c
248245
stack := fmt.Sprintf("%s\n%s", err, string(debug.Stack()))
249246
logger.Error().Interface("error", err).TimeDiff("duration", time.Now(), objectStartTime).Str("stack", stack).Msg("resource resolver finished with panic")
250247
atomic.AddUint64(&tableMetrics.Panics, 1)
251-
sentry.WithScope(func(scope *sentry.Scope) {
252-
scope.SetTag("table", table.Name)
253-
sentry.CurrentHub().CaptureMessage(stack)
254-
})
255248
}
256249
}()
257250
if table.PreResourceResolver != nil {
258251
if err := table.PreResourceResolver(ctx, client, resource); err != nil {
259252
logger.Error().Err(err).Msg("pre resource resolver failed")
260253
atomic.AddUint64(&tableMetrics.Errors, 1)
261-
if errors.As(err, &validationErr) {
262-
sentry.WithScope(func(scope *sentry.Scope) {
263-
scope.SetTag("table", table.Name)
264-
sentry.CurrentHub().CaptureMessage(validationErr.MaskedError())
265-
})
266-
}
267254
return nil
268255
}
269256
}
@@ -276,45 +263,26 @@ func (s *syncClient) resolveResource(ctx context.Context, table *schema.Table, c
276263
if err := table.PostResourceResolver(ctx, client, resource); err != nil {
277264
logger.Error().Stack().Err(err).Msg("post resource resolver finished with error")
278265
atomic.AddUint64(&tableMetrics.Errors, 1)
279-
if errors.As(err, &validationErr) {
280-
sentry.WithScope(func(scope *sentry.Scope) {
281-
scope.SetTag("table", table.Name)
282-
sentry.CurrentHub().CaptureMessage(validationErr.MaskedError())
283-
})
284-
}
285266
}
286267
}
287268
atomic.AddUint64(&tableMetrics.Resources, 1)
288269
return resource
289270
}
290271

291272
func (s *syncClient) resolveColumn(ctx context.Context, logger zerolog.Logger, tableMetrics *TableClientMetrics, client schema.ClientMeta, resource *schema.Resource, c schema.Column) {
292-
var validationErr *schema.ValidationError
293273
columnStartTime := time.Now()
294274
defer func() {
295275
if err := recover(); err != nil {
296276
stack := fmt.Sprintf("%s\n%s", err, string(debug.Stack()))
297277
logger.Error().Str("column", c.Name).Interface("error", err).TimeDiff("duration", time.Now(), columnStartTime).Str("stack", stack).Msg("column resolver finished with panic")
298278
atomic.AddUint64(&tableMetrics.Panics, 1)
299-
sentry.WithScope(func(scope *sentry.Scope) {
300-
scope.SetTag("table", resource.Table.Name)
301-
scope.SetTag("column", c.Name)
302-
sentry.CurrentHub().CaptureMessage(stack)
303-
})
304279
}
305280
}()
306281

307282
if c.Resolver != nil {
308283
if err := c.Resolver(ctx, client, resource, c); err != nil {
309284
logger.Error().Err(err).Msg("column resolver finished with error")
310285
atomic.AddUint64(&tableMetrics.Errors, 1)
311-
if errors.As(err, &validationErr) {
312-
sentry.WithScope(func(scope *sentry.Scope) {
313-
scope.SetTag("table", resource.Table.Name)
314-
scope.SetTag("column", c.Name)
315-
sentry.CurrentHub().CaptureMessage(validationErr.MaskedError())
316-
})
317-
}
318286
}
319287
} else {
320288
// base use case: try to get column with CamelCase name
@@ -324,13 +292,6 @@ func (s *syncClient) resolveColumn(ctx context.Context, logger zerolog.Logger, t
324292
if err != nil {
325293
logger.Error().Err(err).Msg("column resolver finished with error")
326294
atomic.AddUint64(&tableMetrics.Errors, 1)
327-
if errors.As(err, &validationErr) {
328-
sentry.WithScope(func(scope *sentry.Scope) {
329-
scope.SetTag("table", resource.Table.Name)
330-
scope.SetTag("column", c.Name)
331-
sentry.CurrentHub().CaptureMessage(validationErr.MaskedError())
332-
})
333-
}
334295
}
335296
}
336297
}

scheduler/scheduler_dfs.go

-34
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@ package scheduler
22

33
import (
44
"context"
5-
"errors"
65
"fmt"
76
"runtime/debug"
87
"sync"
98
"sync/atomic"
109

1110
"github.com/cloudquery/plugin-sdk/v4/helpers"
1211
"github.com/cloudquery/plugin-sdk/v4/schema"
13-
"github.com/getsentry/sentry-go"
1412
"go.opentelemetry.io/otel"
1513
"go.opentelemetry.io/otel/attribute"
1614
"golang.org/x/sync/semaphore"
@@ -33,10 +31,6 @@ func (s *syncClient) syncDfs(ctx context.Context, resolvedResources chan<- *sche
3331
if _, ok := seenClients[c.ID()]; !ok {
3432
seenClients[c.ID()] = true
3533
} else {
36-
sentry.WithScope(func(scope *sentry.Scope) {
37-
scope.SetTag("table", table.Name)
38-
sentry.CurrentHub().CaptureMessage("duplicate client ID in " + table.Name)
39-
})
4034
s.logger.Warn().Str("client", c.ID()).Str("table", table.Name).Msg("multiplex returned duplicate client")
4135
}
4236
}
@@ -76,7 +70,6 @@ func (s *syncClient) resolveTableDfs(ctx context.Context, table *schema.Table, c
7670
ctx, span := otel.Tracer(otelName).Start(ctx, "resolveTableDfs_"+table.Name)
7771
span.SetAttributes(attribute.Key("client-id").String(client.ID()))
7872
defer span.End()
79-
var validationErr *schema.ValidationError
8073
clientName := client.ID()
8174
logger := s.logger.With().Str("table", table.Name).Str("client", clientName).Logger()
8275

@@ -90,10 +83,6 @@ func (s *syncClient) resolveTableDfs(ctx context.Context, table *schema.Table, c
9083
defer func() {
9184
if err := recover(); err != nil {
9285
stack := fmt.Sprintf("%s\n%s", err, string(debug.Stack()))
93-
sentry.WithScope(func(scope *sentry.Scope) {
94-
scope.SetTag("table", table.Name)
95-
sentry.CurrentHub().CaptureMessage(stack)
96-
})
9786
logger.Error().Interface("error", err).Str("stack", stack).Msg("table resolver finished with panic")
9887
atomic.AddUint64(&tableMetrics.Panics, 1)
9988
}
@@ -102,12 +91,6 @@ func (s *syncClient) resolveTableDfs(ctx context.Context, table *schema.Table, c
10291
if err := table.Resolver(ctx, client, parent, res); err != nil {
10392
logger.Error().Err(err).Msg("table resolver finished with error")
10493
atomic.AddUint64(&tableMetrics.Errors, 1)
105-
if errors.As(err, &validationErr) {
106-
sentry.WithScope(func(scope *sentry.Scope) {
107-
scope.SetTag("table", table.Name)
108-
sentry.CurrentHub().CaptureMessage(validationErr.MaskedError())
109-
})
110-
}
11194
return
11295
}
11396
}()
@@ -132,7 +115,6 @@ func (s *syncClient) resolveResourcesDfs(ctx context.Context, table *schema.Tabl
132115
go func() {
133116
defer close(resourcesChan)
134117
var wg sync.WaitGroup
135-
sentValidationErrors := sync.Map{}
136118
for i := range resourcesSlice {
137119
i := i
138120
resourceConcurrencyKey := table.Name + "-" + client.ID() + "-" + "resource"
@@ -168,28 +150,12 @@ func (s *syncClient) resolveResourcesDfs(ctx context.Context, table *schema.Tabl
168150
if err := resolvedResource.CalculateCQID(s.deterministicCQID); err != nil {
169151
tableMetrics := s.metrics.TableClient[table.Name][client.ID()]
170152
s.logger.Error().Err(err).Str("table", table.Name).Str("client", client.ID()).Msg("resource resolver finished with primary key calculation error")
171-
if _, found := sentValidationErrors.LoadOrStore(table.Name, struct{}{}); !found {
172-
// send resource validation errors to Sentry only once per table,
173-
// to avoid sending too many duplicate messages
174-
sentry.WithScope(func(scope *sentry.Scope) {
175-
scope.SetTag("table", table.Name)
176-
sentry.CurrentHub().CaptureMessage(err.Error())
177-
})
178-
}
179153
atomic.AddUint64(&tableMetrics.Errors, 1)
180154
return
181155
}
182156
if err := resolvedResource.Validate(); err != nil {
183157
tableMetrics := s.metrics.TableClient[table.Name][client.ID()]
184158
s.logger.Error().Err(err).Str("table", table.Name).Str("client", client.ID()).Msg("resource resolver finished with validation error")
185-
if _, found := sentValidationErrors.LoadOrStore(table.Name, struct{}{}); !found {
186-
// send resource validation errors to Sentry only once per table,
187-
// to avoid sending too many duplicate messages
188-
sentry.WithScope(func(scope *sentry.Scope) {
189-
scope.SetTag("table", table.Name)
190-
sentry.CurrentHub().CaptureMessage(err.Error())
191-
})
192-
}
193159
atomic.AddUint64(&tableMetrics.Errors, 1)
194160
return
195161
}

serve/plugin.go

+4-43
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@ import (
2929
serverDestinationV0 "github.com/cloudquery/plugin-sdk/v4/internal/servers/destination/v0"
3030
serverDestinationV1 "github.com/cloudquery/plugin-sdk/v4/internal/servers/destination/v1"
3131
serversv3 "github.com/cloudquery/plugin-sdk/v4/internal/servers/plugin/v3"
32-
"github.com/getsentry/sentry-go"
3332
"github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/logging"
3433
"github.com/rs/zerolog"
3534
"github.com/rs/zerolog/log"
3635
"github.com/spf13/cobra"
37-
"github.com/thoas/go-funk"
3836
"google.golang.org/grpc"
3937
"google.golang.org/grpc/test/bufconn"
4038
)
@@ -43,20 +41,13 @@ type PluginServe struct {
4341
plugin *plugin.Plugin
4442
args []string
4543
destinationV0V1Server bool
46-
sentryDSN string
4744
testListener bool
4845
testListenerConn *bufconn.Listener
4946
versions []int
5047
}
5148

5249
type PluginOption func(*PluginServe)
5350

54-
func WithPluginSentryDSN(dsn string) PluginOption {
55-
return func(s *PluginServe) {
56-
s.sentryDSN = dsn
57-
}
58-
}
59-
6051
// WithDestinationV0V1Server is used to include destination v0 and v1 server to work
6152
// with older sources
6253
func WithDestinationV0V1Server() PluginOption {
@@ -225,9 +216,8 @@ func (s *PluginServe) newCmdPluginServe() *cobra.Command {
225216
)
226217
s.plugin.SetLogger(logger)
227218
pbv3.RegisterPluginServer(grpcServer, &serversv3.Server{
228-
Plugin: s.plugin,
229-
Logger: logger,
230-
NoSentry: noSentry,
219+
Plugin: s.plugin,
220+
Logger: logger,
231221
})
232222
if s.destinationV0V1Server {
233223
pbDestinationV1.RegisterDestinationServer(grpcServer, &serverDestinationV1.Server{
@@ -246,33 +236,6 @@ func (s *PluginServe) newCmdPluginServe() *cobra.Command {
246236
Versions: []int32{0, 1, 2, 3},
247237
})
248238

249-
version := s.plugin.Version()
250-
251-
if s.sentryDSN != "" && !strings.EqualFold(version, "development") && !noSentry {
252-
err = sentry.Init(sentry.ClientOptions{
253-
Dsn: s.sentryDSN,
254-
Debug: false,
255-
AttachStacktrace: false,
256-
Release: version,
257-
Transport: sentry.NewHTTPSyncTransport(),
258-
ServerName: "oss", // set to "oss" on purpose to avoid sending any identifying information
259-
// https://docs.sentry.io/platforms/go/configuration/options/#removing-default-integrations
260-
Integrations: func(integrations []sentry.Integration) []sentry.Integration {
261-
var filteredIntegrations []sentry.Integration
262-
for _, integration := range integrations {
263-
if integration.Name() == "Modules" {
264-
continue
265-
}
266-
filteredIntegrations = append(filteredIntegrations, integration)
267-
}
268-
return filteredIntegrations
269-
},
270-
})
271-
if err != nil {
272-
log.Error().Err(err).Msg("Error initializing sentry")
273-
}
274-
}
275-
276239
ctx := cmd.Context()
277240
c := make(chan os.Signal, 1)
278241
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
@@ -308,10 +271,8 @@ func (s *PluginServe) newCmdPluginServe() *cobra.Command {
308271
cmd.Flags().BoolVar(&otelEndpointInsecure, "otel-endpoint-insecure", false, "use Open Telemetry HTTP endpoint (for development only)")
309272
cmd.Flags().BoolVar(&noSentry, "no-sentry", false, "disable sentry")
310273
cmd.Flags().StringVar(&licenseFile, "license", "", "Path to offline license file or directory")
311-
sendErrors := funk.ContainsString([]string{"all", "errors"}, telemetryLevel.String())
312-
if !sendErrors {
313-
noSentry = true
314-
}
274+
275+
_ = cmd.Flags().MarkDeprecated("no-sentry", "no-sentry option is deprecated and unused")
315276

316277
return cmd
317278
}

0 commit comments

Comments
 (0)