What is @opentelemetry/instrumentation-memcached?
@opentelemetry/instrumentation-memcached is an OpenTelemetry instrumentation library for Memcached. It allows you to automatically collect and report metrics and traces for Memcached operations, helping you monitor and debug your Memcached usage in a distributed system.
What are @opentelemetry/instrumentation-memcached's main functionalities?
Automatic Tracing
This feature allows you to automatically trace all Memcached operations. The code sample shows how to set up the NodeTracerProvider and register the Memcached instrumentation.
const { NodeTracerProvider } = require('@opentelemetry/node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const { MemcachedInstrumentation } = require('@opentelemetry/instrumentation-memcached');
const provider = new NodeTracerProvider();
provider.register();
registerInstrumentations({
instrumentations: [
new MemcachedInstrumentation(),
],
});
Custom Configuration
This feature allows you to customize the instrumentation by adding hooks for requests and responses. The code sample demonstrates how to set custom attributes on spans for Memcached commands and responses.
const { MemcachedInstrumentation } = require('@opentelemetry/instrumentation-memcached');
const memcachedInstrumentation = new MemcachedInstrumentation({
requestHook: (span, requestInfo) => {
span.setAttribute('memcached.command', requestInfo.command);
},
responseHook: (span, responseInfo) => {
span.setAttribute('memcached.response', responseInfo.response);
}
});
Other packages similar to @opentelemetry/instrumentation-memcached
@opentelemetry/instrumentation-redis
@opentelemetry/instrumentation-redis is a similar package for Redis. It provides automatic tracing and metrics collection for Redis operations. Like @opentelemetry/instrumentation-memcached, it helps in monitoring and debugging Redis usage in a distributed system.
OpenTelemetry Memcached Instrumentation for Node.js
This module provides automatic instrumentation for memcached@>=2.2.0
.
For automatic instrumentation see the
@opentelemetry/sdk-trace-node package.
Compatible with OpenTelemetry JS API and SDK 1.0+
.
Installation
npm install --save @opentelemetry/instrumentation-memcached
Supported Versions
Usage
OpenTelemetry Memcached Instrumentation allows the user to automatically collect trace data and export them to the backend of choice, to give observability to distributed systems when working with memcached.
To load a specific instrumentation (memcached in this case), specify it in the registerInstrumentations' configuration
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { MemcachedInstrumentation } = require('@opentelemetry/instrumentation-memcached');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const provider = new NodeTracerProvider();
provider.register();
registerInstrumentations({
instrumentations: [
new MemcachedInstrumentation({
enhancedDatabaseReporting: false,
}),
],
});
Configuration Options
Option | Type | Example | Description |
---|
enhancedDatabaseReporting | boolean | false | Include full command statement in the span - leaks potentially sensitive information to your spans. Defaults to false . |
Useful links
License
Apache 2.0 - See LICENSE for more information.