Added support for gRPC monitoring with the new _integrations/nrgrpc package. This package supports instrumentation for servers and clients.
Added new ExternalSegment fields
Library. These optional fields are automatically populated from the segment's
Requestif 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.
Hostis used for external metrics, transaction trace segment names, and span event names. The host of segment's
URLis the default.
Procedureis used for transaction breakdown metrics. If set, it should be set to the remote procedure being called. The HTTP method of the segment's
Requestis the default.
Libraryis 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/allwill now report as
External/myhost.com/http/GET(provided the HTTP method is
HTTP Response codes below
5, are now recorded as errors. This is to support
gRPCstatus codes. If you start seeing new status code errors that you would like to ignore, add them to
Config.ErrorCollector.IgnoreStatusCodesor 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