MM-27613: Update dependencies (#15294)
https://mattermost.atlassian.net/browse/MM-27613
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
54f86e7fb1
Коммит
f2a8e10216
126
vendor/github.com/getsentry/sentry-go/interfaces.go
сгенерированный
поставляемый
126
vendor/github.com/getsentry/sentry-go/interfaces.go
сгенерированный
поставляемый
@@ -13,9 +13,13 @@ import (
|
||||
// Protocol Docs (kinda)
|
||||
// https://github.com/getsentry/rust-sentry-types/blob/master/src/protocol/v7.rs
|
||||
|
||||
// Level marks the severity of the event
|
||||
// transactionType is the type of a transaction event.
|
||||
const transactionType = "transaction"
|
||||
|
||||
// Level marks the severity of the event.
|
||||
type Level string
|
||||
|
||||
// Describes the severity of the event.
|
||||
const (
|
||||
LevelDebug Level = "debug"
|
||||
LevelInfo Level = "info"
|
||||
@@ -24,7 +28,7 @@ const (
|
||||
LevelFatal Level = "fatal"
|
||||
)
|
||||
|
||||
// https://docs.sentry.io/development/sdk-dev/event-payloads/sdk/
|
||||
// SdkInfo contains all metadata about about the SDK being used.
|
||||
type SdkInfo struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Version string `json:"version,omitempty"`
|
||||
@@ -32,6 +36,7 @@ type SdkInfo struct {
|
||||
Packages []SdkPackage `json:"packages,omitempty"`
|
||||
}
|
||||
|
||||
// SdkPackage describes a package that was installed.
|
||||
type SdkPackage struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Version string `json:"version,omitempty"`
|
||||
@@ -39,10 +44,13 @@ type SdkPackage struct {
|
||||
|
||||
// TODO: This type could be more useful, as map of interface{} is too generic
|
||||
// and requires a lot of type assertions in beforeBreadcrumb calls
|
||||
// plus it could just be `map[string]interface{}` then
|
||||
// plus it could just be map[string]interface{} then.
|
||||
|
||||
// BreadcrumbHint contains information that can be associated with a Breadcrumb.
|
||||
type BreadcrumbHint map[string]interface{}
|
||||
|
||||
// https://docs.sentry.io/development/sdk-dev/event-payloads/breadcrumbs/
|
||||
// Breadcrumb specifies an application event that occurred before a Sentry event.
|
||||
// An event may contain one or more breadcrumbs.
|
||||
type Breadcrumb struct {
|
||||
Category string `json:"category,omitempty"`
|
||||
Data map[string]interface{} `json:"data,omitempty"`
|
||||
@@ -52,6 +60,7 @@ type Breadcrumb struct {
|
||||
Type string `json:"type,omitempty"`
|
||||
}
|
||||
|
||||
// MarshalJSON converts the Breadcrumb struct to JSON.
|
||||
func (b *Breadcrumb) MarshalJSON() ([]byte, error) {
|
||||
type alias Breadcrumb
|
||||
// encoding/json doesn't support the "omitempty" option for struct types.
|
||||
@@ -67,14 +76,11 @@ func (b *Breadcrumb) MarshalJSON() ([]byte, error) {
|
||||
alias: (*alias)(b),
|
||||
})
|
||||
}
|
||||
return json.Marshal(&struct {
|
||||
*alias
|
||||
}{
|
||||
alias: (*alias)(b),
|
||||
})
|
||||
return json.Marshal((*alias)(b))
|
||||
}
|
||||
|
||||
// https://docs.sentry.io/development/sdk-dev/event-payloads/user/
|
||||
// User describes the user associated with an Event. If this is used, at least
|
||||
// an ID or an IP address should be provided.
|
||||
type User struct {
|
||||
Email string `json:"email,omitempty"`
|
||||
ID string `json:"id,omitempty"`
|
||||
@@ -82,7 +88,7 @@ type User struct {
|
||||
Username string `json:"username,omitempty"`
|
||||
}
|
||||
|
||||
// https://docs.sentry.io/development/sdk-dev/event-payloads/request/
|
||||
// Request contains information on a HTTP request related to the event.
|
||||
type Request struct {
|
||||
URL string `json:"url,omitempty"`
|
||||
Method string `json:"method,omitempty"`
|
||||
@@ -131,7 +137,7 @@ func NewRequest(r *http.Request) *Request {
|
||||
}
|
||||
}
|
||||
|
||||
// https://docs.sentry.io/development/sdk-dev/event-payloads/exception/
|
||||
// Exception specifies an error that occurred.
|
||||
type Exception struct {
|
||||
Type string `json:"type,omitempty"`
|
||||
Value string `json:"value,omitempty"`
|
||||
@@ -141,9 +147,11 @@ type Exception struct {
|
||||
RawStacktrace *Stacktrace `json:"raw_stacktrace,omitempty"`
|
||||
}
|
||||
|
||||
// EventID is a hexadecimal string representing a unique uuid4 for an Event.
|
||||
// An EventID must be 32 characters long, lowercase and not have any dashes.
|
||||
type EventID string
|
||||
|
||||
// https://docs.sentry.io/development/sdk-dev/event-payloads/
|
||||
// Event is the fundamental data structure that is sent to Sentry.
|
||||
type Event struct {
|
||||
Breadcrumbs []*Breadcrumb `json:"breadcrumbs,omitempty"`
|
||||
Contexts map[string]interface{} `json:"contexts,omitempty"`
|
||||
@@ -167,30 +175,57 @@ type Event struct {
|
||||
Modules map[string]string `json:"modules,omitempty"`
|
||||
Request *Request `json:"request,omitempty"`
|
||||
Exception []Exception `json:"exception,omitempty"`
|
||||
|
||||
// Experimental: This is part of a beta feature of the SDK. The fields below
|
||||
// are only relevant for transactions.
|
||||
Type string `json:"type,omitempty"`
|
||||
StartTimestamp time.Time `json:"start_timestamp"`
|
||||
Spans []*Span `json:"spans,omitempty"`
|
||||
}
|
||||
|
||||
// MarshalJSON converts the Event struct to JSON.
|
||||
func (e *Event) MarshalJSON() ([]byte, error) {
|
||||
type alias Event
|
||||
// encoding/json doesn't support the "omitempty" option for struct types.
|
||||
// See https://golang.org/issues/11939.
|
||||
// This implementation of MarshalJSON shadows the original Timestamp field
|
||||
// forcing it to be omitted when the Timestamp is the zero value of
|
||||
// time.Time.
|
||||
if e.Timestamp.IsZero() {
|
||||
return json.Marshal(&struct {
|
||||
*alias
|
||||
Timestamp json.RawMessage `json:"timestamp,omitempty"`
|
||||
}{
|
||||
alias: (*alias)(e),
|
||||
})
|
||||
// event aliases Event to allow calling json.Marshal without an infinite
|
||||
// loop. It preserves all fields of Event while none of the attached
|
||||
// methods.
|
||||
type event Event
|
||||
|
||||
// Transactions are marshaled in the standard way how json.Marshal works.
|
||||
if e.Type == transactionType {
|
||||
return json.Marshal((*event)(e))
|
||||
}
|
||||
return json.Marshal(&struct {
|
||||
*alias
|
||||
}{
|
||||
alias: (*alias)(e),
|
||||
})
|
||||
|
||||
// errorEvent is like Event with some shadowed fields for customizing the
|
||||
// JSON serialization of regular "error events".
|
||||
type errorEvent struct {
|
||||
*event
|
||||
|
||||
// encoding/json doesn't support the omitempty option for struct types.
|
||||
// See https://golang.org/issues/11939.
|
||||
// We shadow the original Event.Timestamp field with a json.RawMessage.
|
||||
// This allows us to include the timestamp when non-zero and omit it
|
||||
// otherwise.
|
||||
Timestamp json.RawMessage `json:"timestamp,omitempty"`
|
||||
|
||||
// The fields below are not part of the regular "error events" and only
|
||||
// make sense to be sent for transactions. They shadow the respective
|
||||
// fields in Event and are meant to remain nil, triggering the omitempty
|
||||
// behavior.
|
||||
Type json.RawMessage `json:"type,omitempty"`
|
||||
StartTimestamp json.RawMessage `json:"start_timestamp,omitempty"`
|
||||
Spans json.RawMessage `json:"spans,omitempty"`
|
||||
}
|
||||
|
||||
x := &errorEvent{event: (*event)(e)}
|
||||
if !e.Timestamp.IsZero() {
|
||||
x.Timestamp = append(x.Timestamp, '"')
|
||||
x.Timestamp = e.Timestamp.UTC().AppendFormat(x.Timestamp, time.RFC3339Nano)
|
||||
x.Timestamp = append(x.Timestamp, '"')
|
||||
}
|
||||
return json.Marshal(x)
|
||||
}
|
||||
|
||||
// NewEvent creates a new Event.
|
||||
func NewEvent() *Event {
|
||||
event := Event{
|
||||
Contexts: make(map[string]interface{}),
|
||||
@@ -201,6 +236,7 @@ func NewEvent() *Event {
|
||||
return &event
|
||||
}
|
||||
|
||||
// Thread specifies threads that were running at the time of an event.
|
||||
type Thread struct {
|
||||
ID string `json:"id,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
@@ -210,6 +246,7 @@ type Thread struct {
|
||||
Current bool `json:"current,omitempty"`
|
||||
}
|
||||
|
||||
// EventHint contains information that can be associated with an Event.
|
||||
type EventHint struct {
|
||||
Data interface{}
|
||||
EventID string
|
||||
@@ -219,3 +256,30 @@ type EventHint struct {
|
||||
Request *http.Request
|
||||
Response *http.Response
|
||||
}
|
||||
|
||||
// TraceContext describes the context of the trace.
|
||||
//
|
||||
// Experimental: This is part of a beta feature of the SDK.
|
||||
type TraceContext struct {
|
||||
TraceID string `json:"trace_id"`
|
||||
SpanID string `json:"span_id"`
|
||||
Op string `json:"op,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Status string `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// Span describes a timed unit of work in a trace.
|
||||
//
|
||||
// Experimental: This is part of a beta feature of the SDK.
|
||||
type Span struct {
|
||||
TraceID string `json:"trace_id"`
|
||||
SpanID string `json:"span_id"`
|
||||
ParentSpanID string `json:"parent_span_id,omitempty"`
|
||||
Op string `json:"op,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Status string `json:"status,omitempty"`
|
||||
Tags map[string]string `json:"tags,omitempty"`
|
||||
StartTimestamp time.Time `json:"start_timestamp"`
|
||||
EndTimestamp time.Time `json:"timestamp"`
|
||||
Data map[string]interface{} `json:"data,omitempty"`
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user