@scayle/nuxt-opentelemetry
v0.4.0
Published
A Nuxt module for OpenTelemetry integration
Downloads
6,124
Readme
@scayle/nuxt-opentelemetry
Installation
# Using pnpm
pnpm add @scayle/nuxt-opentelemetry
# Using yarn
yarn add @scayle/nuxt-opentelemetry
# Using npm
npm install @scayle/nuxt-opentelemetry
Usage
export default defineNuxtConfig({
modules: ['@scayle/nuxt-opentelemetry'],
runtimeConfig: {
opentelemetry: {
// Set default runtime config options here.
// They can be overridden at runtime with NUXT_OPENTELEMETRY_ environment variables
// The properties which can be set at runtime are defined below
},
},
opentelemetry: {
// Set build-time module configuration options here
},
})
This module will instrument requests handled by Nitro according to Semantic Conventions for HTTP Spans v1.26.0
Module Configuration
The internal module can be configured through module options or runtime environment variables. The following options are available.
enabled
orNUXT_OPENTELEMETRY_ENABLED
- This option enables or disables the module.
If
enabled
is set to false at build-time (), the module will not install any plugins or modify the entrypoint. Ifenabled
is set to false at runtime, the plugin will be installed, but spans will not be created for Nitro requests. They may be created for other instrumentations.
- This option enables or disables the module.
If
pathBlocklist
orNUXT_OPENTELEMETRY_PATH_BLOCKLIST
- This option allows ignoring requests for paths that match the pattern.
It can be a regular expression string or plain string. For example,
you could use the option
{ pathBlocklist: '^/api/up' }
to skip creating spans for health check requests.
- This option allows ignoring requests for paths that match the pattern.
It can be a regular expression string or plain string. For example,
you could use the option
pathReplace
orNUXT_OPENTELEMETRY_PATH_REPLACE
- The Nitro span names are derived from the route path.
This option can be used to rewrite the path that is used in the name.
It should be an array with two elements.
The first element is the pattern to match, as a regular expression string or plain string.
The second element is the text to replace the match with.
This can be used to use the same span name when the paths only differ by a locale prefix.
For example:
['^/(en|de|fr)/', '/:locale/']
- The Nitro span names are derived from the route path.
This option can be used to rewrite the path that is used in the name.
It should be an array with two elements.
The first element is the pattern to match, as a regular expression string or plain string.
The second element is the text to replace the match with.
This can be used to use the same span name when the paths only differ by a locale prefix.
For example:
Including and Excluding modules
The below options are passed to import-in-the-middle
to control its interception behavior.
You can read more about the behavior of these options in its documentation.
include
An array of module identifiers to include from hookingexclude
An array of module identifiers to exclude from hooking
License
Licensed under the MIT License
What is SCAYLE?
SCAYLE is a full-featured e-commerce software solution that comes with flexible APIs. Within SCAYLE, you can manage all aspects of your shop, such as products, stocks, customers, and transactions.
Learn more about SCAYLE’s architecture and commerce modules in the Docs.
Other channels
License
Licensed under the MIT License