Определение, с какими блокировками больше всего спорят?

Файл-> Управление исходным кодом-> Усовершенствованный-> Управление исходным кодом Изменения и затем развязывает и/или разъединяет все проекты и решение.

Это должно удалить всю привязку из решения и файлов проекта. (После того, как это можно переключить поставщика SCC в Инструменты-> Опции-> Управление исходным кодом-> Сменный Выбор).

спецификация SCC предписывает, чтобы все поставщики SCC реализовали это поведение. (Я только протестировал его на VSS, TFS и AnkhSVN)

8
задан Ted Graham 8 September 2009 в 16:36
поделиться

3 ответа

Получите хороший профилировщик, например YourKit . Он может сказать вам, сколько времени потрачено на ожидание и блокировку определенных методов и содержащихся в них мониторов объектов. Например:

alt text


Что касается вашего комментария о производственных показателях, вы весьма ограничены в том, что вы можете собрать. Наибольшее количество информации, которую вы собираетесь получить, взято из ThreadMXBean , который может предоставить вам метаданные обо всех запущенных потоках. Тем не менее, он не предоставит вам информации о состоянии конкретного монитора объекта.

Я не хочу здесь углубляться в мою башню из слоновой кости, но я действительно считаю, что лучше всего попытаться воспроизвести вашу производственную среду как можно ближе насколько возможно. Потратив некоторое время на настройку сейчас, вы многократно получите дивиденды в будущем.

7
ответ дан 5 December 2019 в 10:43
поделиться

Тед, я сочувствую вашей ситуации, но когда производительность настолько критична, я рекомендую вам стиснуть зубы и смоделировать.

Это не должно быть так сложно, как вы боитесь: вместо того, чтобы пытаться сгенерировать поток сообщений из ваших обменов, почему бы не записать входящий поток и не воспроизвести его обратно в симуляции?

Без чего-то подобного вы всегда будет сталкиваться с проблемой Гейзенберга: влияние на систему, которую вы измеряете.

5
ответ дан 5 December 2019 в 10:43
поделиться

Для аналогичной проблемы в базе данных мы записываем строку непосредственно перед запросом и сразу после получения блокировки. Мы также регистрируем один после выпуска. Затем мы обрабатываем эти данные для генерации той статистики, которую вы ищете.

РЕДАКТИРОВАТЬ: Помимо развитой системы, AspectJ может быть хорошим вариантом для создания журналов.

4
ответ дан 5 December 2019 в 10:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: