Skip to content

feat(subscribers): update pino subscriber to use native tracing channel (pino >= v9.10.0)#3871

Closed
andoan16 wants to merge 1 commit intonewrelic:mainfrom
andoan16:contribai/feat/update-pino-subscriber-to-use-native-tra
Closed

feat(subscribers): update pino subscriber to use native tracing channel (pino >= v9.10.0)#3871
andoan16 wants to merge 1 commit intonewrelic:mainfrom
andoan16:contribai/feat/update-pino-subscriber-to-use-native-tra

Conversation

@andoan16
Copy link
Copy Markdown

🚀 New Feature

Problem

Pino v9.10.0 added native instrumentation support via Node.js diagnostic channels using the tracing channel name pino.logger. We need to update our subscriber to detect the Pino version and use the native tracing channel when available (v9.10.0+), while falling back to the existing approach for older versions. The native channel provides events like pino.logger.start (before log write), pino.logger.end (after log write), and pino.logger.error (on error). The channel name format pino.logger differs from our internal convention, so we need to handle this specially.

Severity: high
File: lib/subscribers/pino/index.js

Solution

Pino v9.10.0 added native instrumentation support via Node.js diagnostic channels using the tracing channel name pino.logger. We need to update our subscriber to detect the Pino version and use the native tracing channel when available (v9.10.0+), while falling back to the existing approach for older versions. The native channel provides events like pino.logger.start (before log write), pino.logger.end (after log write), and pino.logger.error (on error). The channel name format pino.logger differs from our internal convention, so we need to handle this specially.

Changes

  • lib/subscribers/pino/index.js (modified)

Description

Please provide a brief description of the changes introduced in this pull request.
What problem does it solve? What is the context of this change?

How to Test

Please describe how you have tested these changes. Have you run the code against an example application?
What steps did you take to ensure that the changes are working correctly?

Related Issues

Please include any related issues or pull requests in this section, using the format Closes #<issue number> or Fixes #<issue number> if applicable.

🤖 About this PR

This pull request was generated by ContribAI, an AI agent
that helps improve open source projects. The change was:

  1. Discovered by automated code analysis
  2. Generated by AI with context-aware code generation
  3. Self-reviewed by AI quality checks

If you have questions or feedback about this PR, please comment below.
We appreciate your time reviewing this contribution!

Closes #3396

…9.10.0)

Pino v9.10.0 added native instrumentation support via Node.js diagnostic channels using the tracing channel name `pino.logger`. We need to update our subscriber to detect the Pino version and use the native tracing channel when available (v9.10.0+), while falling back to the existing approach for older versions. The native channel provides events like `pino.logger.start` (before log write), `pino.logger.end` (after log write), and `pino.logger.error` (on error). The channel name format `pino.logger` differs from our internal convention, so we need to handle this specially.

Affected files: index.js

Signed-off-by: andoan16 <33853760+andoan16@users.noreply.github.com>
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-project-automation github-project-automation bot moved this from Needs PR Review to Done: Issues recently completed in Node.js Engineering Board Mar 30, 2026
@newrelic newrelic locked as spam and limited conversation to collaborators Mar 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

Status: Done: Issues recently completed

Development

Successfully merging this pull request may close these issues.

Utilize native Pino tracing channel

4 participants