Skip to content

out_copy とout_relabel の組み合わせによるイベントの挙動を教えてください #4223

Closed Answered by daipom
mikankun1003 asked this question in Q&A (Japanese)
Discussion options

You must be logged in to vote

やりたいことはできているが、疑問点が残っている、ということですかね?
もしもっとこれがこうならこうできて嬉しい、という点があれば教えてください!

以下、僕の理解を説明します。

out_copy のmode:no_copy を使ってevent を複製
(out_copy のmode:no_copy 、実は複製していないらしいけど、これがイマイチ理解できていない)

out_copycopy_mode no_copy(デフォルト)は、複製していません!
複製せずに同じオブジェクトを各storeに渡します。(同じオブジェクトを共有します)
そのため処理効率は良いですが、どこかのstoreでイベントに変更を加える場合は、意図せず他に影響することを防ぐために必要に応じてshallowdeepを設定することになります。

実際に動かしてみるとちゃんと@rewrite_tag ではtag は変更されてmatch によってファイル出力しているし
一方の@all_out_file では元のtag がmatch してファイル出力されています。
これは、out_copy(no_copy) ではevent ではなく、tag,time,record のうちrecord を共有する、という意味なのでしょうか。
それとも、relabel しているために元のevent が別々のpipeline で処理されることから、実際にはdeep_copy のような振る舞いをしているのでしょうか。

timeとrecordを共有することになります。

これはドキュメントがやや不正確だと思いました。
ドキュメントで…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@mikankun1003
Comment options

@daipom
Comment options

Answer selected by mikankun1003
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants