Skip to content

Latest commit

 

History

History
224 lines (153 loc) · 8.13 KB

CHANGELOG.md

File metadata and controls

224 lines (153 loc) · 8.13 KB

ChangeLog

1.10.0

  • Added new RecordCustomMetric method to Application. This functionality can be used to track averages or counters without using custom events.

  • Fixed import needed for logrus. The import Sirupsen/logrus had 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.NoticeError to attach additional attributes. These attributes are subject to attribute configuration.

  • Added Error, a type that allows direct control of error fields. Example use:

txn.NoticeError(newrelic.Error{
	// Message is returned by the Error() method.
	Message: "error message: something went very wrong",
	Class:   "errors are aggregated by class",
	Attributes: map[string]interface{}{
		"important_number": 97232,
		"relevant_string":  "zap",
	},
})
  • Updated license to address scope of usage.

1.9.0

1.8.0

  • Fixed incorrect metric rule application when the metric rule is flagged to terminate and matches but the name is unchanged.

  • Segment.End(), DatastoreSegment.End(), and ExternalSegment.End() methods now return an error which may be helpful in diagnosing situations where segment data is unexpectedly missing.

1.7.0

1.6.0

  • Added support for custom error messages and stack traces. Errors provided to Transaction.NoticeError will 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.

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 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

  • Added new 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
    • Example short-lived process: examples/short-lived-process/main.go
  • Error metrics are no longer created when ErrorCollector.Enabled = false.

  • Added support for github.com/mgutz/logxi. See _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

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. See 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.