更新时间:2023-11-21 GMT+08:00

调用链管理

概述

用户在函数的“监控”页签,开启调用链能力。开启后可以在函数”监控 > 调用链“页面或跳转至APM服务”应用监控 > 调用链"页面,查看函数调用链信息。当前仅支持Java8和Java11函数。

前提条件

  • 调用链只支持512MB内存以上的函数,若函数内存低于512MB,无法使用调用链功能,请在“设置 > 常规信息”中,扩大函数“内存”后再使用调用链功能。
  • 已开通应用性能管理APM服务的使用权限,具体请参见APM权限管理。若未开通,则无法获取调用链相关数据。

开通调用链

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 单击函数名称,进入函数详情界面。
  3. 选择“监控 > 调用链”。
  4. 单击“点击开通”。

    图1 开通调用链监控

  5. 此时调用链会从应用性能管理APM服务自动获取一个访问密钥AK/SK,如图2

    图2 获取访问密钥
    • 已有访问密钥:在“访问密钥ID”的下拉列表中选择“访问密钥ID”,选择完成后单击“确定”,完成开通。
    • 无访问密钥:单击“创建”进入APM控制台,参见,新增后的AK/SK会同步至FunctionGraph控制台。

  6. 管理调用链。

    • 单击右上方,可以直接关闭调用链,关闭调用链后将不能查看函数调用链。
    • 若在APM控制台对AK/SK进行了编辑修改,返回FunctionGraph控制台,单击右上方,在弹框中更新AK/SK。

查询调用链详情

  1. 返回函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击已开启调用链的函数,进入函数详情页面。
  2. 在“监控”页签下,选择“调用链”。
  3. 在左侧设置查询条件,完成后单击“查询Trace”。

    图3 设置查询条件
    • 时间:设置查询时间,注意起止查询时间间隔不能超过24小时。
    • 响应时间:设置响应时间。
    • 执行结果:选择“全部/执行成功/执行失败”。
    • Trace ID:调用链的TraceID,填写该搜索条件后,其他搜索条件全部失效,只根据该TraceID搜索。

  4. 在右侧查看调用链详情。

    查看单条调用链详情:在查询到的调用链结果中,单击调用链名称,进入APM控制台查看。

    图4 单击调用链名称
    图5 单条详情
    查看所有调用链信息:单击“前往查看”,到APM进行完整的路径分析等更多操作。
    图6 前往APM

    示例

    1. 如下是在函数A(DemoTestA)中通过HTTP请求方式调用函数B(DemoTestB)的完整函数执行过程。
      图7 函数A调用函数B详情

      ①函数A方法的总耗时。

      ②通过HTTP请求调用函数B。

      ③进入函数B。

      ④执行executeQuery。

      ⑤执行Select查询语句。

    2. 如下是在函数首次调用包含冷启动的的完整函数执行过程。

      Spans动作说明如下:

      • load:是下载解压用户函数代码包和依赖包的时间。
      • preload:运行时加载用户函数代码和初始化函数执行环境的时间。
      • init:初始化函数的执行时间,初始化函数只有在冷启动时才会被执行。
      • processInvoke:函数的执行时间。