terraform/vendor/github.com/newrelic/go-agent/CHANGELOG.md

156 lines
5.4 KiB
Markdown

## ChangeLog
## 1.5.0
* Added support for Windows. Thanks to @ianomad and @lvxv for the contributions.
* The number of heap objects allocated is recorded in the
`Memory/Heap/AllocatedObjects` metric. This will soon be displayed on the "Go
runtime" page.
* If the [DatastoreSegment](https://godoc.org/github.com/newrelic/go-agent#DatastoreSegment)
fields `Host` and `PortPathOrID` are not provided, they will no longer appear
as `"unknown"` in transaction traces and slow query traces.
* Stack traces will now be nicely aligned in the APM UI.
## 1.4.0
* 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.
[Slow Query Documentation](https://docs.newrelic.com/docs/apm/applications-menu/monitoring/viewing-slow-query-details)
* Added new
[DatastoreSegment](https://godoc.org/github.com/newrelic/go-agent#DatastoreSegment)
fields `ParameterizedQuery`, `QueryParameters`, `Host`, `PortPathOrID`, and
`DatabaseName`. These fields will be shown in transaction traces and in slow
query traces.
## 1.3.0
* Breaking Change: Added a timeout parameter to the `Application.Shutdown` method.
## 1.2.0
* Added support for instrumenting short-lived processes:
* The new `Application.Shutdown` method allows applications to report
data to New Relic without waiting a full minute.
* The new `Application.WaitForConnection` method allows your process to
defer instrumentation until the application is connected and ready to
gather data.
* Full documentation here: [application.go](application.go)
* Example short-lived process: [examples/short-lived-process/main.go](examples/short-lived-process/main.go)
* Error metrics are no longer created when `ErrorCollector.Enabled = false`.
* Added support for [github.com/mgutz/logxi](github.com/mgutz/logxi). See
[_integrations/nrlogxi/v1/nrlogxi.go](_integrations/nrlogxi/v1/nrlogxi.go).
* Fixed bug where Transaction Trace thresholds based upon Apdex were not being
applied to background transactions.
## 1.1.0
* Added support for Transaction Traces.
* Stack trace filenames have been shortened: Any thing preceding the first
`/src/` is now removed.
## 1.0.0
* Removed `BetaToken` from the `Config` structure.
* Breaking Datastore Change: `datastore` package contents moved to top level
`newrelic` package. `datastore.MySQL` has become `newrelic.DatastoreMySQL`.
* Breaking Attributes Change: `attributes` package contents moved to top
level `newrelic` package. `attributes.ResponseCode` has become
`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.".
## 0.8.0
* Breaking Segments API Changes: The segments API has been rewritten with the
goal of being easier to use and to avoid nil Transaction checks. See:
* [segments.go](segments.go)
* [examples/server/main.go](examples/server/main.go)
* [GUIDE.md#segments](GUIDE.md#segments)
* Updated LICENSE.txt with contribution information.
## 0.7.1
* Fixed a bug causing the `Config` to fail to serialize into JSON when the
`Transport` field was populated.
## 0.7.0
* Eliminated `api`, `version`, and `log` packages. `Version`, `Config`,
`Application`, and `Transaction` now live in the top level `newrelic` package.
If you imported the `attributes` or `datastore` packages then you will need
to remove `api` from the import path.
* Breaking Logging Changes
Logging is no longer controlled though a single global. Instead, logging is
configured on a per-application basis with the new `Config.Logger` field. The
logger is an interface described in [log.go](log.go). See
[GUIDE.md#logging](GUIDE.md#logging).
## 0.6.1
* No longer create "GC/System/Pauses" metric if no GC pauses happened.
## 0.6.0
* Introduced beta token to support our beta program.
* Rename `Config.Development` to `Config.Enabled` (and change boolean
direction).
* Fixed a bug where exclusive time could be incorrect if segments were not
ended.
* Fix unit tests broken in 1.6.
* In `Config.Enabled = false` mode, the license must be the proper length or empty.
* Added runtime statistics for CPU/memory usage, garbage collection, and number
of goroutines.
## 0.5.0
* Added segment timing methods to `Transaction`. These methods must only be
used in a single goroutine.
* The license length check will not be performed in `Development` mode.
* Rename `SetLogFile` to `SetFile` to reduce redundancy.
* Added `DebugEnabled` logging guard to reduce overhead.
* `Transaction` now implements an `Ignore` method which will prevent
any of the transaction's data from being recorded.
* `Transaction` now implements a subset of the interfaces
`http.CloseNotifier`, `http.Flusher`, `http.Hijacker`, and `io.ReaderFrom`
to match the behavior of its wrapped `http.ResponseWriter`.
* Changed project name from `go-sdk` to `go-agent`.
## 0.4.0
* Queue time support added: if the inbound request contains an
`"X-Request-Start"` or `"X-Queue-Start"` header with a unix timestamp, the
agent will report queue time metrics. Queue time will appear on the
application overview chart. The timestamp may fractional seconds,
milliseconds, or microseconds: the agent will deduce the correct units.