Skip to content

[πŸ§‘β€πŸŽ“ LFX]: Upgrading Core Routing and State ManagementΒ #3313

@yurishkuro

Description

@yurishkuro

Modernizing Jaeger-UI: Upgrading Core Routing and State Management

Please read jaegertracing/jaeger#7833 for any application-related questions.

LFX link: https://mentorship.lfx.linuxfoundation.org/project/d13df7c9-06d3-4589-bef8-c13e5c79c2a2

Description:

Jaeger is the industry-standard open-source distributed tracing platform used by companies like Uber and Shopify to monitor complex microservices. To ensure long-term maintainability and performance, the Jaeger-UI is undergoing a major modernization effort to move away from legacy patterns and deprecated libraries.
This project focuses on the final two major "foundational" upgrades for the UI:

  1. Routing Renovation: Upgrading from legacy react-router patterns to React Router v7. This involves migrating from a component-based routing approach to the modern data-driven router architecture.
  2. State Management Cleanup: Replacing the deprecated history package and older Redux integration patterns with modern standards like redux-first-history.

As a mentee, you will be the primary architect for these upgrades, diving deep into the internals of a high-traffic React application. You will work on refactoring core navigation logic, improving how the UI handles deep-linking into complex trace data, and ensuring the application remains lightning-fast for developers debugging their systems.

Expected Outcomes

  • A fully migrated Jaeger-UI running on React Router v7.
  • Successful removal of the deprecated history v4/v5 dependency in favor of modern state-navigation integration.
  • Refactored functional components that utilize modern hooks (like useNavigate and useParams) instead of legacy HOCs (Higher-Order Components).
  • A robust test suite ensuring no regressions in trace visualization or search functionality during the migration.

Recommended Skills

  • Javascript/TypeScript & React: Deep familiarity with hooks and component lifecycles.
  • State Management: Experience with Redux or similar libraries.
  • Routing Knowledge: Understanding of SPAs (Single Page Applications) and browser history APIs.
  • Testing: Experience with Jest/Enzyme or React Testing Library is a plus.

Mentor(s):

Upstream Issues:

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions