一种数据的追踪方法和电子设备技术

技术编号:36195910 阅读:60 留言:0更新日期:2023-01-04 11:48
本申请提供了一种数据的追踪方法和电子设备,追踪方法包括:获取目标业务的协议数据包;基于所述协议数据包,确定用于追踪所述目标业务的追踪标识;在所述目标业务的调用链路中传递所述追踪标识;基于所述追踪标识,输出第一追踪数据。通过本申请所示方法不需要改变现有通信协议即可完成TraceId跨线程/跨进程/跨设备的传递,输出追踪数据,以做分布式调用性能分析。性能分析。性能分析。

【技术实现步骤摘要】
一种数据的追踪方法和电子设备


[0001]本申请涉及终端
,尤其涉及一种数据的追踪方法和电子设备。

技术介绍

[0002]现有的智能终端中,应用程序性能问题的分析和解决依赖于性能数据(如perf数据)或系统跟踪数据(如systrace)。
[0003]在分布式应用开发过程中,一个分布式应用的业务流可能涉及手机、平板、电视等多个智能终端。该应用出现问题时,需要把同一业务流的跨进程/跨设备的跟踪数据联合起来进行分析,以找出出现问题的原因。跨进程/跨设备的跟踪数据非常大,开发和测试人员采用人工比对的方式效率低下且准确性难以保证。

技术实现思路

[0004]第一方面,本申请提出了一种数据的追踪方法,应用于第一电子设备,包括:
[0005]接收到用于对目标业务进行追踪的第一操作,响应于第一操作,获取目标业务的协议数据包;
[0006]基于协议数据包,确定用于追踪目标业务的追踪标识;
[0007]在目标业务的调用链路中传递追踪标识;
[0008]基于追踪标识,输出第一追踪数据。
[0009]在本申请的一个实施例中,基于协议数据包,确定用于追踪目标业务的追踪标识,包括:
[0010]获取协议数据包中协议头的一个或多个第一字段,确定第一字段作为追踪目标业务的追踪标识。
[0011]在本申请的一个实施例中,第一字段包括随时间变化且不重复的时间戳,或者,随音频帧或视频帧递增的帧序号,或者协议数据包的CRC校验值。
[0012]在本申请的一个实施例中,基于协议数据包,确定用于追踪目标业务的追踪标识,包括:
[0013]获取协议数据包中的协议头的一个或多个第二字段;
[0014]基于一个或多个第二字段,计算哈希值,确定哈希值作为追踪目标业务的追踪标识。
[0015]在本申请的一个实施例中,调用链路包括一个或多个第一线程,第一线程用于在第一电子设备中执行目标业务,在目标业务的调用链路中传递追踪标识,包括:
[0016]在第一电子设备调用一个或多个第一线程时,将第一追踪标识写入到每个第一线程的上下文中。
[0017]在本申请的一个实施例中,方法还包括:
[0018]向第二电子设备发送协议数据包,以使得第二电子设备基于协议数据包,确定追踪标识,使得第二电子设备调用一个或多个第二线程时,将追踪标识写入到每个第二线程
的上下文中,以使得第二电子设备生成第二追踪数据,其中第二线程用于在第二电子设备中执行目标业务。
[0019]在本申请的一个实施例中,基于追踪标识,输出第一追踪数据,包括:
[0020]基于追踪标识,获取目标业务在第一电子设备中的第三追踪数据;
[0021]接收第二电子设备发送的第二追踪数据;
[0022]将第二追踪数据和第三追踪数据进行合并,以获取第一追踪数据;
[0023]输出第一追踪数据。
[0024]在本申请的一个实施例中,基于追踪标识,输出第一追踪数据,包括:
[0025]基于追踪标识,获取目标业务在第一电子设备中的第一追踪数据;
[0026]向第三电子设备或第二电子设备,输出第一追踪数据
[0027]在本申请的一个实施例中,基于追踪标识,输出第一追踪数据,包括:
[0028]基于追踪标识,获取目标业务在第一电子设备中的第一追踪数据;
[0029]输出第一追踪数据。
[0030]第二方面,本申请提供了一种数据的追踪方法,应用于第一电子设备,包括:
[0031]接收第二电子设备发送的目标业务的协议数据包;
[0032]基于协议数据包,确定与目标业务对应的追踪标识;
[0033]在目标业务的调用链路中传递追踪标识;
[0034]基于追踪标识,输出追踪数据。
[0035]第三方面,本申请提供了一种数据的追踪方法,包括:
[0036]第一电子设备接收到用于对目标业务数据进行追踪的第一操作,响应于第一操作,获取目标业务的协议数据包;
[0037]第一电子设备基于协议数据包,确定用于追踪目标业务的追踪标识;
[0038]第一电子设备在目标业务的调用链路中传递追踪标识;
[0039]第一电子设备基于追踪标识,输出第一追踪数据;
[0040]第一电子设备向第二电子设备发送协议数据包,第二电子设备基于协议数据包,确定追踪标识;
[0041]第二电子设备基于追踪标识,输出第二追踪数据;
[0042]第四方面,本申请提供了一种电子设备,包括处理器和存储设备,存储设备存有程序指令,程序指令由处理器运行时,使得电子设备执行如第一方面所示的追踪方法。
[0043]第五方面,本申请提供了一种电子设备,包括处理器和存储设备,存储设备存有程序指令,程序指令由处理器运行时,使得电子设备执行如第二方面所示的追踪方法。
[0044]第六方面,本申请提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面所示的追踪方法。
[0045]第七方面,一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第二方面所示的追踪方法。
附图说明
[0046]图1为相关技术中分布式应用使用场景的示例图;
[0047]图2为现有技术中跟踪工具生成的数据追踪日志的示例图;
[0048]图3为现有技术中进行数据追踪的示例图;
[0049]图4为图3所示技术中生成的数据追踪日志的示例图;
[0050]图5为现有技术中进行数据追踪的示例图;
[0051]图6为本申请一个实施例提供的电子设备100的结构示意图;
[0052]图7为本申请一个实施例提供的一种数据追踪方法的流程图;
[0053]图8为本申请一个实施例提供的一种数据追踪方法的流程图;
[0054]图9为本申请一个实施例提供的一种数据追踪方法的流程图;
[0055]图10为本申请一个实施例提供的视图工具对追踪数据分析后输出的视图;
[0056]图11为本申请一个实施例提供的三个智能设备之间业务流的分布式调用关系;
[0057]图12为本申请一个实施例中提供的三个智能设备跟踪调用链;
[0058]图13为本申请一个实施例中属性信息的示例图。
具体实施方式
[0059]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
[0060]以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据的追踪方法,应用于第一电子设备,其特征在于,包括:获取目标业务的协议数据包;基于所述协议数据包,确定用于追踪所述目标业务的追踪标识;在所述目标业务的调用链路中传递所述追踪标识;基于所述追踪标识,输出第一追踪数据。2.根据权利要求1所述的追踪方法,其特征在于,所述基于所述协议数据包,确定用于追踪所述目标业务的追踪标识,包括:获取所述协议数据包中协议头的一个或多个第一字段,确定所述第一字段作为追踪所述目标业务的追踪标识。3.根据权利要求2所述的追踪方法,其特征在于,所述第一字段包括随时间变化且不重复的时间戳,或者,随音频帧或视频帧递增的帧序号,或者所述协议数据包的CRC校验值。4.根据权利要求1所述的追踪方法,其特征在于,所述基于所述协议数据包,确定用于追踪所述目标业务的追踪标识,包括:获取所述协议数据包中的协议头的一个或多个第二字段;基于所述一个或多个第二字段,计算哈希值,确定所述哈希值作为追踪所述目标业务的追踪标识。5.根据权利要求1

4任一项所述的追踪方法,其特征在于,所述调用链路包括一个或多个第一线程,所述第一线程用于在所述第一电子设备中执行所述目标业务,所述在所述目标业务的调用链路中传递所述追踪标识,包括:在所述第一电子设备调用所述一个或多个第一线程时,将所述第一追踪标识写入到每个所述第一线程的上下文中。6.根据权利要求5所述的追踪方法,其特征在于,所述方法还包括:向第二电子设备发送所述协议数据包,以使得所述第二电子设备基于所述协议数据包,确定所述追踪标识,使得所述第二电子设备调用所述一个或多个第二线程时,将所述追踪标识写入到每个所述第二线程的上下文中,以使得所述第二电子设备生成第二追踪数据,其中所述第二线程用于在所述第二电子设备中执行所述目标业务。7.根据权利要求6所述的追踪方法,其特征在于,所述基于所述追踪标识,输出第一追踪数据,包括:基于所述追踪标识,获取所述目标业务在所述第一电子设备中的第三追踪数据;接收所述第二电子设备发送的所述第二追踪数据;将所述第二追踪数据和所述第三追踪数据进行合并,以获取第一追踪数据;输出所述第一追踪数据。8.根据权...

【专利技术属性】
技术研发人员:臧磊真张烽李煜鲁志军
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1