中级
实现链路追踪TraceID传播
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
traffic_log_csv = open_url(____).read()
import uuid
class TraceContext:
def __init__(____):
self.trace_id = trace_id or uuid.uuid4().hex[:____]
self.span_id = uuid.uuid4().hex[:____]
self.parent_span_id = parent_span_id
def child(____):
return TraceContext(____)
def to_headers(____):
h = {'____': self.trace_id, '____': self.span_id}
if self.parent_span_id: h['____'] = self.parent_span_id
return h
root = TraceContext()
svc_calls = ['____','____','____']
spans = [root]
for svc in svc_calls:
child = root.child()
spans.append(____)
print(____)
print(____)
print(____)
示例
输入
solve()
期望输出
user-service: trace=0c799f3ff82e40c5, span=84803c0e, parent=eda3f41f order-service: trace=0c799f3ff82e40c5, span=6fd59027, parent=eda3f41f payment-service: trace=0c799f3ff82e40c5, span=925b4109, parent=eda3f41f 全部span使用相同trace_id: True 所有子span的parent_span_id == root.span_id: True
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199