本文介绍如何通过函数计算控制台启用链路追踪功能以及查看函数调用链信息。

背景信息

链路追踪简介

启用链路追踪

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务操作列的配置
  3. 在编辑服务页面的链路追踪配置区域,选中启用,然后单击保存

您也可以在创建服务的同时,启用链路追踪功能。具体操作,请参见创建服务

说明 启用链路追踪功能后,该服务下的所有函数均会开启链路追踪。

查看函数调用链信息

当您的服务开启链路追踪功能后,函数计算会自动记录该服务下所有函数的调用链信息。

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
  3. 函数管理页面,单击目标函数名称,然后在函数详情页面,单击链路追踪页签。
    您可以查看函数调用链信息。更多信息,请参见调用链分析调用链信息
  4. 链路追踪页签的调用链页签,单击具体TraceId,查看详细信息。
    cold-start

    参数说明如下。

    说明 当请求没有遇到冷启动时,链路中没有冷启动时间和Initializer的时间。
    • TracingService/TracingFunction:当前请求在函数计算的总停留时间,默认命名方式为serviceName/functionName
    • ColdStart:函数系统层冷启动的时间,冷启动不是每次调用都出现,只在重新申请执行环境时出现。
      • PrepareCode:函数下载代码或下载自定义镜像的时间,如果PrepareCode时间过长,您可以适当精简代码包来缩短准备代码的时间。
      • RuntimeInitialization:执行环境启动的时间,包含启动实例的时间、实例健康检查时间。在自定义运行时和自定义镜像中,如果RuntimeInitialization执行时间过长,需要检查一下对应的HTTP Server和镜像的启动行为。
    • Initializer:初始化函数的执行时间,初始化函数当且仅当容器冷启动的时候才会被执行。
    • Invocation:函数的执行时间,您可以在函数中获取到Invocation的上下文,详细记录Invocation中的耗时。