本文介绍在函数计算控制台配置链路追踪功能、使用自定义链路追踪接入点及查看函数调用链信息的操作步骤。

背景信息

链路追踪简介

创建服务时配置链路追踪

  1. 登录函数计算控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏中,单击服务及函数。在服务列表区域右上角,单击新增服务
    creat_service
  4. 新建服务页面填写服务名称,选中开启链路追踪,单击创建
    说明 选中开启链路追踪后,该服务下的所有函数均会开启链路追踪。
    enter_name

服务创建完成后配置链路追踪

您可以参考以下步骤为已创建的服务开启链路追踪功能。

  1. 登录函数计算控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏单击服务及函数,在服务列表区域,单击目标服务。
  4. 服务及函数页面,单击目标服务。然后单击服务配置,在服务配置页签,单击修改配置
    修改服务配置
  5. 配置服务页面的链路追踪区域,打开开启链路追踪开关,单击提交
    开启链路追踪

查看函数调用链信息

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

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

    参数说明如下:

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