@revai-care/instrumentation-adonisjs-6 v0.1.2
OpenTelemetry AdonisJS Instrumentation for Node.js
This module provides automatic instrumentation for the AdonisJS framework module, which may be loaded using the @opentelemetry/sdk-trace-node package.
Compatible with OpenTelemetry JS API and SDK 1.0+.
Installation
npm install --save @revai-care/instrumentation-adonisjs-6Usage
OpenTelemetry AdonisJS Instrumentation allows the user to automatically collect trace data from the request handlers, middleware, and error handling within AdonisJS applications, and export them to the backend of choice.
To load the AdonisJS instrumentation, specify it in the registerInstrumentations configuration.
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { AdonisInstrumentation } = require('@my-company/instrumentation-adonisjs');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const provider = new NodeTracerProvider();
provider.register();
registerInstrumentations({
instrumentations: [
new AdonisInstrumentation(),
],
});Emitted Spans
| Name | adonisjs.type | Description | Included attributes |
|---|---|---|---|
request handler - <route> | request_handler | Traces the execution of a request handler. | http.*, adonisjs.namespace, adonisjs.method |
middleware - <middlewareName> | middleware | Traces the execution of middleware. | http.*, adonisjs.namespace, adonisjs.method |
ExceptionHandler.report | exception_handler | Traces the error reporting by the ExceptionHandler. | http.*, adonisjs.namespace, adonisjs.method |
Semantic Conventions
This package uses @opentelemetry/semantic-conventions version 1.27+, which implements Semantic Convention Version 1.7.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 |
|---|---|
component* | "@adonisjs/core" |
adonisjs.version* | Version of instrumented @adonisjs/core package |
adonisjs.type* | See AdonisType |
adonisjs.namespace | Class name of the handler or middleware. |
adonisjs.method | Name of the method executed within the handler or middleware. |
http.method | HTTP method |
http.url | Full request URL |
http.route | Route assigned to handler. Ex: /users/:id |
http.path | Route pattern. Ex: /users/:id |
* included in all of the spans.
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js