OpenTracing
OpenTracing提供了一个开放的,与供应商无关的标准API。OpenTracing标准中有三个重要的相互关联的类型,分别是Tracer
, Span
和 SpanContext
。每个行为都会在各语言实现层面上,会演变成一个方法 。 由于方法的重载,不同的语言针对可选参数有不同理解,概念和实现方式 。下面以Python
为例
Tracer
创建Span
,并且可以跨进程Inject
(序列化) 和 Extract
(反序列化)其元数据

Span
工作流的一部分,一种命名的、定时的操作 。Span接受key:value标签以及附加到特定Span实例的细粒度、带时间戳的结构化日志


Span Contenxt
Span上下文信息,携带分布式事务的跟踪信息,包含Trace标识符、SPAN标识符以及其他数据


cProfile/pstats
cprofile
基于lsprof的用C语言实现的扩展应用,运行开销比较合理,适合分析运行时间较长的程序,只测量CPU时间,不监视内存消耗


pstats
用来分析cProfile输出的文件内容


性能优化
项目:phm数据同步
问题:数据量大,且数据计算量过多,导致同步时间较大
优化:使用接口同步当日改变的用户信息,对于计算型数据定时分批启用多线程异步计算
效果:同步时间缩短至1h以内,且主要数据可以实时监控
网友评论