Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SendStartupSession ¶
func SendStartupSession(config *SessionTrackingConfiguration) context.Context
SendStartupSession is called by Bugsnag on startup, which will send a session to Bugsnag and return a context to represent the session of the main goroutine. This is the session associated with any fatal panics that are caught by panicwrap.
Types ¶
type EventCounts ¶
EventCounts register how many handled/unhandled events have happened for this session
type Session ¶
type Session struct { StartedAt time.Time ID uuid.UUID EventCounts *EventCounts }
Session represents a start time and a unique ID that identifies the session.
type SessionTracker ¶
SessionTracker exposes a method for starting sessions that are used for gauging your application's health
func NewSessionTracker ¶
func NewSessionTracker(config *SessionTrackingConfiguration) SessionTracker
NewSessionTracker creates a new SessionTracker based on the provided config,
type SessionTrackingConfiguration ¶
type SessionTrackingConfiguration struct { // PublishInterval defines how often the sessions are sent off to the session server. PublishInterval time.Duration // AutoCaptureSessions can be set to false to disable automatic session // tracking. If you want control over what is deemed a session, you can // switch off automatic session tracking with this configuration, and call // bugsnag.StartSession() when appropriate for your application. See the // official docs for instructions and examples of associating handled // errors with sessions and ensuring error rate accuracy on the Bugsnag // dashboard. This will default to true, but is stored as an interface to enable // us to detect when this option has not been set. AutoCaptureSessions interface{} // APIKey defines the API key for the Bugsnag project. Same value as for reporting errors. APIKey string // Endpoint is the URI of the session server to receive session payloads. Endpoint string // Version defines the current version of the notifier. Version string // ReleaseStage defines the release stage, e.g. "production" or "staging", // that this session occurred in. The release stage, in combination with // the app version make up the release that Bugsnag tracks. ReleaseStage string // Hostname defines the host of the server this application is running on. Hostname string // AppType defines the type of the application. AppType string // AppVersion defines the version of the application. AppVersion string // Transport defines the http.RoundTripper to be used for managing HTTP requests. Transport http.RoundTripper // The release stages to notify about sessions in. If you set this then // bugsnag-go will only send sessions to Bugsnag if the release stage // is listed here. NotifyReleaseStages []string // Logger is the logger that Bugsnag should log to. Uses the same defaults // as go's builtin logging package. This logger gets invoked when any error // occurs inside the library itself. Logger interface { Printf(format string, v ...interface{}) } // contains filtered or unexported fields }
SessionTrackingConfiguration defines the configuration options relevant for session tracking. These are likely a subset of the global bugsnag.Configuration. Users should not modify this struct directly but rather call `bugsnag.Configure(bugsnag.Configuration)` which will update this configuration in return.
func (*SessionTrackingConfiguration) IsAutoCaptureSessions ¶
func (c *SessionTrackingConfiguration) IsAutoCaptureSessions() bool
IsAutoCaptureSessions identifies whether or not the notifier should automatically capture sessions as requests come in. It's a convenience wrapper that allows automatic session capturing to be enabled by default.
func (*SessionTrackingConfiguration) Update ¶
func (c *SessionTrackingConfiguration) Update(config *SessionTrackingConfiguration)
Update modifies the values inside the receiver to match the non-default properties of the given config. Existing properties will not be cleared when given empty fields.