Skip to content

Conversation

Karibash
Copy link
Contributor

@Karibash Karibash commented Aug 18, 2025

Summary

This PR enhances the Hono integration by adding comprehensive handler instrumentation, error handling capabilities, and thorough test coverage. The changes build upon the basic Hono integration to provide a complete tracing and error monitoring solution.

New Features

  • Handler Instrumentation: Added instrumentation for Hono handlers and middleware, providing detailed tracing capabilities
  • Error Handler: Implemented setupHonoErrorHandler() function to capture and report errors to Sentry with configurable error filtering
  • Public API: Added Hono integration to the main package exports, making it available as @sentry/node
  • Tracing Module: Included Hono integration in the tracing integrations index

Bug Fixes

  • CJS Compatibility: Fixed an issue where applying patches failed in CommonJS environments
  • Type Corrections: Fixed incorrect MiddlewareHandler type definition to ensure proper TypeScript support

Implementation Details

  • Instrumentation: Created HonoInstrumentation class that wraps Hono middleware handlers via class extension instead of function replacement for better compatibility
  • Type Definitions: Added comprehensive TypeScript type definitions vendored from Hono's official types
  • Constants: Defined Hono-specific attribute names for OpenTelemetry integration
  • CJS Compatibility: Fixed patching issues in CommonJS environments

Testing

  • Integration Tests: Added comprehensive test suite covering:
    • ESM and CJS compatibility
    • Multiple HTTP methods (GET, POST, PUT, DELETE, PATCH)
    • Various route patterns (sync/async, different paths)
    • Middleware and handler instrumentation verification
    • Error handling scenarios
    • Span attribute validation

Related Issue

close #15260

cursor[bot]

This comment was marked as outdated.

@Karibash Karibash force-pushed the feature/hono-instrumentation-handler branch from 32e3a23 to 505c480 Compare August 18, 2025 02:31
cursor[bot]

This comment was marked as outdated.

@s1gr1d s1gr1d assigned s1gr1d and unassigned s1gr1d Aug 25, 2025
@s1gr1d s1gr1d requested review from s1gr1d and Lms24 August 25, 2025 11:06
@Karibash Karibash force-pushed the feature/hono-instrumentation-handler branch from 505c480 to a7ef204 Compare August 25, 2025 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement Hono SDK
2 participants