официальный партнёр 1С по деловому софту
Закрыть
Логин:
Пароль:
Забыли свой пароль?
  Войти
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
 
8(495)229-30-42

Блог 1С Эксперта

  • Архив

    «   Июнь 2025   »
    Пн Вт Ср Чт Пт Сб Вс
                1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30            

Внедрение подсистемы оценки производительности в старые конфигурации без БСП

1. Скачиваем файл из вложения
2. Открываем конфигуратор анализируемой базы
3. Делаем "Сравнить/объединить с конфигурацией из файла...", указываем файл из п.1
4. Делаем "Отметить по подсистемам файла", отмечаем только ОценкаПроизводительности
5. В модуле сеанса дописываем в конец метода УстановитьЗначениеПараметраСеанса строки
// ОценкаПроизводительности
ОценкаПроизводительностиСлужебный.УстановкаПараметровСеанса(ИмяПараметра, УстановленныеПараметры);
// } 
Также для удобного доступа к настройкам подсистемы из обычного приложения можно вынести куда то в интерфейс (например на форму параметров учёта) 3 новых константы
Либо они будут доступны сразу в управляемом режиме
6. Обновляемся, входим в пользовательский режим (1С:Предприятие), заполняем настройки
  • Взводим константу ВыполнятьЗамерыПроизводительности, другие 2 заполняем тоже ненулевыми значениями
  • В коде вписываем по шаблонам из соседних публикаций места в коде для сбора данных
  • Для сбора данных на клиенте еще потребуется заполнить регистр НастройкиКлючевыхОпераций
7. Собираем данные, смотрим в управляемом режиме отчёты

PS Прикладываю также расширение, через которое также можно подключить эту подсистему, НО есть минусы
А. Замеры в журнале регистрации будут выглядеть криво
Б. В модуль сеанса всё равно придётся прописать нужные строки из пункта 5
В. Регламентное задание на очистку старых замеров добавить через расширение не получится, придётся через конфигурацию

Шаблон замера длительной операции через БСП

Замер длительной операции отличается от обычного наличием вложенных операций и возможностью указать количество данных, так как иногда важно отследить зависимость времени обработки ключевой операции от объёма обработанных данных
// &ЗамерДлительнойОперации {
ОписаниеЗамера = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("ИмяДлительнойКлючевойОперации");

// начало цикла/шага
ОценкаПроизводительности.ЗафиксироватьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанныхНаШаге, ОписаниеШагаИлиИтератораЦикла, КомментарийШага);
// конец цикла/шага

ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанныхВсего, НеобязательноОписаниеФинальногоШага, КомментарийЗамера);
// }

Шаблон для обычного замера через БСП

// &ЗамерПроизводительности {
   ИмяКлючевойОперации = "ЧекККМ.WSПрокси.БонусныеКарты.ЗафиксироватьОплату";
   #Если Клиент Тогда    
   Замер = ОценкаПроизводительностиРТКлиент.НачатьЗамер(Ложь, ИмяКлючевойОперации);
   #КонецЕсли 
   #Если Сервер Тогда    
   ДатаНачалаЗамера = ОценкаПроизводительности.НачатьЗамерВремени();
   #КонецЕсли 
   
   // САМО ЧУДНОЕ ДЕЙСТВИЕ!
   
   #Если Клиент Тогда
   // РАСКОММЕНТИРОВАТЬ ДЛЯ КОММЕНТАРИЯ К ЗАМЕРУ [простите за каламбур] Если Замер<>Неопределено Тогда ОценкаПроизводительностиКлиент.УстановитьКомментарийЗамера(Замер.Идентификатор, КомментарийЗамера); КонецЕсли;       
   ОценкаПроизводительностиРТКлиент.ЗакончитьЗамер(Замер);
   #КонецЕсли 
   #Если Сервер Тогда    
   ОценкаПроизводительности.ЗакончитьЗамерВремени(ИмяКлючевойОперации, ДатаНачалаЗамера); // ВесЗамера = 1, Комментарий = Неопределено
   #КонецЕсли 
   // }

ВАЖНО:
1. Замер НаСервере выполняется независимо от регистра НастройкиКлючевыхОпераций
2. Нужно помнить, что в файловом режиме выполнятся обе конструкции, и "#Клиент", и "#Сервер"
3. НаКлиенте есть возможность установить произвольный комментарий к замеру, для этого раскомментируйте соответствующую строчку