156 lines
5.4 KiB
Markdown
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.
|