9. 监控与可观测
9.1 业务指标
核心业务指标
学习相关指标
-
学习完成率:完成学习的学习者占比
- 计算公式:学习完成率 = 完成学习的学习者数 / 总学习者数
- 目标值:≥70%
- 监控频率:每日
-
平均学习时长:学习者平均每天学习时长
- 计算公式:平均学习时长 = 总学习时长 / 学习天数
- 目标值:≥30分钟/天
- 监控频率:每日
-
知识点掌握度:学习者对知识点的平均掌握度
- 计算公式:知识点掌握度 = Σ(各知识点掌握度) / 知识点总数
- 目标值:≥80%
- 监控频率:每周
答疑相关指标
-
问答数量:每日问答总数
- 计算公式:问答数量 = 每日提问数
- 目标值:≥1000次/天
- 监控频率:实时
-
平均响应时间:从提问到获得回答的平均时间
- 计算公式:平均响应时间 = Σ(响应时间) / 问答数量
- 目标值:≤5秒
- 监控频率:实时
-
回答准确率:回答准确的比例
- 计算公式:回答准确率 = 准确回答数 / 总回答数
- 目标值:≥90%
- 监控频率:每日
-
用户满意度:用户对回答的满意度评分
- 计算公式:用户满意度 = Σ(满意度评分) / 评价数量
- 目标值:≥4.5/5.0
- 监控频率:每日
作业批改指标
-
批改数量:每日批改作业总数
- 计算公式:批改数量 = 每日提交作业数
- 目标值:≥500份/天
- 监控频率:实时
-
批改准确 率:批改准确的比例
- 计算公式:批改准确率 = 准确批改数 / 总批改数
- 目标值:≥95%
- 监控频率:每日
-
批改效率:平均每份作业的批改时间
- 计算公式:批改效率 = 总批改时间 / 批改数量
- 目标值:≤10秒/份
- 监控频率:实时
指标监控
监控系统架构
指标采集实现
# 指标采集实现
from prometheus_client import Counter, Histogram, Gauge
# 定义指标
qa_count = Counter('qa_total', 'Total number of Q&A requests')
qa_response_time = Histogram('qa_response_time_seconds', 'Q&A response time')
qa_accuracy = Gauge('qa_accuracy', 'Q&A accuracy rate')
homework_graded = Counter('homework_graded_total', 'Total number of homework graded')
learning_completion_rate = Gauge('learning_completion_rate', 'Learning completion rate')
# 记录指标
def record_qa(question, answer, response_time, accuracy):
"""记录问答指标"""
qa_count.inc()
qa_response_time.observe(response_time)
qa_accuracy.set(accuracy)
def record_homework_grading(homework_id, grading_time):
"""记录作业批改指标"""
homework_graded.inc()
# 记录批改时间等指标