@opentelemetry/instrumentation-cassandra-driver
TypeScript icon, indicating that this package has built-in type declarations

0.39.0 • Public • Published

OpenTelemetry instrumentation for cassandra-driver

NPM Published Version Apache License

This module provides automatic instrumentation for the injection of trace context to cassandra-driver, which may be loaded using the @opentelemetry/sdk-trace-node package and is included in the @opentelemetry/auto-instrumentations-node bundle.

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-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 (?).
responseHook CassandraDriverResponseCustomAttributeFunction undefined Hook for adding custom attributes before response is handled
maxQueryLength number 65536 If enhancedDatabaseReporting is enabled, limits the attached query strings to this length.

Supported versions

>=4.4 <5.0

Semantic Conventions

This package uses @opentelemetry/semantic-conventions version 1.22+, which implements Semantic Convention Version 1.7.0

Attributes collected:

Attribute Short Description
db.name This attribute is used to report the name of the database being accessed.
db.statement The database statement being executed.
db.system An identifier for the database management system (DBMS) product being used.
db.user Username for accessing the database.
net.peer.name Remote hostname or similar.
net.peer.port Remote port number.

Useful links

License

Apache 2.0 - See LICENSE for more information.

Package Sidebar

Install

npm i @opentelemetry/instrumentation-cassandra-driver

Weekly Downloads

570,343

Version

0.39.0

License

Apache-2.0

Unpacked Size

59.7 kB

Total Files

15

Last publish

Collaborators

  • pichlermarc
  • bogdandrutu
  • dyladan