소스 검색

天网数据压测

gao.qiang 1 년 전
부모
커밋
6dba0fe265

+ 10 - 8
business-service/src/main/java/com/ozs/utils/CameraUtil.java

@@ -1129,6 +1129,9 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
      * @param camerasVo
      */
     public String apiPreviewURLs(CamerasVo camerasVo) {
+        long begin = System.currentTimeMillis();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        StringBuilder stringBuilder = new StringBuilder();
         /**
          *  jsonBody.put("cameraIndexCode", "01ea43e6676f4e47bd6c5cd9e02aa006");
          *         jsonBody.put("streamType", 0);
@@ -1136,21 +1139,20 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
          *         jsonBody.put("transmode", 1);
          *         jsonBody.put("expand","streamform=rtp");
          */
+        camerasVo.setStreamType(0);
         camerasVo.setProtocol("rtsp");
         camerasVo.setTransmode(1);
         camerasVo.setExpand("streamform=rtp");
         String body = JSONObject.toJSONString(camerasVo);
         String previewURLs = getPreviewURLs("/api/video/v1/cameras/previewURLs", body);
         log.info("-------------------------------->>>>>previewURLs" + previewURLs);
+        long end = System.currentTimeMillis();
         JSONObject outJson = JSONObject.parse(previewURLs);
-        if ("0".equals(outJson.getString("code"))) {
-            log.info("outJson----->" + outJson);
-            JSONObject data = outJson.getJSONObject("data");
-            String urls = data.getString("url");
-            return urls;
-        } else {
-            return "1";
-        }
+        stringBuilder.append("测试结果:" + ("0".equals(outJson.getString("code")) ? "成功" : "失败"));
+        stringBuilder.append("\\/n调用时间:"+sdf.format(new Date(begin)));
+        stringBuilder.append("\\/n数据返回时间:"+sdf.format(new Date(end)));
+        stringBuilder.append("\\/n延迟:"+(end - begin) + "毫秒");
+        return stringBuilder.toString();
     }
 
     public String stopStream(String cameraIndexCode, String channel) {

+ 9 - 8
vehicle-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -3,6 +3,7 @@ package com.ozs.controller.upload;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDictData;
 import com.ozs.common.core.redis.RedisCache;
 import com.ozs.common.utils.ApiTokenUtils;
@@ -1708,16 +1709,16 @@ public class GeoHazardMonitorTokenController {
      * @return
      */
     @PostMapping("/api/addRouteMassage")
-    public AjaxResults addRouteMassage(@RequestBody BaseRouteMassage baseRouteMassage) {
+    public AjaxResult addRouteMassage(@RequestBody BaseRouteMassage baseRouteMassage) {
         if (!ObjectUtils.isEmpty(baseRouteMassage) && !ObjectUtils.isEmpty(baseRouteMassage.getStationCode())) {
             BaseRouteMassage one = baseRouteMassageService.getOne(new LambdaQueryWrapper<BaseRouteMassage>().eq(BaseRouteMassage::getStationCode, baseRouteMassage.getStationCode()));
             if (!ObjectUtils.isEmpty(one)) {
-                return AjaxResults.error("车站信息已存在");
+                return AjaxResult.error("车站信息已存在");
             }
         }
         baseRouteMassage.setCreateTime(new Date());
         baseRouteMassageService.save(baseRouteMassage);
-        return AjaxResults.success();
+        return AjaxResult.success();
     }
 
     /**
@@ -1726,7 +1727,7 @@ public class GeoHazardMonitorTokenController {
      * @return
      */
     @GetMapping("/api/getRouteMassageList")
-    public AjaxResults getRouteMassageList() {
+    public AjaxResult getRouteMassageList() {
         List<BaseRouteMassage> list = baseRouteMassageService.list();
         for (BaseRouteMassage baseRouteMassage : list) {
             if (!ObjectUtils.isEmpty(baseRouteMassage.getMileagePosition())) {
@@ -1734,7 +1735,7 @@ public class GeoHazardMonitorTokenController {
                 baseRouteMassage.setMileagePositionName(mils);
             }
         }
-        return AjaxResults.success(list);
+        return AjaxResult.success(list);
     }
 
     /**
@@ -1743,12 +1744,12 @@ public class GeoHazardMonitorTokenController {
      * @return
      */
     @PostMapping("/api/deleteRouteMassage")
-    public AjaxResults deleteRouteMassage(@RequestBody BaseRouteMassage baseRouteMassage) {
+    public AjaxResult deleteRouteMassage(@RequestBody BaseRouteMassage baseRouteMassage) {
         if (!ObjectUtils.isEmpty(baseRouteMassage) && !ObjectUtils.isEmpty(baseRouteMassage.getId())) {
             baseRouteMassageService.removeById(baseRouteMassage.getId());
-            return AjaxResults.success();
+            return AjaxResult.success();
         } else {
-            return AjaxResults.error("ID不存在");
+            return AjaxResult.error("ID不存在");
         }
     }
 

+ 41 - 0
vehicle-sdk/src/main/java/com/ozs/controller/upload/PressureController.java

@@ -0,0 +1,41 @@
+package com.ozs.controller.upload;
+
+import com.ozs.entity.BaseCameraManagement;
+import com.ozs.entity.vo.CamerasVo;
+import com.ozs.service.BaseCameraManagementService;
+import com.ozs.utils.CameraUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ */
+@RestController
+@Slf4j
+public class PressureController {
+
+    @Autowired
+    private CameraUtil cameraUtil;
+    @Autowired
+    private BaseCameraManagementService baseCameraManagementService;
+
+    /**
+     * 天网数据压测
+     */
+    @GetMapping("/api/pressurePreviewURLs")
+    public void getWebToken() {
+        List<BaseCameraManagement> list = baseCameraManagementService.list();
+        for (int i = 0; i < 2; i++) {
+            for (BaseCameraManagement baseCameraManagement : list) {
+                CamerasVo camerasVo = new CamerasVo();
+                camerasVo.setCameraIndexCode(baseCameraManagement.getCameraCode());
+                String msg = cameraUtil.apiPreviewURLs(camerasVo);
+                log.info(msg);
+            }   
+        }
+    }
+}

+ 52 - 0
vehicle-sdk/src/main/resources/logback.xml

@@ -117,6 +117,51 @@
     </appender>
 
 
+    <appender name="pressure_info_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}/pressure_info.log</file>
+        <!-- 循环政策:基于时间创建日志文件 -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件名格式 -->
+            <fileNamePattern>${log.path}/pressure_info.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <!-- 日志最大的历史 60天 -->
+            <maxHistory>60</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <!-- 过滤的级别 -->
+            <level>INFO</level>
+            <!-- 匹配时的操作:接收(记录) -->
+            <onMatch>ACCEPT</onMatch>
+            <!-- 不匹配时的操作:拒绝(不记录) -->
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <appender name="pressure_error_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}/pressure_error.log</file>
+        <!-- 循环政策:基于时间创建日志文件 -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件名格式 -->
+            <fileNamePattern>${log.path}/pressure_error.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <!-- 日志最大的历史 60天 -->
+            <maxHistory>60</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <!-- 过滤的级别 -->
+            <level>ERROR</level>
+            <!-- 匹配时的操作:接收(记录) -->
+            <onMatch>ACCEPT</onMatch>
+            <!-- 不匹配时的操作:拒绝(不记录) -->
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+
     <appender name="cameraUtil_info_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <file>${log.path}/cameraUtil_info.log</file>
         <!-- 循环政策:基于时间创建日志文件 -->
@@ -196,4 +241,11 @@
         <!-- 这里也引用控制台appender,才能在控制台中看到我们的日志 -->
         <appender-ref ref="console"/>
     </logger>
+    <logger name="com.ozs.controller.upload.PressureController">
+        <!-- 引用自定义的appender -->
+        <appender-ref ref="pressure_info_log"/>
+        <appender-ref ref="pressure_error_log"/>
+        <!-- 这里也引用控制台appender,才能在控制台中看到我们的日志 -->
+        <appender-ref ref="console"/>
+    </logger>
 </configuration>