MM-40676: Bump dependencies (#19525)
https://mattermost.atlassian.net/browse/MM-40676 ```release-note NONE ```
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
440790dad6
Коммит
57eafbc6ca
12
vendor/github.com/getsentry/sentry-go/.craft.yml
сгенерированный
поставляемый
12
vendor/github.com/getsentry/sentry-go/.craft.yml
сгенерированный
поставляемый
@@ -1,11 +1,6 @@
|
||||
minVersion: '0.9.2'
|
||||
github:
|
||||
owner: getsentry
|
||||
repo: sentry-go
|
||||
minVersion: 0.23.1
|
||||
preReleaseCommand: bash scripts/craft-pre-release.sh
|
||||
changelogPolicy: simple
|
||||
statusProvider:
|
||||
name: github
|
||||
artifactProvider:
|
||||
name: none
|
||||
targets:
|
||||
@@ -13,6 +8,5 @@ targets:
|
||||
includeNames: /none/
|
||||
tagPrefix: v
|
||||
- name: registry
|
||||
type: sdk
|
||||
config:
|
||||
canonical: "github:getsentry/sentry-go"
|
||||
sdks:
|
||||
github:getsentry/sentry-go:
|
||||
|
||||
12
vendor/github.com/getsentry/sentry-go/CHANGELOG.md
сгенерированный
поставляемый
12
vendor/github.com/getsentry/sentry-go/CHANGELOG.md
сгенерированный
поставляемый
@@ -1,5 +1,17 @@
|
||||
# Changelog
|
||||
|
||||
## v0.12.0
|
||||
|
||||
- feat: Automatic Release detection (#363, #369, #386, #400)
|
||||
- fix: Do not change Hub.lastEventID for transactions (#379)
|
||||
- fix: Do not clear LastEventID when events are dropped (#382)
|
||||
- Updates to documentation (#366, #385)
|
||||
|
||||
_NOTE:_
|
||||
This version drops support for Go 1.14, however no changes have been made that would make the SDK not work with Go 1.14. The currently supported Go versions are the last 3 stable releases: 1.15, 1.16 and 1.17.
|
||||
There are two behavior changes related to `LastEventID`, both of which were intended to align the behavior of the Sentry Go SDK with other Sentry SDKs.
|
||||
The new [automatic release detection feature](https://github.com/getsentry/sentry-go/issues/335) makes it easier to use Sentry and separate events per release without requiring extra work from users. We intend to improve this functionality in a future release by utilizing information that will be available in runtime starting with Go 1.18. The tracking issue is [#401](https://github.com/getsentry/sentry-go/issues/401).
|
||||
|
||||
## v0.11.0
|
||||
|
||||
- feat(transports): Category-based Rate Limiting ([#354](https://github.com/getsentry/sentry-go/pull/354))
|
||||
|
||||
391
vendor/github.com/getsentry/sentry-go/MIGRATION.md
сгенерированный
поставляемый
391
vendor/github.com/getsentry/sentry-go/MIGRATION.md
сгенерированный
поставляемый
@@ -1,392 +1,3 @@
|
||||
# `raven-go` to `sentry-go` Migration Guide
|
||||
|
||||
## Installation
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
go get github.com/getsentry/raven-go
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
go get github.com/getsentry/sentry-go@v0.0.1
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
import "github.com/getsentry/raven-go"
|
||||
|
||||
func main() {
|
||||
raven.SetDSN("___PUBLIC_DSN___")
|
||||
}
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/getsentry/sentry-go"
|
||||
)
|
||||
|
||||
func main() {
|
||||
err := sentry.Init(sentry.ClientOptions{
|
||||
Dsn: "___PUBLIC_DSN___",
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("Sentry initialization failed: %v\n", err)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
SetDSN()
|
||||
SetDefaultLoggerName()
|
||||
SetDebug()
|
||||
SetEnvironment()
|
||||
SetRelease()
|
||||
SetSampleRate()
|
||||
SetIgnoreErrors()
|
||||
SetIncludePaths()
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.Init(sentry.ClientOptions{
|
||||
Dsn: "___PUBLIC_DSN___",
|
||||
DebugWriter: os.Stderr,
|
||||
Debug: true,
|
||||
Environment: "environment",
|
||||
Release: "release",
|
||||
SampleRate: 0.5,
|
||||
// IgnoreErrors: TBD,
|
||||
// IncludePaths: TBD
|
||||
})
|
||||
```
|
||||
|
||||
Available options: see [Configuration](https://docs.sentry.io/platforms/go/config/) section.
|
||||
|
||||
### Providing SSL Certificates
|
||||
|
||||
By default, TLS uses the host's root CA set. If you don't have `ca-certificates` (which should be your go-to way of fixing the issue of missing certificates) and want to use `gocertifi` instead, you can provide pre-loaded cert files as one of the options to the `sentry.Init` call:
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/certifi/gocertifi"
|
||||
"github.com/getsentry/sentry-go"
|
||||
)
|
||||
|
||||
sentryClientOptions := sentry.ClientOptions{
|
||||
Dsn: "___PUBLIC_DSN___",
|
||||
}
|
||||
|
||||
rootCAs, err := gocertifi.CACerts()
|
||||
if err != nil {
|
||||
log.Println("Couldn't load CA Certificates: %v\n", err)
|
||||
} else {
|
||||
sentryClientOptions.CaCerts = rootCAs
|
||||
}
|
||||
|
||||
sentry.Init(sentryClientOptions)
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Capturing Errors
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
f, err := os.Open("filename.ext")
|
||||
if err != nil {
|
||||
raven.CaptureError(err, nil)
|
||||
}
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
f, err := os.Open("filename.ext")
|
||||
if err != nil {
|
||||
sentry.CaptureException(err)
|
||||
}
|
||||
```
|
||||
|
||||
### Capturing Panics
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
raven.CapturePanic(func() {
|
||||
// do all of the scary things here
|
||||
}, nil)
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
func() {
|
||||
defer sentry.Recover()
|
||||
// do all of the scary things here
|
||||
}()
|
||||
```
|
||||
|
||||
### Capturing Messages
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
raven.CaptureMessage("Something bad happened and I would like to know about that")
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.CaptureMessage("Something bad happened and I would like to know about that")
|
||||
```
|
||||
|
||||
### Capturing Events
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
packet := &raven.Packet{
|
||||
Message: "Hand-crafted event",
|
||||
Extra: &raven.Extra{
|
||||
"runtime.Version": runtime.Version(),
|
||||
"runtime.NumCPU": runtime.NumCPU(),
|
||||
},
|
||||
}
|
||||
raven.Capture(packet)
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
event := &sentry.NewEvent()
|
||||
event.Message = "Hand-crafted event"
|
||||
event.Extra["runtime.Version"] = runtime.Version()
|
||||
event.Extra["runtime.NumCPU"] = runtime.NumCPU()
|
||||
|
||||
sentry.CaptureEvent(event)
|
||||
```
|
||||
|
||||
### Additional Data
|
||||
|
||||
See Context section.
|
||||
|
||||
### Event Sampling
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
raven.SetSampleRate(0.25)
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.Init(sentry.ClientOptions{
|
||||
SampleRate: 0.25,
|
||||
})
|
||||
```
|
||||
|
||||
### Awaiting the response (not recommended)
|
||||
|
||||
```go
|
||||
raven.CaptureMessageAndWait("Something bad happened and I would like to know about that")
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.CaptureMessage("Something bad happened and I would like to know about that")
|
||||
|
||||
if sentry.Flush(time.Second * 2) {
|
||||
// event delivered
|
||||
} else {
|
||||
// timeout reached
|
||||
}
|
||||
```
|
||||
|
||||
## Context
|
||||
|
||||
### Per-event
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
raven.CaptureError(err, map[string]string{"browser": "Firefox"}, &raven.Http{
|
||||
Method: "GET",
|
||||
URL: "https://example.com/raven-go"
|
||||
})
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.WithScope(func(scope *sentry.Scope) {
|
||||
scope.SetTag("browser", "Firefox")
|
||||
scope.SetContext("Request", map[string]string{
|
||||
"Method": "GET",
|
||||
"URL": "https://example.com/raven-go",
|
||||
})
|
||||
sentry.CaptureException(err)
|
||||
})
|
||||
```
|
||||
|
||||
### Globally
|
||||
|
||||
#### SetHttpContext
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
raven.SetHttpContext(&raven.Http{
|
||||
Method: "GET",
|
||||
URL: "https://example.com/raven-go",
|
||||
})
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.ConfigureScope(func(scope *sentry.Scope) {
|
||||
scope.SetContext("Request", map[string]string{
|
||||
"Method": "GET",
|
||||
"URL": "https://example.com/raven-go",
|
||||
})
|
||||
})
|
||||
```
|
||||
|
||||
#### SetTagsContext
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
t := map[string]string{"day": "Friday", "sport": "Weightlifting"}
|
||||
raven.SetTagsContext(map[string]string{"day": "Friday", "sport": "Weightlifting"})
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.ConfigureScope(func(scope *sentry.Scope) {
|
||||
scope.SetTags(map[string]string{"day": "Friday", "sport": "Weightlifting"})
|
||||
})
|
||||
```
|
||||
|
||||
#### SetUserContext
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
raven.SetUserContext(&raven.User{
|
||||
ID: "1337",
|
||||
Username: "kamilogorek",
|
||||
Email: "kamil@sentry.io",
|
||||
IP: "127.0.0.1",
|
||||
})
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.ConfigureScope(func(scope *sentry.Scope) {
|
||||
scope.SetUser(sentry.User{
|
||||
ID: "1337",
|
||||
Username: "kamilogorek",
|
||||
Email: "kamil@sentry.io",
|
||||
IPAddress: "127.0.0.1",
|
||||
})
|
||||
})
|
||||
```
|
||||
|
||||
#### ClearContext
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
raven.ClearContext()
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentry.ConfigureScope(func(scope *sentry.Scope) {
|
||||
scope.Clear()
|
||||
})
|
||||
```
|
||||
|
||||
#### WrapWithExtra
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
path := "filename.ext"
|
||||
f, err := os.Open(path)
|
||||
if err != nil {
|
||||
err = raven.WrapWithExtra(err, map[string]string{"path": path, "cwd": os.Getwd()}
|
||||
raven.CaptureError(err, nil)
|
||||
}
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
// use `sentry.WithScope`, see "Context / Per-event Section"
|
||||
path := "filename.ext"
|
||||
f, err := os.Open(path)
|
||||
if err != nil {
|
||||
sentry.WithScope(func(scope *sentry.Scope) {
|
||||
sentry.SetExtras(map[string]interface{}{"path": path, "cwd": os.Getwd())
|
||||
sentry.CaptureException(err)
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
## Integrations
|
||||
|
||||
### net/http
|
||||
|
||||
raven-go
|
||||
|
||||
```go
|
||||
mux := http.NewServeMux
|
||||
http.Handle("/", raven.Recoverer(mux))
|
||||
|
||||
// or
|
||||
|
||||
func root(w http.ResponseWriter, r *http.Request) {}
|
||||
http.HandleFunc("/", raven.RecoveryHandler(root))
|
||||
```
|
||||
|
||||
sentry-go
|
||||
|
||||
```go
|
||||
sentryHandler := sentryhttp.New(sentryhttp.Options{
|
||||
Repanic: false,
|
||||
WaitForDelivery: true,
|
||||
})
|
||||
|
||||
mux := http.NewServeMux
|
||||
http.Handle("/", sentryHandler.Handle(mux))
|
||||
|
||||
// or
|
||||
|
||||
func root(w http.ResponseWriter, r *http.Request) {}
|
||||
http.HandleFunc("/", sentryHandler.HandleFunc(root))
|
||||
```
|
||||
A [`raven-go` to `sentry-go` migration guide](https://docs.sentry.io/platforms/go/migration/) is available at the official Sentry documentation site.
|
||||
|
||||
24
vendor/github.com/getsentry/sentry-go/client.go
сгенерированный
поставляемый
24
vendor/github.com/getsentry/sentry-go/client.go
сгенерированный
поставляемый
@@ -145,6 +145,28 @@ type ClientOptions struct {
|
||||
// The server name to be reported.
|
||||
ServerName string
|
||||
// The release to be sent with events.
|
||||
//
|
||||
// Some Sentry features are built around releases, and, thus, reporting
|
||||
// events with a non-empty release improves the product experience. See
|
||||
// https://docs.sentry.io/product/releases/.
|
||||
//
|
||||
// If Release is not set, the SDK will try to derive a default value
|
||||
// from environment variables or the Git repository in the working
|
||||
// directory.
|
||||
//
|
||||
// If you distribute a compiled binary, it is recommended to set the
|
||||
// Release value explicitly at build time. As an example, you can use:
|
||||
//
|
||||
// go build -ldflags='-X main.release=VALUE'
|
||||
//
|
||||
// That will set the value of a predeclared variable 'release' in the
|
||||
// 'main' package to 'VALUE'. Then, use that variable when initializing
|
||||
// the SDK:
|
||||
//
|
||||
// sentry.Init(ClientOptions{Release: release})
|
||||
//
|
||||
// See https://golang.org/cmd/go/ and https://golang.org/cmd/link/ for
|
||||
// the official documentation of -ldflags and -X, respectively.
|
||||
Release string
|
||||
// The dist to be sent with events.
|
||||
Dist string
|
||||
@@ -208,7 +230,7 @@ func NewClient(options ClientOptions) (*Client, error) {
|
||||
}
|
||||
|
||||
if options.Release == "" {
|
||||
options.Release = os.Getenv("SENTRY_RELEASE")
|
||||
options.Release = defaultRelease()
|
||||
}
|
||||
|
||||
if options.Environment == "" {
|
||||
|
||||
9
vendor/github.com/getsentry/sentry-go/go.mod
сгенерированный
поставляемый
9
vendor/github.com/getsentry/sentry-go/go.mod
сгенерированный
поставляемый
@@ -1,6 +1,6 @@
|
||||
module github.com/getsentry/sentry-go
|
||||
|
||||
go 1.14
|
||||
go 1.15
|
||||
|
||||
require (
|
||||
github.com/ajg/form v1.5.1 // indirect
|
||||
@@ -14,7 +14,8 @@ require (
|
||||
github.com/imkira/go-interpol v1.1.0 // indirect
|
||||
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 // indirect
|
||||
github.com/kataras/iris/v12 v12.1.8
|
||||
github.com/labstack/echo/v4 v4.1.11
|
||||
github.com/labstack/echo/v4 v4.5.0
|
||||
github.com/mattn/go-colorable v0.1.11 // indirect
|
||||
github.com/moul/http2curl v1.0.0 // indirect
|
||||
github.com/onsi/ginkgo v1.10.3 // indirect
|
||||
github.com/onsi/gomega v1.7.1 // indirect
|
||||
@@ -31,4 +32,8 @@ require (
|
||||
github.com/yudai/gojsondiff v1.0.0 // indirect
|
||||
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
|
||||
github.com/yudai/pp v2.0.1+incompatible // indirect
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
|
||||
golang.org/x/net v0.0.0-20211008194852-3b03d305991f // indirect
|
||||
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac
|
||||
golang.org/x/text v0.3.7 // indirect
|
||||
)
|
||||
|
||||
48
vendor/github.com/getsentry/sentry-go/go.sum
сгенерированный
поставляемый
48
vendor/github.com/getsentry/sentry-go/go.sum
сгенерированный
поставляемый
@@ -24,8 +24,6 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4=
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
|
||||
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||
github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385 h1:clC1lXBpe2kTj2VHdaIu9ajZQe4kcEY9j0NsnDDBZ3o=
|
||||
@@ -52,6 +50,8 @@ github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AE
|
||||
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
|
||||
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
|
||||
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
|
||||
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
|
||||
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
|
||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
@@ -106,17 +106,21 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/labstack/echo/v4 v4.1.11 h1:z0BZoArY4FqdpUEl+wlHp4hnr/oSR6MTmQmv8OHSoww=
|
||||
github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g=
|
||||
github.com/labstack/echo/v4 v4.5.0 h1:JXk6H5PAw9I3GwizqUHhYyS4f45iyGebR/c1xNCeOCY=
|
||||
github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y=
|
||||
github.com/labstack/gommon v0.3.0 h1:JEeO0bvc78PKdyHxloTKiF8BD5iGrH8T6MSeGvSgob0=
|
||||
github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU=
|
||||
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-colorable v0.1.11 h1:nQ+aFkoE2TMGc0b68U2OKSexC+eq46+XwZzWXHRmPYs=
|
||||
github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
|
||||
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.9 h1:d5US/mDsogSGW37IV293h//ZFaeajb69h+EHFsv2xGg=
|
||||
github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
|
||||
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
|
||||
github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8=
|
||||
github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s=
|
||||
@@ -183,8 +187,9 @@ github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6Kllzaw
|
||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||
github.com/valyala/fasthttp v1.6.0 h1:uWF8lgKmeaIewWVPwi4GRq2P6+R46IgYZdxWtM+GtEY=
|
||||
github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w=
|
||||
github.com/valyala/fasttemplate v1.0.1 h1:tY9CJiPnMXf1ERmG2EyK7gNUd+c6RKGD0IfU8WdUSz8=
|
||||
github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
|
||||
github.com/valyala/fasttemplate v1.2.1 h1:TVEnxayobAdVkhQfrfes2IzOB6o+z4roRkPF52WA1u4=
|
||||
github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
|
||||
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c=
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
|
||||
@@ -204,8 +209,10 @@ github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZ
|
||||
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876 h1:sKJQZMuxjOAR/Uo2LBfU90onWEf1dF4C+0hPJCc9Mpc=
|
||||
golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
@@ -214,8 +221,11 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
|
||||
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8=
|
||||
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.0.0-20211008194852-3b03d305991f h1:1scJEYZBaF48BaG6tYbtxmLcXqwYGSfGcMoStTqkkIw=
|
||||
golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -224,11 +234,27 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ=
|
||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac h1:oN6lz7iLW/YC7un8pq+9bOLyXrprv2+DKfkJY+2LJJw=
|
||||
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 h1:Hir2P/De0WpUhtrKGGjvSb2YxUgyZ7EFOSLIcSSpiwE=
|
||||
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
|
||||
33
vendor/github.com/getsentry/sentry-go/hub.go
сгенерированный
поставляемый
33
vendor/github.com/getsentry/sentry-go/hub.go
сгенерированный
поставляемый
@@ -84,7 +84,18 @@ func CurrentHub() *Hub {
|
||||
return currentHub
|
||||
}
|
||||
|
||||
// LastEventID returns an ID of last captured event for the current Hub.
|
||||
// LastEventID returns the ID of the last event (error or message) captured
|
||||
// through the hub and sent to the underlying transport.
|
||||
//
|
||||
// Transactions and events dropped by sampling or event processors do not change
|
||||
// the last event ID.
|
||||
//
|
||||
// LastEventID is a convenience method to cover use cases in which errors are
|
||||
// captured indirectly and the ID is needed. For example, it can be used as part
|
||||
// of an HTTP middleware to log the ID of the last error, if any.
|
||||
//
|
||||
// For more flexibility, consider instead using the ClientOptions.BeforeSend
|
||||
// function or event processors.
|
||||
func (hub *Hub) LastEventID() EventID {
|
||||
hub.mu.RLock()
|
||||
defer hub.mu.RUnlock()
|
||||
@@ -212,12 +223,10 @@ func (hub *Hub) CaptureEvent(event *Event) *EventID {
|
||||
}
|
||||
eventID := client.CaptureEvent(event, nil, scope)
|
||||
|
||||
hub.mu.Lock()
|
||||
defer hub.mu.Unlock()
|
||||
if eventID != nil {
|
||||
if event.Type != transactionType && eventID != nil {
|
||||
hub.mu.Lock()
|
||||
hub.lastEventID = *eventID
|
||||
} else {
|
||||
hub.lastEventID = ""
|
||||
hub.mu.Unlock()
|
||||
}
|
||||
return eventID
|
||||
}
|
||||
@@ -232,12 +241,10 @@ func (hub *Hub) CaptureMessage(message string) *EventID {
|
||||
}
|
||||
eventID := client.CaptureMessage(message, nil, scope)
|
||||
|
||||
hub.mu.Lock()
|
||||
defer hub.mu.Unlock()
|
||||
if eventID != nil {
|
||||
hub.mu.Lock()
|
||||
hub.lastEventID = *eventID
|
||||
} else {
|
||||
hub.lastEventID = ""
|
||||
hub.mu.Unlock()
|
||||
}
|
||||
return eventID
|
||||
}
|
||||
@@ -252,12 +259,10 @@ func (hub *Hub) CaptureException(exception error) *EventID {
|
||||
}
|
||||
eventID := client.CaptureException(exception, &EventHint{OriginalException: exception}, scope)
|
||||
|
||||
hub.mu.Lock()
|
||||
defer hub.mu.Unlock()
|
||||
if eventID != nil {
|
||||
hub.mu.Lock()
|
||||
hub.lastEventID = *eventID
|
||||
} else {
|
||||
hub.lastEventID = ""
|
||||
hub.mu.Unlock()
|
||||
}
|
||||
return eventID
|
||||
}
|
||||
|
||||
2
vendor/github.com/getsentry/sentry-go/sentry.go
сгенерированный
поставляемый
2
vendor/github.com/getsentry/sentry-go/sentry.go
сгенерированный
поставляемый
@@ -6,7 +6,7 @@ import (
|
||||
)
|
||||
|
||||
// Version is the version of the SDK.
|
||||
const Version = "0.11.0"
|
||||
const Version = "0.12.0"
|
||||
|
||||
// apiVersion is the minimum version of the Sentry API compatible with the
|
||||
// sentry-go SDK.
|
||||
|
||||
13
vendor/github.com/getsentry/sentry-go/stacktrace.go
сгенерированный
поставляемый
13
vendor/github.com/getsentry/sentry-go/stacktrace.go
сгенерированный
поставляемый
@@ -160,9 +160,16 @@ func extractXErrorsPC(err error) []uintptr {
|
||||
// Frame represents a function call and it's metadata. Frames are associated
|
||||
// with a Stacktrace.
|
||||
type Frame struct {
|
||||
Function string `json:"function,omitempty"`
|
||||
Symbol string `json:"symbol,omitempty"`
|
||||
Module string `json:"module,omitempty"`
|
||||
Function string `json:"function,omitempty"`
|
||||
Symbol string `json:"symbol,omitempty"`
|
||||
// Module is, despite the name, the Sentry protocol equivalent of a Go
|
||||
// package's import path.
|
||||
Module string `json:"module,omitempty"`
|
||||
// Package is not used for Go stack trace frames. In other platforms it
|
||||
// refers to a container where the Module can be found. For example, a
|
||||
// Java JAR, a .NET Assembly, or a native dynamic library.
|
||||
// It exists for completeness, allowing the construction and reporting
|
||||
// of custom event payloads.
|
||||
Package string `json:"package,omitempty"`
|
||||
Filename string `json:"filename,omitempty"`
|
||||
AbsPath string `json:"abs_path,omitempty"`
|
||||
|
||||
52
vendor/github.com/getsentry/sentry-go/util.go
сгенерированный
поставляемый
52
vendor/github.com/getsentry/sentry-go/util.go
сгенерированный
поставляемый
@@ -6,7 +6,10 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
exec "golang.org/x/sys/execabs"
|
||||
)
|
||||
|
||||
func uuid() string {
|
||||
@@ -37,3 +40,52 @@ func prettyPrint(data interface{}) {
|
||||
dbg, _ := json.MarshalIndent(data, "", " ")
|
||||
fmt.Println(string(dbg))
|
||||
}
|
||||
|
||||
// defaultRelease attempts to guess a default release for the currently running
|
||||
// program.
|
||||
func defaultRelease() (release string) {
|
||||
// Return first non-empty environment variable known to hold release info, if any.
|
||||
envs := []string{
|
||||
"SENTRY_RELEASE",
|
||||
"HEROKU_SLUG_COMMIT",
|
||||
"SOURCE_VERSION",
|
||||
"CODEBUILD_RESOLVED_SOURCE_VERSION",
|
||||
"CIRCLE_SHA1",
|
||||
"GAE_DEPLOYMENT_ID",
|
||||
"GITHUB_SHA", // GitHub Actions - https://help.github.com/en/actions
|
||||
"COMMIT_REF", // Netlify - https://docs.netlify.com/
|
||||
"VERCEL_GIT_COMMIT_SHA", // Vercel - https://vercel.com/
|
||||
"ZEIT_GITHUB_COMMIT_SHA", // Zeit (now known as Vercel)
|
||||
"ZEIT_GITLAB_COMMIT_SHA",
|
||||
"ZEIT_BITBUCKET_COMMIT_SHA",
|
||||
}
|
||||
for _, e := range envs {
|
||||
if release = os.Getenv(e); release != "" {
|
||||
Logger.Printf("Using release from environment variable %s: %s", e, release)
|
||||
return release
|
||||
}
|
||||
}
|
||||
|
||||
// Derive a version string from Git. Example outputs:
|
||||
// v1.0.1-0-g9de4
|
||||
// v2.0-8-g77df-dirty
|
||||
// 4f72d7
|
||||
cmd := exec.Command("git", "describe", "--long", "--always", "--dirty")
|
||||
b, err := cmd.Output()
|
||||
if err != nil {
|
||||
// Either Git is not available or the current directory is not a
|
||||
// Git repository.
|
||||
var s strings.Builder
|
||||
fmt.Fprintf(&s, "Release detection failed: %v", err)
|
||||
if err, ok := err.(*exec.ExitError); ok && len(err.Stderr) > 0 {
|
||||
fmt.Fprintf(&s, ": %s", err.Stderr)
|
||||
}
|
||||
Logger.Print(s.String())
|
||||
Logger.Print("Some Sentry features will not be available. See https://docs.sentry.io/product/releases/.")
|
||||
Logger.Print("To stop seeing this message, pass a Release to sentry.Init or set the SENTRY_RELEASE environment variable.")
|
||||
return ""
|
||||
}
|
||||
release = strings.TrimSpace(string(b))
|
||||
Logger.Printf("Using release from Git: %s", release)
|
||||
return release
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user