node-redis (OpenTelemetry)
The AppSignal for Node.js integration with OpenTelemetry for node-redis, through the redis
package v3.0.0+.
Installation
First follow the OpenTelemetry installation instructions.
In the appsignal.js
file, disable the AppSignal Redis instrumentation by adding the instrumentRedis: false
option to the configuration.
// appsignal.js
// The start of the appsignal.js file, see the installation instructions
const appsignal = new Appsignal({
// Other config here
instrumentRedis: false,
});
// The rest of the appsignal.js file, see the installation instructions
In the tracing.js
file, add the OpenTelemetry RedisInstrumentation
to the list of instrumentations.
// tracing.js
// The start of the tracing.js file, see the installation instructions
// Add the RedisInstrumentation import
const {
RedisInstrumentation,
} = require("@opentelemetry/instrumentation-redis");
const sdk = new opentelemetry.NodeSDK({
instrumentations: [
// Other instrumention here
// Add the RedisInstrumentation
new RedisInstrumentation(),
],
});
// The rest of the tracing.js file, see the installation instructions
Configuration
By default the Redis instrumentation does not include any queries in the event data sent to AppSignal, only the type of query (get/set/etc).
If you want to include sanitized query data, a dbStatementSerializer
must be configured. We recommend using the AppSignal dbStatementSerializer
to sanitize queries.
// tracing.js
// The start of the tracing.js file, see the installation instructions
// Add the RedisDbStatementSerializer import
const { RedisDbStatementSerializer } = require("@appsignal/nodejs");
// Add the RedisInstrumentation import
const {
RedisInstrumentation,
} = require("@opentelemetry/instrumentation-redis");
const sdk = new opentelemetry.NodeSDK({
instrumentations: [
// Other instrumention here
// Add the RedisInstrumentation
new RedisInstrumentation({
// Configure the AppSignal RedisDbStatementSerializer to sanitize queries
dbStatementSerializer: RedisDbStatementSerializer,
}),
],
});
// The rest of the tracing.js file, see the installation instructions