Geen omschrijving

Qyanger 6b153f10e1 pro-code 3 maanden geleden
.mvn 9b7e73aca3 add-d4-metrics 4 maanden geleden
src 6b153f10e1 pro-code 3 maanden geleden
test-data 2a7534e943 add-test-data 4 maanden geleden
.dockerignore 9b7e73aca3 add-d4-metrics 4 maanden geleden
.gitignore 6b153f10e1 pro-code 3 maanden geleden
Dockerfile 9b7e73aca3 add-d4-metrics 4 maanden geleden
LICENSE 4a7929888f Initial commit 4 maanden geleden
README.md 2a7534e943 add-test-data 4 maanden geleden
mvn 9b7e73aca3 add-d4-metrics 4 maanden geleden
mvn.cmd 9b7e73aca3 add-d4-metrics 4 maanden geleden
mvnw 9b7e73aca3 add-d4-metrics 4 maanden geleden
mvnw.cmd 9b7e73aca3 add-d4-metrics 4 maanden geleden
pom.xml 6b153f10e1 pro-code 3 maanden geleden

README.md

seecoder-analysis-backend

SeeCoder 日志分析后端,当前实现 D4 指标接口。服务从 Elasticsearch 的 k8s-logs-* 索引读取业务埋点日志,解析 business_info 中的 key=value|key=value 字段并返回前端可直接使用的统计结果。

技术栈

  • Java 17
  • Spring Boot 3.3.5
  • Elasticsearch Java Client / Spring Boot Data Elasticsearch
  • Docker 多阶段构建

配置

云平台部署时通过环境变量配置 Elasticsearch:

ELASTICSEARCH_URIS=http://environment-27-45.seec.svc.cluster.local:9200
ELASTICSEARCH_USERNAME=
ELASTICSEARCH_PASSWORD=

可选配置:

D4_METRICS_INDEX_PATTERN=k8s-logs-*
D4_METRICS_DEFAULT_RANGE_DAYS=30
D4_METRICS_PAGE_SIZE=500
D4_METRICS_MAX_EVENTS_TO_SCAN=10000
D4_METRICS_DEFAULT_TASK_SLA_MS=86400000
SERVER_PORT=8080

接口

GET /api/d4/metrics

查询参数:

  • from: 起始时间,ISO-8601,例如 2026-03-30T00:00:00Z
  • to: 结束时间,ISO-8601
  • projectId: 可选,按项目过滤
  • taskType: 可选,例如 fileReviewbranchReview
  • userId: 可选,匹配 creatorId/reviewerId/operatorId/resolverId/receiverId
  • slaMs: 可选,按时完成 SLA,默认 1 天

示例:

curl "http://localhost:8080/api/d4/metrics?from=2026-03-30T00:00:00Z&to=2026-03-31T00:00:00Z&projectId=50"

返回指标包含:

  • 协作任务完成率:completedCount / assignedCount
  • 按时完成率:taskDurationMs <= slaMs 的完成任务数 / 完成任务总数
  • 团队沟通平均响应耗时:avg(responseMs)
  • 有效协作次数:count(D4_COLLAB_EFFECTIVE)
  • 协作冲突解决次数和解决率:resolved / created

本地运行

./mvnw spring-boot:run

构建与部署

./mvnw clean package
docker build -t seecoder-analysis-backend:latest .
docker run --rm -p 8080:8080 \
  -e ELASTICSEARCH_URIS=http://localhost:9200 \
  seecoder-analysis-backend:latest

健康检查:

GET /actuator/health