统计:基础

This commit is contained in:
2025-04-08 14:33:29 +08:00
parent f17e2364b6
commit fe0397af8e
11 changed files with 247 additions and 0 deletions

View File

@ -0,0 +1,43 @@
package com.ycwl.basic.stats.controller;
import com.ycwl.basic.annotation.IgnoreToken;
import com.ycwl.basic.stats.dto.AddTraceReq;
import com.ycwl.basic.stats.service.StatsService;
import com.ycwl.basic.stats.util.StatsUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@RestController
@RequestMapping("/trace/v1")
public class TraceController {
@Autowired
private StatsService statsService;
@IgnoreToken
@PostMapping("/start")
public void startTrace(HttpServletRequest request, HttpServletResponse response) {
String traceId = request.getHeader("traceId");
if (traceId == null || traceId.isEmpty()) {
traceId = StatsUtil.createUuid();
response.setHeader("Set-TraceId", traceId);
}
statsService.addStats(traceId, null);
}
@IgnoreToken
@PostMapping("/add")
public void addTrace(HttpServletRequest request, HttpServletResponse response, @RequestBody AddTraceReq req) {
String traceId = request.getHeader("traceId");
if (traceId == null || traceId.isEmpty()) {
traceId = StatsUtil.createUuid();
response.setHeader("Set-TraceId", traceId);
}
statsService.addRecord(traceId, req.getAction(), req.getIdentifier(), req.getParams());
}
}