OpenTelemetry Memcached Instrumentation for Node.js
This module provides automatic instrumentation for the memcached@>=2.2.0 module.
If total installation size is not constrained, it is recommended to use the @opentelemetry/auto-instrumentations-node bundle with @opentelemetry/sdk-node for the most seamless instrumentation experience.
Compatible with OpenTelemetry JS API and SDK 1.0+.
Installation
npm install --save @opentelemetry/instrumentation-memcached
Supported Versions
memcachedversions>=2.2.0 <3
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 enable a specific instrumentation, pass it to registerInstrumentations().
This is commonly done via NodeSDK for fully setting up all OpenTelemetry SDK components:
const { NodeSDK } = require('@opentelemetry/sdk-node');
const { MemcachedInstrumentation } = require('@opentelemetry/instrumentation-memcached');
const sdk = new NodeSDK({
instrumentations: [
new MemcachedInstrumentation({
// See below for configuration options.
}),
],
});
sdk.start();
process.once('beforeExit', async () => { await sdk.shutdown(); });
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. |
Semantic Conventions
The @opentelemetry/instrumentation-memcached versions 0.63.0 and later emit the stable semantic conventions.
Attributes collected:
| Attribute | Description |
|---|---|
db.system.name |
'memcached' |
db.operation.name |
The name of the operation being executed. |
db.query.text |
The database statement being executed (only if enhancedDatabaseReporting is enabled). |
server.address |
Remote hostname or similar. |
server.port |
Remote port number. |
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
- For help or feedback on this project, join us in GitHub Discussions
License
Apache 2.0 - See LICENSE for more information.