# qps **Repository Path**: caidingnu/qps ## Basic Information - **Project Name**: qps - **Description**: qps统计监控 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-17 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### QpsStatisticsService 核心统计服务,提供以下功能: - [incrementRequestCount()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L21-L27) - 增加接口调用计数 - [calculateQpsForPeriod()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L35-L60) - 计算指定时间段内的 QPS - [getCurrentQps()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L176-L178) - 获取当前 QPS(最近1分钟) - [getQps10Min()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L184-L186) - 获取10分钟平均 QPS - [getQps20Min()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L192-L194) - 获取20分钟平均 QPS - [getQps30Min()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L200-L202) - 获取30分钟平均 QPS - [getTotalRequests()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L168-L170) - 获取指定接口的总请求数 - [getAllQpsInfo()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L118-L134) - 获取所有接口的统计信息 - [cleanupOldData()](file:///Users/caidingnu/code/java/qps-starter/qps/src/main/java/com/cdn/qps/QpsStatisticsService.java#L139-L145) - 清理过期数据 ## 配置说明 项目会自动扫描 `com.cdn.qps` 包下的所有组件,无需额外配置。 ## 数据清理 系统会自动保留最近1小时的数据,定期清理过期数据以节省内存。 ## 注意事项 1. QPS 统计基于分钟级别的时间窗口 2. 默认每5秒自动刷新监控面板数据 3. 高QPS(>100)显示为红色,中等QPS(50-100)显示为橙色,低QPS(<50)显示为绿色 ## 使用 快速开始 1. 添加依赖 在您的 pom.xml 中添加以下依赖: ```xml com.cdn qps-starter 1.0.0 ``` 2. 启用 QPS 监控 在需要监控的接口方法上添加 @QpsMonitor 注解 ```java @RestController public class DemoController { @QpsMonitor("用户列表接口") @GetMapping("/users") public List getUsers() { // 业务逻辑 return userService.getAllUsers(); } @QpsMonitor // 不指定名称,默认使用类名+方法名 @PostMapping("/users") public User createUser(@RequestBody User user) { // 业务逻辑 return userService.createUser(user); } } ```