APMトレーサのインスタンス化
アプリケーションにトレース・サポートを追加するには、次のステップを実行します:
-
次を実行して、オープントレースのトレーサおよびAPMトレーサ・クラスをインポートします:
import io.opentracing.Tracer; import com.oracle.apm.tracer.ApmTracer;
-
APMトレーサはビルダー・スタイルでインスタンス化できます。ApmTracer.Builderのコンストラクタには、tracerNameとserviceNameの2つのパラメータがあります。
- tracerName: このトレーサの名前。null以外の任意の文字列名にできます。
- serviceName: このトレーサによってレポートされるサービスの名前。null以外の任意の文字列にできます。
Tracer tracer = new ApmTracer.Builder(String tracerName, String serviceName) .<configuration methods> .build();
build()メソッドをコールしてAPMトレーサ・インスタンスを作成する前に、構成メソッドを使用してこれを構成できます。一部の構成メソッドは、Javaシステム・プロパティおよび環境変数を設定して構成することもできます。
構成メソッド
メソッド | デフォルト | 説明 | 同等のJavaシステム・プロパティ | 同等の環境変数 |
---|---|---|---|---|
withDataUploadEndpoint(String endpoint) | Oracle APMクラウド通信に必要なAPMデータ・アップロード・エンドポイントを設定します。 | com.oracle.apm.agent.data.upload.endpoint | com_oracle_apm_agent_data_upload_endpoint | |
withDataUploadKey(String dataKey) | Oracle APMクラウド通信に必要なAPMデータ・アップロード・キーを設定します。 | com.oracle.apm.agent.private.data.key | com_oracle_apm_agent_private_data_key | |
withTag(String key, String value) withTag(String key, Boolean value) withTag(String key, Number value) withTags(Map<String, Object> tags) |
すべてのトレース・スパンに含める静的タグを設定します。 | |||
withLogDirectory(String directory) | ./apm-tracer-log | すべてのAPMトレーサ・ログが書き込まれるログ・ディレクトリのフル・パスを指定します。これを未設定のままにすると、デフォルトのログ・ディレクトリapm-tracer-logがJVMの作業ディレクトリ内に作成されます。 | com.oracle.apm.agent.log.directory | com_oracle_apm_agent_log_directory |
withProperty(String key, String value) withProperties(Map<String, String> properties) |
1つ以上のAPMトレーサ・プロパティを設定します。これにより、APMトレーサの起動時にプログラムによってプロパティを設定できます。すべてのプロパティは、Javaシステム・プロパティまたは環境変数を介して設定することもできます。 キーまたは値がnullの場合、プロパティは無視されます。 |
|||
withMicrosecondAccurateTimestamp(boolean microsecondAccuracy) | false | これがtrueの場合、すべてのタイムスタンプをマイクロ秒精度に設定します。デフォルトはミリ秒精度です。 | ||
withCollectMetrics(boolean collectMetrics) | true |
サーバー・メトリックを収集してOCI APMクラウドにレポートするようにAPMトレーサを設定します。デフォルトはtrueです。 ユーザーは、OCI Telemetryからすべての収集済サーバー・メトリックにアクセスできます。 収集されたサーバー・メトリックの詳細は、メトリックの収集を参照してください。 |
||
withCollectResources(boolean collectResources) | true |
サーバー・リソースを収集してOCI APMクラウドにレポートするようにAPMトレーサを設定します。 収集されたすべてのリソースは、データ問合せのディメンションとして使用されます。 収集されたサーバー・メトリックの詳細は、メトリックの収集を参照してください。 |
||
withDaemonChannel(String channel) | APMデーモン・チャネルは、トレーサとデーモン間のソケット接続です。このプロパティ値のフォーマットは、<host>:<port>です。このプロパティが設定された状態でデーモンが起動されると、デーモンはソケット接続を受け入れ、指定されたこのチャネルでデータをリスニングします。これが設定された状態でトレーサが起動されると、データ・アップロード・エンドポイントは無視されます。データはこのソケット・チャネルを使用してのみデーモンに送信されます。 | com.oracle.apm.agent.daemon.channel | com_oracle_apm_agent_daemon_channel | |
build() | APMトレーサ・インスタンスをインスタンス化します。 |
その他のプロパティ
プロパティは、Javaシステム・プロパティまたは環境変数として、あるいはProperty()ビルダー・メソッドとともに使用して設定できます。
Javaシステム・プロパティ | 環境変数 | デフォルト | 説明 |
---|---|---|---|
com.oracle.apm.agent.daemon.channel | com.oracle.apm.agent.daemon.channel | APMデーモン・チャネルは、トレーサとデーモン間のソケット接続です。このプロパティ値のフォーマットは、<host>:<port>です。このプロパティが設定された状態でデーモンが起動されると、デーモンはソケット接続を受け入れ、指定されたこのチャネルでデータをリスニングします。これが設定された状態でトレーサが起動されると、データ・アップロード・エンドポイントは無視されます。データはこのソケット・チャネルを使用してのみデーモンに送信されます。 | |
com.oracle.apm.agent.data.upload.proxy.url | com_oracle_apm_agent_data_upload_proxy_url | Oracle APMサーバー接続のプロキシ・サーバーURL。HTTPプロキシのみがサポートされています。 | |
com.oracle.apm.agent.log.filesize.mb | com_oracle_apm_agent_log_filesize_mb | 20mb | ログ・ファイル・サイズ。このプロパティを使用してログ・ファイル・サイズを指定できます。デフォルト値は"20"です。つまり、1つのログ・ファイルのファイル・サイズは20MBになります。 |
com.oracle.apm.agent.log.rotation.files.count | com_oracle_apm_agent_log_rotation_files_count | 2 | ロールオーバー・メカニズムを使用してログを格納するために作成できるファイルの数。例: このプロパティの値として"2"を指定した場合、ログはファイル・サイズ制限に達するまで最初のファイルに格納されます。ファイル・サイズ制限に達すると、新しいファイルが作成され、ログの格納が続行されます。2番目のファイルのファイル・サイズ制限に達すると、最初のファイルが削除されて、最初のファイルへのロギングが開始されます。ファイルには数字の接尾辞を付加した適切な名前が付けられます。たとえば、ApmTracer.logおよびApmTracer1.logなどです。デフォルト値は"2"です。つまり、2つのファイルがログの格納に使用されます。 |
com.oracle.apm.agent.logging.level | com_oracle_apm_agent_logging_level | INFO | 設定できるログ・レベルは、ApmTracer.logに書き込まれるエントリが少ない順に、SEVERE、WARNING、INFO、DEBUGです。 |
com.oracle.apm.agent.tracer.propagation.type | com_oracle_apm_agent_tracer_propagation_type | B3 |
APMトレーサは、HTTPコール全体にわたるスパンどうしを接続するために、HTTPヘッダーを追加および読み取ります。これを達成するために、様々なタイプの伝播ヘッダー・フォーマットを使用できます。また、ZipkinやJaegerなどの他のタイプのトレーサも使用している場合は、これらが連携して動作できるように、この設定を調整する必要があることがあります。
|