0.42.0 • Published 8 months ago

@opentelemetry/instrumentation-cassandra-driver v0.42.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
8 months ago

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

Supported Versions

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

OptionTypeDefaultDescription
enhancedDatabaseReportingbooleanfalseWhether 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 (?).
responseHookCassandraDriverResponseCustomAttributeFunctionundefinedHook for adding custom attributes before response is handled
maxQueryLengthnumber65536If enhancedDatabaseReporting is enabled, limits the attached query strings to this length.

Semantic Conventions

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

Attributes collected:

AttributeShort Description
db.nameThis attribute is used to report the name of the database being accessed.
db.statementThe database statement being executed.
db.systemAn identifier for the database management system (DBMS) product being used.
db.userUsername for accessing the database.
net.peer.nameRemote hostname or similar.
net.peer.portRemote port number.

Useful links

License

Apache 2.0 - See LICENSE for more information.