что такое накладные расходы BTrace - PullRequest
6 голосов
/ 26 июля 2011

В документах BTrace упоминается, что в режиме ожидания BTrace практически не имеет служебных данных. Означает ли это, что BTrace имеет накладные расходы только и только тогда, когда какой-либо зонд встречается и обрабатывается?

Кроме того, когда зонд обрабатывается, для его обработки потребуется некоторое количество процессоров. Но влияет ли это на память JVM или что-то еще, что может повлиять на исходную обработку процесса JVM?

1 Ответ

6 голосов
/ 26 июля 2011

Издержки процессора, добавленные BTrace, следующие:

  • фактический код датчика
    • в безопасном режиме накладные расходы, которые вы можете получить, минимальны, за исключением получения отметок времени - это может быть очень вялым, в зависимости от ОС)
    • при использовании небезопасного режима вы можете отстрелить ногу - накладные расходы будут зависеть от того, что вы вставите в обработчики пробников
  • JMX обработка, если применимо (с использованием @ Property аннотированный атрибут)

С точки зрения памяти BTrace старается изо всех сил избегать накладных расходов.Однако, если вы используете агрегаты, профилировщик или пользовательские коллекции, объем памяти будет увеличиваться в соответствии с объемом хранящихся там данных.

Кроме того, BTrace накладывает некоторые дополнительные требования на PermGen - слишком частое переопределение классов может привести к истощению пермгена.

...