elastic / elastic/ecs-logging-java
Write SequenceNumber in jboss-logmanager-ecs-formatter
- 主要言語
- Java
- スター
- 148
- フォーク
- 82
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 3
説明
Hi,
because the "@timestamp" fields in ECS logging only support millisecond-precision, a sequence number is needed to keep the order of events. Adding this sequence number in FileBeat does not seem possible - only workarounds exist which include disabling multithreading (see https://discuss.elastic.co/t/sequence-number-for-ecs-events-received-by-tcp/291348 ).
Thus, the ECS formatter should add the sequence number ( https://www.elastic.co/guide/en/ecs/current/ecs-event.html#field-event-sequence ).
In case of the `co.elastic.logging.jboss.logmanager.EcsFormatter` this should be trivial as the `ExtLogRecord` from which the JSON is built already includes a method `getSequenceNumber`.
Adding the sequence number would solve a range of other issues regarding to log event order.
コントリビューションガイド
調査の方向性
co.elastic.logging.jboss.logmanager.EcsFormatter から始めて、ExtLogRecord がどのように JSON に変換されるかを追跡します。ECS の event.sequence フィールドの定義と、issue では名前が挙げられていない既存の formatter のテストカバレッジを確認します。formatter の出力に record のシーケンス番号が ECS イベント構造に含まれれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- observability-sre
- issue の種類
- 機能追加
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 55/100