2015-02-05 5 views
2

Есть ли что-то вроде прослушивателя событий, который я могу добавить, чтобы я мог выполнять функцию всякий раз, когда происходит GC?Есть ли способ получить уведомление о сборе мусора?

Например, если я просто хотел записать строку в консоль на каждом GC, как я могу это сделать?

У меня все в порядке с конкретным решением для Chrome.

+0

Интересно - зачем вам это нужно? – Cameron

+1

Несколько причин - во-первых, я хотел бы видеть (в режиме реального времени), когда происходят GC, наряду с используемой памятью (которую я сейчас регистрирую с помощью window.performance.memory). Два - приложение, которое я пишу, в идеале будет иметь очень мало мусора, созданного (и, таким образом, собранного) - может быть, мечты о трубе, но если я получу близость к успеху, я буду знать каждый раз, когда происходит GC, поэтому я планирую записывая их все в некоторый постоянный хранилище данных. – Jer

ответ

0

Если вы хотите увидеть, что GC делает в течение определенного периода времени, вы можете использовать инструмент профиля в Chrome, как описано здесь: How can I log what is being garbage collected in my javascript code?

Это не будет точно ставить строки в журналах, но может дать вам необходимую информацию.

+0

Существует также способ разрешить Chrome разрешать доступ к данным JS, как указано в приведенном здесь ссылке http://stackoverflow.com/questions/15607184/what-is-chrome-doing-with-this-gc-event – lemieuxster

+0

Спасибо - я знаю (и узнаю больше) о профилировщике Chrome, но мне действительно нужно знать, когда они происходят, когда сайт используется в обычном режиме. – Jer

+0

Вам нужно событие, которое запускается в сборке мусора, которое вызовет метод ajax на сервер, который будет обновлять центральный журнал? Или будет регистрироваться на отдельных рабочих станциях? – barrtrek

Смежные вопросы