すべてのプロダクト
Search
ドキュメントセンター

Function Compute:リクエストレベルのメトリクスログ

最終更新日:Jun 21, 2026

リクエストレベルのメトリクスは、個々の関数呼び出しに関する詳細なインサイトを提供し、関数のパフォーマンスを理解するのに役立ちます。これらのメトリクスを使用すると、問題を迅速に検出して特定し、アプリケーションのボトルネックを分析できます。リクエストレベルのメトリクスを有効にすることで、関数アプリケーションの管理と最適化をより効果的に行うことができます。

リクエストレベルのメトリクスとは

リクエストレベルのメトリクスとは、各関数リクエストの実行ステータスを要約したものです。この機能を有効にすると、システムはパフォーマンス、例外、トレースメトリクスなど、すべての関数実行のメトリクスを収集し、ログ設定時に選択した Logstore に配信します。

  • パフォーマンスメトリクス:メモリ使用量、関数実行時間、初期化時間、コールドスタート情報など。

  • 例外メトリクス:実行が失敗したかどうか、およびエラーの詳細。

  • トレースメトリクス:キーパスの実行期間、分散トレーシングサンプリングが有効になっているかどうか、および HTTP 関数の場合はパス、ステータスコード、クライアント IP アドレス。

リクエストレベルのメトリクスを有効にすると、Function Compute は、各リクエストの実行メトリクスをお客様の Logstore に次の形式で配信します。

activeInstances: 0
activeInstancesPerFunction: 0
durationMs: 2.92
functionName: sync-clone
hasFunctionError: false
hostname: sr-65a76c74-1224f354965f43a...
instanceID: c-65a77eb0-15416274-ff5addb...
invocationStartTimestamp: 1705476027407
invocationType: Sync
invokeFunctionLatencyMs: 1.56
invokeFunctionStartTimestamp: 1705476027406
ipAddress: 21.0
isColdStart: false
memoryMB: 512
memoryUsageMB: 8.99
operation: InvokeFunction
qualifier: LATEST
requestId: 1-65a77fbb-157f3f32-e1ee24b17e49
resourceMode: OnDemand

ユースケース

  • リクエストメトリクスを使用して、関数の実行詳細、パフォーマンスメトリクス、エラー情報を表示できます。

    コンソールでは、リクエストレベルのメトリクスに基づいたリクエストリストが表示されます。このインターフェイスを使用して、実行ステータス、インスタンス ID、実行期間、メモリ使用量、リクエストログなど、各リクエストの詳細情報を表示できます。

    関数詳細ページの **[ログ]** タブで、**[呼び出しリクエスト]** サブタブを選択してリクエストリストを表示します。リストの上にあるフィルターには、**[現在のバージョンまたはエイリアスのログのみ表示]**、**[関数エラーのみ表示]**、**[クライアントエラーのみ表示]**、**[コールドスタートリクエストのみ表示]** があります。

    説明

    リクエストレベルのメトリクスを有効にしなくてもリクエストリストを表示できますが、以下のシナリオでは不正確になる可能性があります。

    • 非同期呼び出しのリトライシナリオでよく見られるように、同一の RequestId が複数回表示される場合、特定のリクエストに対応するログを特定できません。

    • カスタムランタイムまたはカスタムイメージランタイム環境で、コードが FC Invoke Start RequestId: xxxFC Invoke End RequestId: xxx の両方を出力する場合、1 回の呼び出しがリクエストリストに 2 回表示されます。

  • カスタム検索やカスタムダッシュボードの構築にリクエストメトリクスを使用できます。

    リクエストメトリクスは key:val 形式で Logstore に配信されます。ビジネスニーズに基づいてカスタムダッシュボードを作成できます。手順については、「ダッシュボードの作成」をご参照ください。

注意事項

  • スコープ

    リクエストレベルのメトリクスログは関数レベルの設定です。有効にすると、現在の関数に適用され、実行ごとに 1 つのログエントリが生成されます。

  • コスト

    Simple Log Service (SLS) へのログ配信にはストレージ料金が発生します。料金の詳細については、「料金」をご参照ください。

リクエストレベルのメトリクスの有効化

コンソールでのリクエストレベルのメトリクスの有効化

前提条件

手順

  1. FC コンソールにログインします。左側のナビゲーションペインで、関数管理 > 関数リストを選択します。

  2. トップメニューバーでリージョンを選択します。関数リスト ページで、対象の関数をクリックします。

  3. 関数設定ページで、設定 タブを選択します。

  4. 詳細設定 を見つけ、その右側にある 変更 をクリックします。高度な設定パネルで、ロギングセクションに移動し、インスタンスレベルのメトリックを有効にしてから、デプロイをクリックします。

    次の表に、主な設定項目を示します。他のすべての設定はデフォルト値のままにします。

    設定項目

    説明

    設定例

    ロギング

    関数呼び出しログを Simple Log ServiceSLS に格納するかどうかを指定します。詳細については、「ロギングの設定」をご参照ください。

    有効

    ログプロジェクト

    既存のログプロジェクトを選択します。

    aliyun-fc-hangzhou-2238f0df-a742-524f-9f90-976ba*******

    Logstore

    既存の Logstore を選択します。

    function-log

    ログ分割ルール

    ログ分割を有効にするかどうか。有効にすると、FC はルールに従ってログを複数のセグメントに分割し、各セグメントを SLS に書き込みます。

    有効

    リクエストレベルのメトリクス

    リクエストレベルのメトリクスを収集するかどうか。有効にすると、すべての関数呼び出しのメトリクスが収集され、ログ設定で指定した Logstore に配信されます。

    有効

    インスタンスレベルのメトリクス

    インスタンスレベルのメトリクスを有効にするかどうか。有効にすると、インスタンスのメトリクスがログ設定で指定した Logstore に配信されます。

    有効

Serverless Devs を使用したリクエストレベルのメトリクスの有効化

前提条件

Serverless Devs のインストールと設定

手順

  1. 次の構造でコードディレクトリを作成します。

    .
    ├── code
    │   └── index.js
    └── s.yaml

    この例では、enableRequestMetrics フィールドを使用してリクエストレベルのメトリクスを設定します。有効にする前に、まずロギングを有効にし、logstoreproject をアカウント内の既存の Logstore とログプロジェクトに設定します。

    edition: 3.0.0
    name: hello-world-app
    access: "default"
    vars: # グローバル変数
      region: "cn-hangzhou"
    resources:
      hello_world:
        component: fc3 # コンポーネント名
        props:
          region: ${vars.region}             
          functionName: "start-nodejs-****"
          description: 'hello world by serverless devs'
          runtime: "nodejs16"
          code: ./code
          handler: index.handler
          memorySize: 128
          timeout: 30
          logConfig: # logstore と project をご自身のセットアップに合わせて更新してください。または、logConfig:auto を使用して自動作成することもできます。
            enableInstanceMetrics: true 
            enableRequestMetrics:  true  # リクエストレベルのメトリクスを有効にして、すべての呼び出しの実行メトリクスを収集します
            logBeginRule: DefaultRegex
            logstore: 'your-logstore'
            project: 'your-project'
  2. 次のコマンドを実行してアプリケーションをデプロイします。

    sudo s deploy -y

    デプロイが成功したら、FC コンソールにログインし、デプロイした関数でリクエストレベルのメトリクスが有効になっていることを確認します。

ログクエリ

ログ形式

リクエストレベルのメトリクスログのトピック形式は FCRequestMetrics:/functionName です。 Simple Log Service では、クエリ条件 __topic__: "FCRequestMetrics:/functionName" を使用して、すべてのリクエストレベルのメトリクスログをフィルターします。 詳細については、「クエリと分析のクイックガイド」をご参照ください。

メトリクスフィールド

リクエストレベルのメトリクスには、次の情報が記録されます。

メトリクス名

説明

設定例

すべての呼び出しで記録されるか?

functionName

関数名。

my-function

はい

versionId

バージョン名。

12

はい

qualifier

修飾子。デフォルトは LATEST です。

prod

はい

requestId

リクエスト ID。

db72ce53-ccbe-4216-af55-642622e01494

はい

operation

アクション名。

InvokeFunction

はい

invocationType

コールタイプには 2 種類あります。

Sync:同期呼び出し

Async:非同期呼び出し

Sync

はい

memoryMB

関数のメモリ上限。

512

はい

memoryUsageMB

関数実行中に消費されたメモリ。

410

はい

durationMs

リクエストの実行時間。

20.20

はい

isColdStart

コールドスタートであるかどうか。

説明

コールドスタートは、FC がリクエストを受信したときに、それを処理する準備ができた関数インスタンスがない場合に発生します。システムは新しいインスタンスを作成し、コードをダウンロードし、ランタイム環境を初期化する必要があります。

コールドスタートリクエストとは、インスタンスの作成、コードのダウンロード、ランタイムの初期化という全プロセスを経るリクエストと定義します。

FC は、インスタンスを事前にウォームアップすることでコールドスタートを最適化します。インスタンスの作成中にリクエストが到着し、事前にウォームアップされたインスタンスが準備できている場合、それはコールドスタートとは見なされません。

false

はい

instanceEvent

インスタンスイベント。現在は ColdStart のみで、コールドスタートリクエストに対して記録されます。

ColdStart

いいえ

hasFunctionError

関数の実行でエラーが発生したかどうか。

false

はい

errorType

関数エラーは次の 3 つのタイプに分類されます。

  • FunctionOOMError:メモリ不足

  • FunctionTimeoutError:実行タイムアウト

  • FunctionUnhandledError:未処理の例外

FunctionUnhandledError

いいえ。hasFunctionError:trueの場合にのみ記録されます。

invokeFunctionLatencyMs

関数の実行時間。

99.00

はい

traceContext

分散トレーシングコンテキスト。

371d3ff242fcee9:371d3ff242fcee9:0:1

いいえ。分散トレーシングが設定されている場合にのみ記録されます。

isSampled

リクエストが分散トレーシングでサンプリングされたかどうか。

true

いいえ。分散トレーシングが設定されている場合にのみ記録されます。

resourceMode

リクエストに使用されたインスタンスタイプ:

  • OnDemand:オンデマンドインスタンス

  • Provision:プロビジョニング済みインスタンス

OnDemand

はい

instanceID

インスタンス ID。

c-65603d8c-37e1bf7123054a77****

はい

hostname

インスタンスのホスト名。

c-65603d8c-37e1bf7123054a77****

はい

ipAddress

インスタンスの IP アドレス。

注:これはインスタンスを区別するための内部 IP アドレスであり、パブリック IP アドレスではありません。

21.0.XX.XX

はい

activeInstances

アクティブなインスタンスの数。

1

はい

activeInstancesPerFunction

この関数のアクティブなインスタンスの数。

1

はい

scheduleLatencyMs

スケジューリングのレイテンシ。コールドスタート中は長くなります。

10.07

はい

coldStartStartTimestamp

コールドスタートの開始タイムスタンプ。

1700806029167

いいえ。コールドスタート中にのみ記録されます。

coldStartLatencyMs

コールドスタートの期間。

487.65

いいえ。コールドスタート中にのみ記録されます。

prepareCodeStartTimestamp

コードのダウンロード開始タイムスタンプ。13 桁の UNIX タイムスタンプ、ミリ秒精度。

1700806029167

いいえ。コールドスタート中にのみ記録されます。

prepareCodeLatencyMs

コードのダウンロード期間。

0.18

いいえ。コールドスタート中にのみ記録されます。

runtimeInitializationStartTimestamp

ランタイムの初期化開始タイムスタンプ。

1700806029168

いいえ。コールドスタート中にのみ記録されます。

runtimeInitializationMs

ランタイムの初期化期間。

487.37

いいえ。コールドスタート中にのみ記録されます。

asyncAttemptStartTimestamp

非同期呼び出しの場合、失敗した実行はデフォルトで最大 3 回リトライされます。

このパラメーターは ${retryCount} 回目のリトライの開始タイムスタンプです。

1700806028084

いいえ。非同期呼び出しの場合にのみ記録されます。

asyncAttemptLatencyMs

非同期呼び出しの場合、失敗した実行はデフォルトで最大 3 回リトライされます。

このパラメーターは ${retryCount} 回目のリトライの期間です。

1688.74

いいえ。非同期呼び出しの場合にのみ記録されます。

asyncMode

非同期呼び出しモード:

  • Stateless:ステートレス非同期呼び出し

  • Stateful:ステートフル非同期呼び出し

Stateful

いいえ。非同期呼び出しの場合にのみ記録されます。

retryCount

リトライ回数。

0

いいえ。非同期呼び出しの場合にのみ記録されます。

ログの取得

ログを取得するには、インデックスが必要です。FC コンソールは自動的にインデックスを設定します。インデックス作成後、SLS コンソール で SQL 文を使用して、Logstore 内のリクエストを検索およびフィルタリングします。トピックを指定して、結果をリクエストレベルのメトリクスログに限定します。

たとえば、実行時間が 1 秒を超えるリクエストを検索するには、次の SQL 文を使用します。

__topic__: "FCRequestMetrics:/f1" AND qualifier: q1 and operation: InvokeFunction and durationMs>1000

高度なクエリ構文については、「クエリと分析のクイックガイド」をご参照ください。

カスタムダッシュボードの作成

x 軸に時間 (t)、y 軸にメトリクス値を持つグラフを作成するには、次のような SQL 文を使用します。

__topic__: "FCRequestMetrics:/f1" AND qualifier: q1 and operation: InvokeFunction | select __time__ - __time__ % 60 as t, count(*) as invocations, avg(durationMs) as avgDurationMs group by t order by t 

カスタムダッシュボードの作成に関する詳細については、「ダッシュボードの作成」をご参照ください。