@fastify/otel
Advanced tools
+2
-0
@@ -5,2 +5,4 @@ # Changelog | ||
| ## [0.16.0](https://github.com/fastify/otel/compare/v0.15.0...v0.16.0) (2025-11-28) | ||
| ## [0.14.0](https://github.com/fastify/otel/compare/v0.13.1...v0.14.0) (2025-11-14) | ||
@@ -7,0 +9,0 @@ |
+11
-11
@@ -175,3 +175,3 @@ 'use strict' | ||
| instance.addHook('onRoute', function (routeOptions) { | ||
| instance.addHook('onRoute', function otelWireRoute (routeOptions) { | ||
| if (instrumentation[kIgnorePaths]?.(routeOptions) === true) { | ||
@@ -231,6 +231,6 @@ instrumentation.logger.debug( | ||
| routeOptions.onSend = Array.isArray(routeOptions.onSend) | ||
| ? [...routeOptions.onSend, onSendHook] | ||
| : [routeOptions.onSend, onSendHook] | ||
| ? [...routeOptions.onSend, finalizeResponseSpanHook] | ||
| : [routeOptions.onSend, finalizeResponseSpanHook] | ||
| } else { | ||
| routeOptions.onSend = onSendHook | ||
| routeOptions.onSend = finalizeResponseSpanHook | ||
| } | ||
@@ -241,6 +241,6 @@ | ||
| routeOptions.onError = Array.isArray(routeOptions.onError) | ||
| ? [...routeOptions.onError, onErrorHook] | ||
| : [routeOptions.onError, onErrorHook] | ||
| ? [...routeOptions.onError, recordErrorInSpanHook] | ||
| : [routeOptions.onError, recordErrorInSpanHook] | ||
| } else { | ||
| routeOptions.onError = onErrorHook | ||
| routeOptions.onError = recordErrorInSpanHook | ||
| } | ||
@@ -259,3 +259,3 @@ | ||
| instance.addHook('onRequest', function (request, _reply, hookDone) { | ||
| instance.addHook('onRequest', function startRequestSpanHook (request, _reply, hookDone) { | ||
| if ( | ||
@@ -323,3 +323,3 @@ this[kInstrumentation].isEnabled() === false || | ||
| // onResponse is the last hook to be executed, only added for 404 handlers | ||
| instance.addHook('onResponse', function (request, reply, hookDone) { | ||
| instance.addHook('onResponse', function finalizeNotFoundSpanHook (request, reply, hookDone) { | ||
| const span = request[kRequestSpan] | ||
@@ -348,3 +348,3 @@ | ||
| function onSendHook (request, reply, payload, hookDone) { | ||
| function finalizeResponseSpanHook (request, reply, payload, hookDone) { | ||
| /** @type {import('@opentelemetry/api').Span} */ | ||
@@ -372,3 +372,3 @@ const span = request[kRequestSpan] | ||
| function onErrorHook (request, reply, error, hookDone) { | ||
| function recordErrorInSpanHook (request, reply, error, hookDone) { | ||
| /** @type {Span} */ | ||
@@ -375,0 +375,0 @@ const span = request[kRequestSpan] |
+2
-2
| { | ||
| "name": "@fastify/otel", | ||
| "version": "0.15.0", | ||
| "version": "0.16.0", | ||
| "description": "Official Fastify OpenTelemetry Instrumentation", | ||
@@ -67,3 +67,3 @@ "main": "index.js", | ||
| "@opentelemetry/core": "^2.0.0", | ||
| "@opentelemetry/instrumentation": "^0.207.0", | ||
| "@opentelemetry/instrumentation": "^0.208.0", | ||
| "@opentelemetry/semantic-conventions": "^1.28.0", | ||
@@ -70,0 +70,0 @@ "minimatch": "^10.0.3" |
| # Set default behavior to automatically convert line endings | ||
| * text=auto eol=lf |
| version: 2 | ||
| updates: | ||
| - package-ecosystem: "github-actions" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "monthly" | ||
| open-pull-requests-limit: 10 | ||
| - package-ecosystem: "npm" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "monthly" | ||
| open-pull-requests-limit: 10 |
| # Number of days of inactivity before an issue becomes stale | ||
| daysUntilStale: 15 | ||
| # Number of days of inactivity before a stale issue is closed | ||
| daysUntilClose: 7 | ||
| # Issues with these labels will never be considered stale | ||
| exemptLabels: | ||
| - "discussion" | ||
| - "feature request" | ||
| - "bug" | ||
| - "help wanted" | ||
| - "plugin suggestion" | ||
| - "good first issue" | ||
| # Label to use when marking an issue as stale | ||
| staleLabel: stale | ||
| # Comment to post when marking an issue as stale. Set to `false` to disable | ||
| markComment: > | ||
| This issue has been automatically marked as stale because it has not had | ||
| recent activity. It will be closed if no further activity occurs. Thank you | ||
| for your contributions. | ||
| # Comment to post when closing a stale issue. Set to `false` to disable | ||
| closeComment: false |
| name: CI | ||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| - next | ||
| - 'v*' | ||
| paths-ignore: | ||
| - 'docs/**' | ||
| - '*.md' | ||
| pull_request: | ||
| paths-ignore: | ||
| - 'docs/**' | ||
| - '*.md' | ||
| # This allows a subsequently queued workflow run to interrupt previous runs | ||
| concurrency: | ||
| group: "${{ github.workflow }}-${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" | ||
| cancel-in-progress: true | ||
| permissions: | ||
| contents: read | ||
| jobs: | ||
| test: | ||
| permissions: | ||
| contents: write | ||
| pull-requests: write | ||
| uses: fastify/workflows/.github/workflows/plugins-ci.yml@v5 | ||
| with: | ||
| lint: true | ||
| license-check: true | ||
| node-versions: '["18", "20", "22", "24"]' |
| 'use strict' | ||
| module.exports = require('neostandard')({ | ||
| ignores: require('neostandard').resolveIgnoresFromGitignore(), | ||
| ts: true | ||
| }) |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
113799
-1.49%14
-26.32%2533
-0.2%+ Added
+ Added
- Removed
- Removed