2.9.0
New Features
Added support for gRPC monitoring with the new _integrations/nrgrpc package. This package supports instrumentation for servers and clients.
Added new ExternalSegment fields
Host
,Procedure
, andLibrary
. These optional fields are automatically populated from the segment'sURL
orRequest
if unset. Use them if you don't have access to a request or URL but still want useful external metrics, transaction segment attributes, and span attributes.Host
is used for external metrics, transaction trace segment names, and span event names. The host of segment'sRequest
orURL
is the default.Procedure
is used for transaction breakdown metrics. If set, it should be set to the remote procedure being called. The HTTP method of the segment'sRequest
is the default.Library
is used for external metrics and the"component"
span attribute. If set, it should be set to the framework making the call."http"
is the default.
With the addition of these new fields, external transaction breakdown metrics are changed:
External/myhost.com/all
will now report asExternal/myhost.com/http/GET
(provided the HTTP method isGET
).HTTP Response codes below
100
, except0
and5
, are now recorded as errors. This is to supportgRPC
status codes. If you start seeing new status code errors that you would like to ignore, add them toConfig.ErrorCollector.IgnoreStatusCodes
or your server side configuration settings.Improve logrus support by introducing nrlogrus.Transform, a function which allows you to turn a logrus.Logger instance into a newrelic.Logger. Example use:
l := logrus.New()l.SetLevel(logrus.DebugLevel)cfg := newrelic.NewConfig("Your Application Name", "__YOUR_NEW_RELIC_LICENSE_KEY__")cfg.Logger = nrlogrus.Transform(l)As a result of this change, the nrlogrus package requires logrus version
v1.1.0
and above.