---
title: Оценка производительности
slug: bsp/оценка-производительности
---


## НачатьЗамерВремени
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Начинает замер времени ключевой операции. Закончить замер нужно явно вызовом
// процедуры ЗакончитьЗамерВремени или ЗакончитьЗамерВремениТехнологический.
//
// Возвращаемое значение:
//  Число - число длиной 14 символов, время UTC начала с точностью до миллисекунд.
//
Функция НачатьЗамерВремени() Экспорт
```

Пример вызова
```bsl
Результат = ОценкаПроизводительности.НачатьЗамерВремени() 
```
</details>

## ЗакончитьЗамерВремени
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Завершает замер времени ключевой операции
// и записывает результат в регистр сведений ЗамерыВремени.
//
// Параметры:
//   КлючеваяОперация	- СправочникСсылка.КлючевыеОперации
//                   	- Строка - ключевая операция.
//  ВремяНачала			- Число										- универсальная дата в миллисекундах,
//								  				  					  возвращаемая при начале замера функцией ОценкаПроизводительности.НачатьЗамерВремени.
//  ВесЗамера			- Число										- количественный показатель замера, например количество строк в документе.
//  Комментарий			- Строка
//             			- Соответствие - произвольная информация замера.
//  ВыполненСОшибкой	- Булево									- признак того, что замер не был выполнен до конца,
//
Процедура ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала, ВесЗамера = 1, Комментарий = Неопределено, Экспорт
```

Пример вызова
```bsl
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала, ВесЗамера, Комментарий, );
```
</details>

## ЗакончитьЗамерВремениТехнологический
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Завершает замер времени ключевой операции
// и записывает результат в регистр сведений ЗамерыВремениТехнологические.
//
// Параметры:
//   КлючеваяОперация	- СправочникСсылка.КлючевыеОперации
//                   	- Строка - ключевая операция.
//  ВремяНачала			- Число										- универсальная дата в миллисекундах,
//								  				  					  возвращаемая при начале замера функцией ОценкаПроизводительности.НачатьЗамерВремени.
//  ВесЗамера			- Число										- количественный показатель замера, например количество строк в документе.
//  Комментарий			- Строка
//             			- Соответствие - произвольная информация замера.
//
Процедура ЗакончитьЗамерВремениТехнологический(КлючеваяОперация, ВремяНачала, ВесЗамера = 1, Экспорт
```

Пример вызова
```bsl
ОценкаПроизводительности.ЗакончитьЗамерВремениТехнологический(КлючеваяОперация, ВремяНачала, ВесЗамера, );
```
</details>

## СоздатьКлючевыеОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Создает ключевые операции в случае их отсутствия.
//
// Параметры:
//  КлючевыеОперации - Массив - ключевые операции, элемент массива - Структура("ИмяКлючевойОперации, ЦелевоеВремя").
//
Процедура СоздатьКлючевыеОперации(КлючевыеОперации) Экспорт
```

Пример вызова
```bsl
ОценкаПроизводительности.СоздатьКлючевыеОперации(КлючевыеОперации) 
```
</details>

## УстановитьЦелевоеВремя
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устанавливает ключевой операции новое целевое время.
//
// Параметры:
//  КлючевыеОперации - Массив - ключевые операции, элемент массива - Структура("ИмяКлючевойОперации, ЦелевоеВремя").
//
Процедура УстановитьЦелевоеВремя(КлючевыеОперации) Экспорт
```

Пример вызова
```bsl
ОценкаПроизводительности.УстановитьЦелевоеВремя(КлючевыеОперации) 
```
</details>

## ИзменитьКлючевыеОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Изменяет ключевые операции.
//
// Параметры:
//  КлючевыеОперации - Массив - ключевые операции,
//								элемент массива - Структура("ИмяКлючевойОперацииСтарое, ИмяКлючевойОперацииНовое , ЦелевоеВремя")
//								или
//								элемент массива - Структура("ИмяКлючевойОперацииСтарое, ИмяКлючевойОперацииНовое"),
//								целевое время не изменяется.
//
Процедура ИзменитьКлючевыеОперации(КлючевыеОперации) Экспорт
```

Пример вызова
```bsl
ОценкаПроизводительности.ИзменитьКлючевыеОперации(КлючевыеОперации) 
```
</details>

## НачатьЗамерДлительнойОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Начинает замер времени длительной ключевой операции. Закончить замер нужно явно вызовом
// процедуры ЗакончитьЗамерДлительнойОперации.
//
// Параметры:
//   КлючеваяОперация	- Строка - ключевая операция.
//
// Возвращаемое значение:
//   Соответствие из КлючИЗначение:
//     * Ключ - Строка
//     * Значение - Произвольный
//   Ключи:
//    # КлючеваяОперация - Строка - имя ключевой операции.
//    # ВремяНачала - Число - время начала ключевой операции в миллисекундах.
//    # ВремяПоследнегоЗамера - Число - время последнего замера ключевой операции в миллисекундах.
//    # ВесЗамера - Число - количество данных, обработанных в ходе выполнения действий.
//    # ВложенныеЗамеры - Соответствие - коллекция замеров вложенных шагов.
//
Функция НачатьЗамерДлительнойОперации(КлючеваяОперация) Экспорт
```

Пример вызова
```bsl
Результат = ОценкаПроизводительности.НачатьЗамерДлительнойОперации(КлючеваяОперация) 
```
</details>

## ЗафиксироватьЗамерДлительнойОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Фиксирует замер вложенного шага длительной операции.
// Параметры:
//  ОписаниеЗамера 		- Соответствие	 - должно быть получено вызовом метода НачатьЗамерДлительнойОперации.
//  КоличествоДанных 	- Число			 - количество данных, например, строк, обработанных в ходе выполнения вложенного шага.
//  ИмяШага 			- Строка		 - произвольное имя вложенного шага.
//  Комментарий 		- Строка		 - произвольное дополнительное описание замера.
//
Процедура ЗафиксироватьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанных, ИмяШага, Комментарий = "") Экспорт
```

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

## ЗакончитьЗамерДлительнойОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Завершает замер длительной операции.
// Если указано имя шага, фиксирует его как отдельный вложенный шаг
// Параметры:
//  ОписаниеЗамера 		- Соответствие	 - должно быть получено вызовом метода НачатьЗамерДлительнойОперации.
//  КоличествоДанных 	- Число			 - количество данных, например, строк, обработанных в ходе выполнения вложенного шага.
//  ИмяШага 			- Строка		 - произвольное имя вложенного шага.
//  Комментарий 		- Строка		 - произвольное дополнительное описание замера.
//
Процедура ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанных, ИмяШага = "", Комментарий = "") Экспорт
```

Пример вызова
```bsl
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанных, ИмяШага, Комментарий);
```
</details>

## УстановитьПризнакЗавершенияСОшибкой
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Будет удалена в следующей редакции библиотеки.
// Устанавливает ключевой операции признака ошибки.
//
// Параметры:
//  КлючевыеОперации - Массив - ключевые операции, элемент массива - Структура("ИмяКлючевойОперации, Признак").
//
Процедура УстановитьПризнакЗавершенияСОшибкой(КлючевыеОперации) Экспорт
```

Пример вызова
```bsl
ОценкаПроизводительности.УстановитьПризнакЗавершенияСОшибкой(КлючевыеОперации) 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
