Страница 3 из 5

Добавлено: 19 окт 2009, 14:00
galover
LaaLaa
все что вы пишите к реалиям не имеет никакого отношения, вы пишете о следствии, а я говорю о причине. Как найти bottle neck? Нужен профайлер. Нашли где провисает, дальше думаем как исправить, читаем книги, спрашиваем ЛаЛа как дальше жить. Но вначале нужно найти где провисает! А для этого и нужен профайлер, ссылку на который вы (я очень на это надеюсь) дадите

Добавлено: 19 окт 2009, 14:12
LaaLaa
выложите, очень нужен!!!!
Это встроенная функция в отладчике VIP, который открывается прямо в Галактике. Смотрите окно с текстом находящегося под отладкой кода, в тулбаре там кнопки есть: установить точки профилировки, окно результатов профилировки. И читайте документацию F1 в окне отладчика VIP про профилировку там тоже написано.

Свой код вы можете без проблем профилировать.

Тока возьмите AtlExec.exe версии 5.4.21.0 или выше, в профилировщике была была устранена одна критично важная проблема.

Добавлено: 19 окт 2009, 14:19
LaaLaa
galover писал(а):LaaLaaНо вначале нужно найти где провисает!
Где повисает, как не прискорбно звучит, всегда определяет пользователь. Определяет его на уровне времени отклика бизнес функции. И нужно эту информацию передать разработчику. А уже разработчик должен детали этой бизнес функции раскладывать по времени.

Добавлено: 19 окт 2009, 14:47
galover
давайте по шагам, есть интерфейс в Галактике. Запускаю его. Как получить расклад по времени и кол-ву вызовов функций данного фейса. Т.е. нужно получить что-то (примерно)

Код: Выделить всё

RunInterface - 100 часов 1 вызов
  -> RunAlg100(5, 1) - 2 часа - 1 вызов
     -> CalcSomeVal - 1час - 3 вызова
     -> CalcOtherVal - 1 час - 5 вызовов
Естественно это будет запускаться на клиенте, кто ж спорит. Если есть профилировщик почему ТП никогда не просит прислать его результаты? Это же просто решает все проблемы сразу!

Добавлено: 19 окт 2009, 14:49
galover
Где повисает, как не прискорбно звучит, всегда определяет пользователь
100%, кому нужно тот и профилирует

Добавлено: 19 окт 2009, 15:09
LaaLaa
Шаги примерно такие:

Шаг1:
Скомпилировать интерфейс с отладочной информацией. Для этого в файле конфигурации компилятора VIP.EXE указать парметры
[Vip]
Debug=1
LocalDebug=1

Шаг2: полученный ресурс подключить к Галактике

Шаг3: В конфигурационном файле Галактики указать параметр активации отладочного режима:
[DEBUG]
EnableVipDebugger=on

Шаг3: Запустить галактику. Нажать сочетание клавиш [Ctrl+Shif+F12]. Откроется окно управления отладчиком.

Шаг4: На закладке загруженные интерфейсы. Найти интересующий интерфейс. Двойной клик мышкой открывает окно отладчика для этого интерфейса с исходным кодом. Если компилировали на той же машине что и запускаем то файл с исходным кодом найдется автоматом, если на другой машине нужно еще перенастроить пути.

Шаг5: В окне исходно го кода расставляем точки профилирования, и т.д. читаем [F1]

ТП это не рекомендует т.к. ресурсы галактики компилируются с выключенной отладочной информацией. И исходные коды в общем то галактика не поставляет. По известным причинам. По этому я говорю о том чтобы базу присылали в отдел разработки.

В можете воспользоваться профилировщиком для для своих доработок.

Добавлено: 19 окт 2009, 15:18
galover
эээ, ну так неинтересно, речь ведь идет о стандартных компонентах! Да и потом сам код и не нужен (пусть он будет закриптован в ресе), мне нужно получить только функцию и время ее выполнения. Пусть Галактика шифрует полученные данные профилирования и отправляет их на мыло разработчику, такой вариант что не рассматривался?

Добавлено: 19 окт 2009, 15:19
LaaLaa
Еще одни момент. Профиллировщик VIP может измерять время работы только построчно и не отделяет время вложенных вызовов.

Хотя такие продукты как AQTime модут мерять
и по функциям (By routines - выдают два числа, собственно время функции Time, и время со всеми вложенными Time with Children)

так и по строчкам кода (By lines - тоде выдают два числа, собственно время строчки Time, и время строчки со всеми вложенными Time with Children)

Т.е профилировщик VIP выдает только (By lines - Time with Children) но и это уже сильно помогает.

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

Добавлено: 19 окт 2009, 15:22
LaaLaa
galover писал(а):эээ, ну так неинтересно, речь ведь идет о стандартных компонентах! Да и потом сам код и не нужен (пусть он будет закриптован в ресе), мне нужно получить только функцию и время ее выполнения. Пусть Галактика шифрует полученные данные профилирования и отправляет их на мыло разработчику, такой вариант что не рассматривался?

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

Добавлено: 19 окт 2009, 15:27
galover
LaaLaa
ничего подобного, Галку давно бы сломали, если бы была нужда, а так как в анекдоте про неуловимого Джо получается

Добавлено: 19 окт 2009, 15:31
LaaLaa
Говорю как есть, сейчас именно такое положение дел. По с кодом путь возятся наши программисты. Они же пусть и патчи для него делают. По этому нам нужен доступ к вашим тестовым базам.

Добавлено: 19 окт 2009, 16:00
galover
ну ясно, короче опять никто не слышит глас народа, обидно Зин (с)

Добавлено: 19 окт 2009, 16:24
LaaLaa
galover писал(а):ну ясно, короче опять никто не слышит глас народа, обидно Зин (с)
Вы сформулируйте ваше предложение по технологи удаленного профилирования кода. Как вы это себе представляете и в каком виде вам это нужно. И оформите эту заявку в ПИР. Вопрос будет рассмотрен.

Добавлено: 19 окт 2009, 16:36
galover
отправьте пожалуйста запрос в ПИР, у вас это быстрее получится и без всяких бюрократических проволочек в виде ТП. Удаленно профилировать я не прошу, нужен нормальный инструмент профилирования как своих, так и системных компонентов, идею можно подсмотреть здесь http://www.red-gate.com/products/ants_p ... /index.htm

Добавлено: 19 окт 2009, 16:45
empyros
Вы слишком многого хотите от человека, который Вам, в принципе, ничего не должен. Составьте предложение, отправьте в ТП, обоснуйте необходимость (заплатите за доработку) и получите решение - в ТП сидят специально предназначенные для этого люди, они за это в отличие от форумчан зарплату получают.