- Added new RecordCustomMetric method to Application. This functionality can be used to track averages or counters without using custom events. See Custom Metric Documentation
- Fixed import needed for
logrus. The import
Sirupsen/logrushad been renamed to
sirupsen/logrus. Thanks to @alfred-landrum for spotting this.
- Added ErrorAttributer, an optional interface that can be implemented by errors provided to
Transaction.NoticeErrorto attach additional attributes. These attributes are subject to attribute configuration.
- Added Error, a type that allows direct control of error fields.
- Updated license to address scope of usage.
- Fixed incorrect metric rule application when the metric rule is flagged to terminate and matches but the name is unchanged.
ExternalSegment.End()methods now return an error which may be helpful in diagnosing situations where segment data is unexpectedly missing.
Added support for custom error messages and stack traces. Errors provided to
Transaction.NoticeErrorwill now be checked to see if they implement ErrorClasser and/or StackTracer. Thanks to @fgrosse for this proposal.
Added support for pkg/errors. Thanks to @fgrosse for this work.
Fixed tests for Go 1.8.
- Added support for slow query traces. Slow datastore segments will now generate slow query traces viewable on the datastore tab. These traces include a stack trace and help you to debug slow datastore activity.
- Added new DatastoreSegment fields
DatabaseName. These fields will be shown in transaction traces and in slow query traces.
Added support for instrumenting short-lived processes:
- The new
Application.Shutdownmethod allows applications to report data to New Relic without waiting a full minute.
- The new
Application.WaitForConnectionmethod allows your process to defer instrumentation until the application is connected and ready to gather data.
- Full documentation here: application.go
- Example short-lived process: examples/short-lived-process/main.go
- The new
Error metrics are no longer created when
ErrorCollector.Enabled = false.
Fixed bug where Transaction Trace thresholds based upon Apdex were not being applied to background transactions.
- Breaking Datastore change:
datastorepackage contents moved to top level
- Breaking Attributes change:
attributespackage contents moved to top level
newrelic.AttributeResponseCode. Some attribute name constants have been shortened.
- Added "runtime.NumCPU" to the environment tab. Thanks sergeylanzman for the contribution.
- Prefixed the environment tab values "Compiler", "GOARCH", "GOOS", and "Version" with "runtime."