「フィールド名」のドロップダウン メニューには、ログ エクスプローラーにログが記録されているにもかかわらず、GCP LBM メニュー「ログ メトリックの作成」に log_struct() で記録された jsonPayload が表示されません。

「フィールド名」のドロップダウン メニューには、ログ エクスプローラーにログが記録されているにもかかわらず、GCP LBM メニュー「ログ メトリックの作成」に log_struct() で記録された jsonPayload が表示されません。

一度に多数のラベルの数や期間などの値を含む時系列グラフを作成するには、Google Cloud Platform でメトリック タイプ「分布」の LBM が必要です。

例: データ ワークフローの 10 個の異なるステップについて、その日のカウントと期間が辞書に記録され、gcloud ログ記録を使用して jsonPayload として記録されますlog_struct()

ログ エクスプローラーで月を確認すると、ログに記録されたイベントが表示されますが、ドロップダウン メニューで jsonPayload 項目を選択してそこから必要なログベース メトリック (LBM) を作成し、Graphana でそれらを選択してグラフを表示することができません。

ここに画像の説明を入力してください

このドロップダウン メニューには、クラウド関数の実行中にログに記録したキーと値のペアが表示されることを期待していましたが、ログに記録されたものを選択できず、他の jsonPayload システム エントリのみが表示されます。ログは次のようになります。

ここに画像の説明を入力してください

補足: jsonPayload を中間ブランチで保存すると、子要素はドロップダウンの 1 つの中間ブランチの下になります (例: jsonPayload.json_metadata.rows_count で、jsonPayload.rows_count ではありません)。これにより、Python ログから何が取得されるかが明確になります。これは問題ではないと思いますが、わからないこともあります。この中間ブランチとその子要素をドロップダウン メニューで見つけることができないため、必要な LBM を作成できません。「フィールド名」の完全なドロップダウン メニューを取得するにはどうすればよいでしょうか。

答え1

この奇妙な問題に対する答えは簡単でした。関数またはコードを再度実行する必要があります。ログが古すぎると、ドロップダウンはエントリを忘れてしまいます。安全のために、関数を新たに実行して 1 時間未満にする必要があります。これは、「プレビュー ログ」が遡って同じサイトをクリックできる時間だからです。

コードを実行してから 1 時間以上経っても、ドロップダウンにエントリが表示されていました。したがって、ドロップダウン メニューには 1 時間以上エントリが保持されますが、18 時間後にドロップダウンを確認するとエントリが再び消えていたため、12 時間以上は保持されない可能性があります。

2 つのユースケースで、何度も試行錯誤しましたが、以前のログからドロップダウンをロードする方法のコツを見つけることができませんでした。

ドロップダウンを使用せずに必要な「フィールド名」をハードコードすることもできます。適切な「ツリー」をクリックして変数に到達した場合も機能します。ドロップダウンを使用すると簡単になります。

ここに画像の説明を入力してください

関連情報