feat(desktop): sync traffic packets to message table #1791
Merged
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.
This pull request includes significant changes to the traffic monitoring and metrics handling functionalities. The most important changes include adding new methods for traffic data retrieval and processing, updating the traffic monitoring UI, and refactoring utility functions for consistency and improved functionality.
Traffic Data Retrieval and Processing:
src/database/services/MessageService.ts
: Added a new methodgetTrafficMessagesByConnection
to retrieve traffic messages for a connection within a specified time range. This method processes and returns metrics data containing received and sent bytes.Traffic Monitoring UI Enhancements:
src/views/viewer/TrafficMonitor.vue
: Enhanced the traffic monitoring component to load and display traffic messages for the last 24 hours. Introduced methods to handle message storage and subscription to message queues. [1] [2]Utility Functions Refactoring:
src/utils/systemTopic.ts
: Refactored thegetTrafficMetrics
function to accept a default metrics model and updated the logic to use the message's creation time as the label.src/utils/time.ts
: Added a new methodgetDateBefore
to get the date before a specified number of minutes. This method is used to calculate the start time for traffic data retrieval.UI Components Update:
src/components/widgets/TrafficStatistics.vue
: Added a new methodsetDefaultChartData
to initialize chart data based on provided metrics.Localization and Text Updates:
src/lang/viewer.ts
: Updated localization strings to provide more detailed descriptions for traffic monitoring tooltips and labels.