Upgrade to v3.x
editUpgrade to v3.x
editThe following is a guide on upgrading your Node.js agent from version 2.x to version 3.x.
Overview
editVersion 3.0.0 of the Node.js agent supports Node.js v8 (from v8.6.0 and onwards), v10, and v12.
Config options
editThe 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
.
API changes
editThe 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 changed -
apm.startSpan()
: Function arguments changed -
transaction.startSpan()
: Function arguments changed -
transaction.type
: String format changed -
span.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()
Changes in collected data
editWhen 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
.