elastic / elastic/apm-agent-java
Consistent annotation behavior without application_packages
- 主要言語
- 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