npm.io
0.41.0 • Published 3 weeks ago

@opentelemetry/instrumentation-tedious

Licence
Apache-2.0
Version
0.41.0
Deps
2
Size
56 kB
Vulns
0
Weekly
0
Stars
928

OpenTelemetry Tedious Instrumentation for Node.js

NPM Published Version Apache License

This module provides automatic instrumentation for the tedious 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-tedious

Supported Versions

Usage

OpenTelemetry Tedious 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 tedious.

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 { TediousInstrumentation } = require('@opentelemetry/instrumentation-tedious');

const sdk = new NodeSDK({
  instrumentations: [
    new TediousInstrumentation(),
  ],
});
sdk.start();
process.once('beforeExit', async () => { await sdk.shutdown(); });

Semantic Conventions

This instrumentation creates spans with attributes from the stable database and networking semantic conventions.

The instrumentation-tedious versions 0.39.0 and later emit the stable v1.33.0+ semantic conventions.

Attribute Description
db.system.name Database system identifier: 'microsoft.sql_server'
db.query.text The database query being executed.
db.namespace The database associated with the connection.
db.collection.name The name of a collection (table, container) within the database.
db.operation.name The name of the operation or command being executed.
db.stored_procedure.name The stored procedure name.
db.response.status_code The SQL Server error number as a string, set on error (e.g. "208" for invalid object name).
error.type Describes a class of error the operation ended with.
server.address Remote hostname or similar.
server.port Remote port number.
Trace Context Propagation

Database trace context propagation can be enabled by setting enableTraceContextPropagation to true. This uses the SET CONTEXT_INFO command to set traceparent information for the current connection, which results in an additional round-trip to the database.

License

Apache 2.0 - See LICENSE for more information.

Keywords