调用分析功能是函数请求级别的执行状态汇总,开启调用分析功能后,系统会收集函数每次执行的指标信息,包括内存使用情况、函数执行时间、初始化时间、冷启动信息等性能指标,是否执行失败、错误详情等异常指标,链路追踪详情、是否采样等追踪指标,并将这些指标信息投递到您在日志配置时选择的日志仓库中。开启调用分析可以洞察每一次函数调用,帮助您掌握函数执行情况。本文介绍调用分析的核心功能、使用场景与注意事项。

核心功能

调用分析会收集函数每次执行的指标信息,并将这些指标投递到您在日志配置时选择的日志仓库中。如果您没有配置日志,则无法开启调用分析功能。

  • 指标详情

    调用分析会采集以下指标。

    指标名称 描述 示例值 是否每次调用都会记录
    serviceName 服务名称 my-service
    functionName 函数名称 my-function
    versionId 版本名称 12
    qualifier 服务别名 prod 是,默认为LATEST。
    requestId 请求ID db72ce53-ccbe-4216-af55-642622e01494
    operation 操作名称 invocation
    memoryMB 函数的内存限制 512
    memoryUsageMB 函数执行使用的内存 410
    durationMs 函数执行时间 20.20
    isColdStart 是否冷启动 false 是,默认值为false。
    hasFunctionError 函数执行是否出错 false 是,默认值为false。
    errorType 函数错误类型,包含以下三种:
    • FunctionOOMError:内存溢出。
    • FunctionTimeoutError:执行时间超限。
    • FunctionUnhandledError:未捕获的其他异常。
    FunctionUnhandledError 否,仅在函数执行出现错误即hasFunctionError:true时记录。
    initializationDurationMs 初始化函数执行时间 99.00 否,仅当发生冷启动且配置初始化函数时记录。
    traceContext 链路追踪上下文信息 371d3ff242fcee9:371d3ff242fcee9:0:1 否,仅当配置链路追踪时记录。
    isSampled 请求是否被链路追踪采样 true 否,仅当配置链路追踪时记录。
    记录到您的Logstore中的形式如下:Insights
  • 日志主题说明

    调用分析的日志主题遵循以下格式:FCInsights:serviceName/functionName

    您可以在日志服务中通过查询条件 __topic__: "FCInsights:test-insights/test" 筛选出所有调用分析产生的日志。

使用场景

  • 查看函数执行详情、性能指标、错误信息等。
  • 与函数日志结合,创建自定义监控大盘。

    您可以在函数中记录一些业务相关日志,结合业务日志与分析日志可以创建自定义监控大盘。

注意事项

  • 对服务下所有函数生效。

    调用分析是服务的配置项,开启调用分析对服务下的所有函数生效,每个函数的每次执行都会记录一条日志。

  • 开启调用分析,需要开启日志配置。

    调用分析的日志会记录到您配置的日志库中,如果您没有配置日志,需要配置日志

  • 费用

    日志投递到日志服务中,会产生一定的日志存储费用,日志服务定价,请参见产品定价