elastic / elastic/apm-agent-java

Consistent annotation behavior without application_packages

オープン
#1,502 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
agent-java bug
主要言語
Java
スター
594
フォーク
338
平均マージ
1日 13時間
マージ済み PR(30日)
25

説明

## Describe the bug

When using the [public API](https://www.elastic.co/guide/en/apm/agent/java/current/public-api.html) annotations, the `application_packages` configuration is required to make them work.

This behavior is not consistent with other similar instrumentation and does not provide a good onboarding experience, as when configuration is missing nothing is instrumented.

For example, Web-services annotated with `@javax.jws.WebService` work out of the box without configuration, the effect of `application_packages` in this case is only to provide better performance as it allows to reduce the search scope for classes that might have the annotation (this search is by definition quite time and resources intensive).

Here, a better behavior would be:
- instrument classes by default, wether `application_packages` is set or not
- make sure that we issue a proper warning when `application_packages` is not set as it implies sub-optimal performance.
- make this behavior consistent on all plugins that relies on annotations.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

公開 API のドキュメントと application_packages の設定から始め、影響を受ける各プラグインで、アノテーションベースの公開 API インストルメンテーションと @javax.jws.WebService の動作を比較します。アノテーションが付いたクラスが application_packages なしでインストルメンテーションされ、その結果生じるパフォーマンス上のトレードオフを警告で説明できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
observability-sre
issue の種類
バグ
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。