Upgrade to v3.x
The following is a guide on upgrading your Node.js agent from version 2.x to version 3.x.
Version 3.0.0 of the Node.js agent supports Node.js v8 (from v8.6.0 and onwards), v10, and v12.
The disableInstrumentations
config option now behaves differently if given the values http
and/or https
. Previously this would disable tracing of incoming and outgoing requests. Now this config option only deals with outgoing requests. To disable tracing of incoming http(s) requests, use the new instrumentIncomingHTTPRequests
config option.
It’s now possible to make use of manual instrumention while the instrument
config option is set to false
. This means that calls to for instance apm.startTransaction()
or apm.startSpan()
will produce transactions and spans even if instrument
is set to false
.
The type
associated with transactions and spans is no longer dot-separated. Instead the type
property has been split into three distinct properties: type
, subtype
, and action
. This has resulted in changes to the following API’s:
apm.startTransaction()
: Function arguments changedapm.startSpan()
: Function arguments changedtransaction.startSpan()
: Function arguments changedtransaction.type
: String format changedspan.type
: String format changed
The following deprecated API’s has been removed:
apm.setTag()
: Replaced byapm.setLabel()
apm.addTags()
: Replaced byapm.addLabels()
transaction.setTag()
: Replaced bytransaction.setLabel()
transaction.addTags()
: Replaced bytransaction.addLabels()
span.setTag()
: Replaced byspan.setLabel()
span.addTags()
: Replaced byspan.addLabels()
When instrumenting a GraphQL server that is run by apollo-server-express
the Transaction type is now graphql
instead of request
.
All Spans whose type was previously ext
is now external
.