Web Interface
The DeepTrace web interface provides an intuitive user experience, enabling users to interact with the system effortlessly. Through the collaboration of the frontend, backend, and database, the system efficiently processes data and delivers real-time feedback.
UI Architecture
graph TD
UI_Frontend -->|Calls API| UI_Backend
UI_Backend -->|Fetches data| ElasticDB[Elastic Database]
UI_Frontend -->|Displays data| User[End User]
Component Descriptions
-
UI Frontend
TheUI_Frontendis the user-facing component of the system. It is responsible for rendering the interface and interacting with the user. The frontend communicates with the backend via APIs to fetch and display data.- Code Repository: DeepTrace Frontend Repository
-
UI Backend
TheUI_Backendacts as the intermediary between the frontend and the database. It provides APIs for the frontend to call and handles data processing, business logic, and communication with the database.- Code Repository: DeepTrace Backend Repository
-
Elastic Database
TheElasticDBis the data storage component of the system. It stores all the necessary data and allows the backend to query and retrieve information as needed. It is optimized for search and analytics, making it suitable for handling large datasets efficiently.
Deployment Instructions
Backend
To deploy the backend, follow these steps:
-
Clone the Repository
Clone the backend code repository using the following command:git clone https://github.com/DeepShield-AI/DeepTrace-server.git cd DeepTrace-server -
Modify Configuration File
Update the following properties in the configuration file located at application.properties:spring.elasticsearch.uris=http://xxx spring.elasticsearch.username=xxx spring.elasticsearch.password=xxx -
Build the Project
Run the following commands to build the backend:chmod +x mvnw sudo docker run --privileged --rm -it -v $(pwd):/app docker.1ms.run/maven:3.9.6-eclipse-temurin-17 bash -c "cd /app; ./mvnw clean package" -
Run the Application
Start the backend application using the following command:java -jar ./start/target/start-0.0.1-SNAPSHOT.jar
Frontend
To deploy the frontend, follow these steps:
-
Clone the Repository
Clone the frontend code repository using the following command:git clone https://gitee.com/qcl_CSTP/deeptrace-platform-side.git cd deeptrace-platform-side -
Modify Configuration File
Update the necessary configuration settings. TODO: Add specific configuration details here. -
Install Dependencies
Ensure that Node.js and npm are installed. If not, install them using the following commands:sudo apt update sudo apt install -y nodejs npmThen, install the project dependencies:
npm install -
Run the Application
Start the frontend application using the following command:npm start
UI Functionality Description
Trace Chain Tracking Module
Real-time tracking of service call chains, presenting data such as request count, error count, and response latency through charts. Supports filtering by response status, endpoint, and application protocol. Users can view detailed information about specific call chains (e.g., topology, latency, number of spans), aiding in identifying issues in service calls.
Trace Chain Topology Module
Displays the relationships between service nodes in the form of a topology graph, showing metrics such as QPS, average latency, and error rate for each service. This helps analyze the health and dependencies of service calls, making it easier to identify abnormal service nodes.
Collector Management Module
Manages the list and basic information of collectors (e.g., CPU cores, running status, system version). Supports operations such as registration, enabling, and disabling. This module provides data collection support for monitoring functions like call chain tracking and metric collection.
