Skip to main content

performance_observer_observe

Function performance_observer_observe 

Source
pub(crate) fn performance_observer_observe(
    it: &mut Interp,
    this: Value,
    a: &[Value],
) -> Result<Value, Value>
Expand description

observer.observe({entryTypes: [...]})(複数種別・buffered非対応の 従来形式)。監視対象の種別を記録し、performance._observers へ自身を 登録する(同一インスタンスの重複登録は無視する)。

observer.observe({type: '...', buffered: true})(単一種別+既存 エントリの即時配信に対応する新形式)が丸ごと未対応だった(entryTypes しか読んでおらず、type単体で呼ぶと_entry_typesが空配列のまま登録 され、以後どんなエントリが記録されても一切発火しない黙殺バグだった。 2026-07-17 発見・実装)。buffered: true時はperformance._entries から既存の一致エントリを即座に1回配信する(perf_notify_observersと 同じ{_entries, getEntries}ラッパー形状を再利用)。