OpenTelemetry mysql Instrumentation for Node.js
!NPM Published Versionnpm-imgnpm-url
!dependenciesdependencies-imagedependencies-url
!devDependenciesdevDependencies-imagedevDependencies-url
!Apache Licenselicense-imagelicense-imageThis module provides automatic instrumentation for
mysql
.For automatic instrumentation see the @opentelemetry/node package.
Installation
npm install --save @opentelemetry/plugin-mysql
Supported Versions
~2.0.0
Usage
OpenTelemetry MySQL 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 mysql.To load a specific plugin (MySQL in this case), specify it in the registerInstrumentations's configuration
const { NodeTracerProvider } = require('@opentelemetry/node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const provider = new NodeTracerProvider();
provider.register();
registerInstrumentations({
instrumentations: [
{
plugins: {
mysql: {
enabled: true,
// You may use a package name or absolute path to the file.
path: '@opentelemetry/plugin-mysql',
}
},
},
],
tracerProvider: provider,
});
To load all of the supported plugins, use below approach. Each plugin is only loaded when the module that it patches is loaded; in other words, there is no computational overhead for listing plugins for unused modules.
const { NodeTracerProvider } = require('@opentelemetry/node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const provider = new NodeTracerProvider();
provider.register();
registerInstrumentations({
tracerProvider: provider,
});
See examples/mysql for a short example.
Useful links
- For more information on OpenTelemetry, visit:
- For more about OpenTelemetry JavaScript:
- For help or feedback on this project, join us in GitHub Discussionsdiscussions-url