@opentelemetry/instrumentation-cassandra-driver

OpenTelemetry instrumentation for cassandra-driver

Usage no npm install needed!

<script type="module">
  import opentelemetryInstrumentationCassandraDriver from 'https://cdn.skypack.dev/@opentelemetry/instrumentation-cassandra-driver';
</script>

README

OpenTelemetry instrumentation for cassandra-driver

NPM Published Version dependencies devDependencies Apache License

This module provides automatic instrumentation for injection of trace context to cassandra-driver.

Compatible with OpenTelemetry JS API and SDK 1.0+.

Installation

npm install --save @opentelemetry/instrumentation-cassandra-driver

Usage

const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { CassandraDriverInstrumentation } = require('@opentelemetry/instrumentation-cassandra-driver');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');

const provider = new NodeTracerProvider();
provider.register();

registerInstrumentations({
  instrumentations: [
    new CassandraDriverInstrumentation(),
    // other instrumentations
  ],
});

const cassandra = require('cassandra-driver');
const client = new cassandra.Client({ ... });
await client.execute('select * from foo');

Instrumentation options

Option Type Default Description
enhancedDatabaseReporting boolean false Whether to include database queries with spans. These can contain sensitive information when using unescaped parameters - i.e. insert into persons (name) values ('Bob') instead of insert into persons (name) values (?).
maxQueryLength number 65536 If enhancedDatabaseReporting is enabled, limits the attached query strings
to this length.

Supported versions

>=4.4 <5.0

Useful links

License

Apache 2.0 - See LICENSE for more information.