-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduct DetectInfo fields memory #806
Conversation
- add: Profile Enum for profile feature - remove: lazy_static value LOADED_PROFILE_ALIAS, PRELOAD_PROFILE, PRELOAD_PROFILE_REGEX. - chg: DetectInfo.ext_field Nested<Vec<CompactString>> to Vec<(CompactString, Profile)> - chg: clear DetectInfo.detail when convert detail in message.rs::insert
@fukusuket 1.8.0: 1.9.0-dev: 検知数は一緒ですが、Events with hitsとData reductionの合計が変わっています。
1.9.0-dev:
確認して頂けますか? |
1.8.0: 1.9.0-dev:
参考に1.4.3も同じルールで試しました:
|
検証いただき、ありがとうございます🙇 Events with hitsのリグレッションすみません、修正いたします! |
Events with hits件数不具合修正と、%AllFieldInfo%改善版作成いたしました!
また%Details%の処理ももう少し改善(不要なvec/hashmapアクセスの削除)を加えたところ、少し速度改善したようです :) |
@fukusuket あれ、Githubチェックは無事のようですが、cargoをアップデートしたら、ローカル環境で以下の警告が出ていました:
念の為、確認をお願いできますか? |
Events数も直りました。ありがとうございました! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
@hitenkoku どうですか?
@YamatoSecurity
Chrono 0.4.23リリース(3days ago)で現在使っているいくつかの関数がdeprecatedになったことが原因のようです :( |
なるほど、良いと思います。では、とりあえずChronoを0.4.22に固定しました。
|
すみません...🙇 1点まだ不具合があり、%AllFieldInfo%に値ないときは、- (ハイフン)を出力するのがもともとの仕様だったため、そちら修正いたします! |
…to 789-reduct-detectinfo-memory
↑の修正および @YamatoSecurity @hitenkoku d5636ca にてレビュー頂けますと幸いです、よろしくお願いいたします🙇 |
この件は既にmainにマージされている 7266abf で対応済みです。
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確認しました。chronoのlintエラーに関連したバージョン固定は不要ですのでそちらを戻していただければ他は問題ありません
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM。ご対応ありがとうございます。
What Changed
Profile
Enum inoption/profile.rs
and remove lazy_staticPRELOAD_xx
.%Timestamp%
->2013-10-24 01:16:13.843 +09:00
)DetectInfo
fileds and behaviors as followsext_field
typeNested<Vec<CompactString>>
->Vec<(CompactString, Profile)>
(tuple)is_condition
to check whether the detected rule was[condition]
based.details
andrecord_information
when the moment stored details string inext_field
Evidence
I got the benchmark with this environment and procedure.
Compared to version 1.8.0, I confirmed reduction of memory usage : -200MB(avg) -510MB(max peak).
v190-dev output is as follows.