This repository was archived by the owner on Mar 5, 2026. It is now read-only.
feat: trace components improvements and refactoring#8
Merged
andersonleal merged 4 commits intomainfrom Feb 12, 2026
Merged
Conversation
- Rename the project from "iii Developer Console" to "iii-console" and revise the installation instructions to reflect the new standalone binary format. - Simplify the ServiceBreakdown component by adding a collapsible header for better UI/UX, integrating a summary of percentiles, and improving the layout of service statistics. - Introduce clipboard functionality for copying baggage entries in the SpanBaggageTab and stack traces in the SpanErrorsTab, enhancing user interaction. - Update the SpanInfoTab and SpanLogsTab components for improved readability and usability, including better formatting and additional information display. These changes improve the overall user experience and maintainability of the console-frontend application.
- Update README to reflect the new command for running the console. - Refactor ServiceBreakdown component to improve UI/UX with collapsible sections and accessibility features. - Introduce a new utility file for common functions, including formatDuration and useCopyToClipboard, to streamline code across components. - Replace local copy functionality in SpanBaggageTab, SpanErrorsTab, SpanInfoTab, and SpanTagsTab with the new useCopyToClipboard hook for consistency. - Improve performance of SpanTagsTab by memoizing filtered entries based on search query. These changes enhance the maintainability and user experience of the console-frontend application.
- Separate filter-only parameters from full API parameters to enhance performance and stability. - Introduce getFilterOnlyParams function for better access to filter parameters without pagination. - Update TracesPage to utilize getFilterOnlyParams for loading traces, ensuring consistent pagination handling. These changes streamline the trace filtering logic and improve the maintainability of the codebase.
…ance improvements - Introduce getServiceName utility function to standardize service name extraction across components. - Update ServiceBreakdown, SpanInfoTab, SpanPanel, and TraceHeader components to utilize getServiceName for improved readability and consistency. - Optimize SpanBaggageTab and SpanTagsTab by memoizing entries to enhance performance. - Refactor useTraceFilters hook to use refs for timer management, improving clarity and efficiency. These changes streamline the codebase and enhance the performance and maintainability of the trace components.
sergiofilhowz
approved these changes
Feb 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Trace components improvements and refactoring
Summary
This PR refactors and enhances the trace visualization components in the iii-console, improving code reuse, performance, and maintainability. Key changes include:
Frontend (console-frontend)
New
traceUtils.ts— Centralized utility functions:formatDuration()— Duration formatting (μs, ms, s)useCopyToClipboard()— Reusable copy-to-clipboard hook with timeoutgetServiceName()— Extract service name from spanSTATUS_CONFIG— Shared status styling (OK, ERROR, UNSET)useTraceFiltershook — Filter handling improvements:useStatetouseReffor debounce timers (avoids stale closures and unnecessary re-renders)apiParamsintofilterOnlyParams+ pagination for stable references when only page changesgetFilterOnlyParams()for consumers that need filter params without paginationuseMemodependencies to reduce unnecessary recomputationTrace components — Refactored to use shared utilities:
ServiceBreakdown— UsesformatDuration,getServiceName; simplified layout; collapsible sectionSpanPanel,SpanInfoTab,SpanTagsTab,SpanLogsTab,SpanErrorsTab,SpanBaggageTab— UsetraceUtilsfor copy, status badges, duration formattingTraceHeader— Enhanced with utility functionsWaterfallChart,ViewSwitcher— Minor tweaksREADME — Streamlined and updated
Rust (console-rust)
0.0.2-alpha.20260211151315to0.0.4streams.listAll→stream.listAll(API alignment)--otel(opt-in) to--no-otel(opt-out)Type of Change
refactor— Code change that neither fixes a bug nor adds a featurechore— Changes to build process, dependencies, or toolingbugfix— Non-breaking change which fixes an issuefeature— Non-breaking change which adds functionalitybreaking— Fix or feature that would cause existing functionality to breakChecklist
pnpm run lint(or equivalent) and fixed any issuescargo buildinpackages/console-rust/and verified compilationAdditional Context