このページでは、次のステップについて説明します。
- OpenTelemetry パッケージをインストールする。
- Cloud Trace にスパンをエクスポートするようにアプリケーションを構成する。
- プラットフォームを構成する。
リリース情報については、以下をご覧ください。
OpenTelemetry のリファレンス コンテンツについては、以下をご覧ください。
追加のドキュメントとサンプルを含め、C++ の OpenTelemetry に関する最新情報については、OpenTelemetry をご覧ください。
始める前に
Cloud Trace API を有効にします。
API を有効にするために必要なロール
API を有効にするには、serviceusage.services.enable
権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限が付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。
OpenTelemetry パッケージをインストールする
- C++ 開発環境をセットアップします。
- Google Cloud C++ OpenTelemetry エクスポータ ライブラリをインストールします。インストール情報については、 OpenTelemetry のクイックスタートをご覧ください。
Cloud Trace へのスパンのエクスポートを構成する
トレースデータのエクスポートを構成するには、main() メソッドで google::cloud::otel::ConfigureBasicTracing(...) メソッドを呼び出します。
`project_id` フィールドは、トレースを保存する Google Cloud プロジェクトです。
ConfigureBasicTracing(...) メソッドは、Cloud Trace エクスポータを実装する
TracerProvider オブジェクトをインスタンス化します。ConfigureBasicTracing(...) への呼び出しで返されたオブジェクトは、上記の TracerProvider オブジェクトが存在する場合、復元されます。
サンプルレートを構成する
アプリケーションが大量のトレースデータを生成することがあります。次のサンプルは、サンプリング レートの構成方法を示しています。
カスタム TracerProvider を使用して Cloud Trace にエクスポートする
カスタム TracerProvider オブジェクトが必要になるユースケースがあります。たとえば、複数のエクスポータを同時に使用する場合は、カスタム TracerProvider オブジェクトを作成する必要があります。このような場合は、Cloud Trace エクスポータを直接使用できます。
独自のアプリケーションを計測可能にする
トレース スパンをキャプチャするようにアプリケーションを構成する方法については、OpenTelemetry Tracingをご覧ください。 このページでは、次の方法について説明します。
- スパンを作成する
- ネストされたスパンを作成する
- スパン属性を設定する
- イベントを含むスパンを作成する
- リンクを含むスパンを作成する
サンプル アプリケーション
サンプル アプリケーションについては、クイックスタートをご覧ください。
プラットフォームを構成する
Cloud Trace は、 Google Cloud や他のプラットフォームで使用できます。
で実行中 Google Cloud
アプリケーションが Google Cloudで実行されている場合、認証情報をサービス アカウントの形式でクライアントライブラリに提供する必要はありません。ただし、プラットフォームで Cloud Trace API のアクセス スコープ が有効になっている必要があります。 Google Cloud
サポートされている環境の一覧については、 環境サポートをご覧ください。 Google Cloud
次の構成では、デフォルトのアクセス スコープ設定により Cloud Trace API が有効化されます。
- App Engine フレキシブル環境
App Engine スタンダード環境
Google Kubernetes Engine(GKE)
Compute Engine
Cloud Run
カスタム アクセス スコープを使用する場合は、 Cloud Trace API のアクセス スコープ を有効にする必要があります。
コンソールを使用して環境の アクセス スコープを構成する方法については、 プロジェクトの構成をご覧ください。 Google Cloud Google Cloud
gcloudユーザーの場合は、--scopesフラグを使用してアクセス スコープを指定し、trace.appendCloud Trace API アクセス スコープを含めます。たとえば、Cloud Trace API のみを有効にして GKE クラスタを作成するには、次のようにします。gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append
ローカルやその他の場所での実行
アプリケーションが Google Cloudの外部で実行されている場合は、認証情報をサービス アカウントの形式で クライアント ライブラリに提供する必要があります。サービス アカウントには Cloud Trace エージェント ロールが含まれている必要があります。 手順については、サービス アカウントの作成をご覧ください。
Google Cloud クライアント ライブラリは、 アプリケーションのデフォルト認証情報(ADC)を使用して アプリケーションの認証情報を検索します。
これらの認証情報を指定するには、次の 3 つの方法があります。
実行
gcloud auth application-default loginオペレーティング システムのデフォルトパスにサービス アカウントを配置します。以下に、Windows と Linux のデフォルトのパスを一覧表示します。
Windows:
%APPDATA%/gcloud/application_default_credentials.jsonLinux:
$HOME/.config/gcloud/application_default_credentials.json
GOOGLE_APPLICATION_CREDENTIALS環境変数をサービス アカウントのパスに設定します。
Linux / macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
トレースを表示
コンソールで、
[
Trace エクスプローラ]
ページに移動します。 Google Cloud ![]()
このページは、検索バーを使用して見つけることもできます。
トラブルシューティング
Cloud Trace に関する問題のトラブルシューティングについては、トラブルシューティング ページをご覧ください。
C++ Cloud Trace エクスポータをデバッグするには、リファレンス ドキュメントの トラブルシューティング セクションをご覧ください。
リソース
- https://opentelemetry.io/
- open-telemetry/opentelemetry-cpp GitHub リポジトリ
- google-cloud-cpp OpenTelemetry Exporters Library GitHub リポジトリ。