Skip to content

Commit

Permalink
Merge branch 'release/v.0.6.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
arkuznetsov committed Mar 29, 2022
2 parents 3ce6ed7 + e8ef68a commit 62d5371
Show file tree
Hide file tree
Showing 16 changed files with 557 additions and 45 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ test-reports
tmp*
*.ospx

testconfig/
5 changes: 4 additions & 1 deletion config/racsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,11 @@
}
}
},
"connectionPoolSize" : 10,
"reconnectAtempts" : 3,
"reconnectInterval" : 1500,
"connectionWait" : 10000,
"connectionLockInterval" : 90000,
"logQueryDuration" : false,
"QueryDurationLogFilename" : ""
"queryDurationLogFilename" : ""
}
2 changes: 2 additions & 0 deletions lib.config
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<class name="КомандаСчетчикиОбъектаКластера" file="src/Классы/КомандаСчетчикиОбъектаКластера.os"/>
<class name="КомандаСписокСчетчиковОбъектовКластера" file="src/Классы/КомандаСписокСчетчиковОбъектовКластера.os"/>
<class name="КомандаДампСостоянияКластера" file="src/Классы/КомандаДампСостоянияКластера.os"/>
<class name="ОбработчикЗаписиВФайл" file="src/Классы/ОбработчикЗаписиВФайл.os"/>
<class name="ОбработчикЗаписиВClickHouse" file="src/Классы/ОбработчикЗаписиВClickHouse.os"/>
<class name="ПодключениеКАгентам" file="src/Классы/ПодключениеКАгентам.os"/>
<module name="ЗамерыВремени" file="src/Модули/ЗамерыВремени.os"/>
<module name="Настройки" file="src/Модули/Настройки.os"/>
Expand Down
1 change: 1 addition & 0 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
.РазработкаЗависитОт("1testrunner")
.РазработкаЗависитОт("1bdd")
.РазработкаЗависитОт("asserts")
.ВключитьФайл("config")
.ВключитьФайл("src")
.ВключитьФайл("lib.config")
.ВключитьФайл("README.md")
Expand Down
2 changes: 2 additions & 0 deletions src/lib.config
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<class name="КомандаСчетчикиОбъектаКластера" file="Классы/КомандаСчетчикиОбъектаКластера.os"/>
<class name="КомандаСписокСчетчиковОбъектовКластера" file="Классы/КомандаСписокСчетчиковОбъектовКластера.os"/>
<class name="КомандаДампСостоянияКластера" file="Классы/КомандаДампСостоянияКластера.os"/>
<class name="ОбработчикЗаписиВФайл" file="Классы/ОбработчикЗаписиВФайл.os"/>
<class name="ОбработчикЗаписиВClickHouse" file="Классы/ОбработчикЗаписиВClickHouse.os"/>
<class name="ПодключениеКАгентам" file="Классы/ПодключениеКАгентам.os"/>
<module name="ЗамерыВремени" file="Модули/ЗамерыВремени.os"/>
<module name="Настройки" file="Модули/Настройки.os"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@
// Codebase: https://github.com/ArKuznetsov/iracli/
// ----------------------------------------------------------

Перем Лог; // - Объект - объект записи лога приложения

// Процедура - устанавливает описание команды
//
// Параметры:
// Команда - КомандаПриложения - объект описание команды
//
Процедура ОписаниеКоманды(Команда) Экспорт

Команда.Опция("c count", 1, "количество сохраняемых дампов")
Команда.Опция("c count", -1, "количество сохраняемых дампов")
.ТЧисло()
.ВОкружении("IRAC_DUMP_COUNT");

Expand All @@ -26,9 +28,9 @@
.ТБулево()
.ВОкружении("IRAC_DUMP_SUMMARY");

Команда.Аргумент("PATH", ".", "путь к каталогу дампа объектов кластера 1С")
Команда.Аргумент("ADDRESS", ".", "адрес для сохранения дампа объектов кластера 1С (file://<путь к каталогу>, clickhouse://<адрес сервера>/<имя базы>)")
.ТСтрока()
.ВОкружении("IRAC_DUMP_PATH");
.ВОкружении("IRAC_DUMP_ADDRESS");

КонецПроцедуры // ОписаниеКоманды()

Expand All @@ -43,18 +45,20 @@

ПараметрыПриложения.УстановитьРежимОтладки(ВыводОтладочнойИнформации);

ПутьККаталогу = Команда.ЗначениеАргумента("PATH");
АдресСохранения = Команда.ЗначениеАргумента("ADDRESS");
Количество = Команда.ЗначениеОпции("count");
Периодичность = Команда.ЗначениеОпции("time");
ТолькоОсновныеДанные = Команда.ЗначениеОпции("summary");

КоличествоДампов = 0;

ОбрабатываемыеОбъекты = ОбрабатываемыеОбъектыКластера();
ОбрабатываемыеОбъекты = ОбщегоНазначения.ОбрабатываемыеОбъектыКластера();

Для й = 1 По Количество Цикл
СчетчикЗапусков = 1;

Если й > 1 Тогда
Пока Истина Цикл

Если СчетчикЗапусков > 1 Тогда
Приостановить(Периодичность * 1000);
КонецЕсли;

Expand Down Expand Up @@ -95,41 +99,51 @@
Дамп.Вставить("endTimemark", ТекущаяУниверсальнаяДатаВМиллисекундах());
Дамп.Вставить("duration" , Дамп["endTimemark"] - Дамп["startTimemark"]);

ИмяФайла = СтрШаблон("1cluster_dump_%1.json", Формат(Дамп["startDate"], "ДФ=yyyyMMdd_hhmmss"));
ПараметрыСохранения = ПараметрыАдреса(АдресСохранения);

Запись = Новый ЗаписьJSON();
Запись.ОткрытьФайл(ОбъединитьПути(ПутьККаталогу, ИмяФайла),
"UTF-8",
Ложь,
Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Unix, Символы.Таб));

ЗаписатьJSON(Запись, Дамп);

Запись.Закрыть();
ПараметрыСохранения.ОбработчикСохранения.Записать(Дамп, ПараметрыСохранения.Адрес);

КонецЦикла;
Если СчетчикЗапусков >= Количество И Количество > -1 Тогда
Прервать;
КонецЕсли;

КонецПроцедуры // ВыполнитьКоманду()
СчетчикЗапусков = СчетчикЗапусков + 1;

Функция ОбрабатываемыеОбъектыКластера()
КонецЦикла;

Результат = Новый Массив();
Результат.Добавить(Перечисления.РежимыАдминистрирования.Кластеры);
Результат.Добавить(Перечисления.РежимыАдминистрирования.Серверы);
Результат.Добавить(Перечисления.РежимыАдминистрирования.РабочиеПроцессы);
Результат.Добавить(Перечисления.РежимыАдминистрирования.ИнформационныеБазы);
Результат.Добавить(Перечисления.РежимыАдминистрирования.Сеансы);
Результат.Добавить(Перечисления.РежимыАдминистрирования.Соединения);
КонецПроцедуры // ВыполнитьКоманду()

Возврат Новый ФиксированныйМассив(Результат);
Функция ПараметрыАдреса(Знач Адрес)

КонецФункции // ОбрабатываемыеОбъектыКластера()
ПараметрыАдреса = Новый Структура("СпособСохранения, Адрес, ОбработчикСохранения");
ПозицияРазделителя = СтрНайти(Адрес, "://");

Если ПозицияРазделителя = 0 Тогда
ПараметрыАдреса.СпособСохранения = ОбщегоНазначения.СпособыСохранения().file;
ПараметрыАдреса.Адрес = Адрес;
ПараметрыАдреса.ОбработчикСохранения = ОбщегоНазначения.ОбработчикиСохранения().file;
Иначе
СпособСохранения = Лев(Адрес, ПозицияРазделителя - 1);
КонецЕсли;

Если НРег(СпособСохранения) = ОбщегоНазначения.СпособыСохранения().file Тогда
ПараметрыАдреса.СпособСохранения = ОбщегоНазначения.СпособыСохранения().file;
ПараметрыАдреса.Адрес = Сред(Адрес, ПозицияРазделителя + 3);
ПараметрыАдреса.ОбработчикСохранения = Новый ОбработчикЗаписиВФайл();
ИначеЕсли НРег(СпособСохранения) = ОбщегоНазначения.СпособыСохранения().clickhouse Тогда
ПараметрыАдреса.СпособСохранения = ОбщегоНазначения.СпособыСохранения().clickhouse;
ПараметрыАдреса.Адрес = Сред(Адрес, ПозицияРазделителя + 3);
ПараметрыАдреса.ОбработчикСохранения = Новый ОбработчикЗаписиВClickHouse();
Иначе
ВызватьИсключение СтрШаблон("Неизвестный способ сохранения дампа ""%1""", СпособСохранения);
КонецЕсли;

Возврат ПараметрыАдреса;

КонецФункции // ПараметрыАдреса()

// Процедура - обработчик события "ПриСозданииОбъекта"
//
// Параметры:
// ТипОбъектов - Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера
//
// BSLLS:UnusedLocalMethod-off
Процедура ПриСозданииОбъекта()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
// Codebase: https://github.com/ArKuznetsov/iracli/
// ----------------------------------------------------------

Перем ТипОбъектовКластера; // Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера
Перем ТипОбъектовКластера; // - Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера

Перем Лог; // - Объект - объект записи лога приложения

// Процедура - устанавливает описание команды
//
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
// Codebase: https://github.com/ArKuznetsov/iracli/
// ----------------------------------------------------------

Перем ТипОбъектовКластера; // Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера
Перем ТипОбъектовКластера; // - Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера

Перем Лог; // Объект - объект записи лога приложения
Перем Лог; // - Объект - объект записи лога приложения

#Область СлужебныйПрограммныйИнтерфейс

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
// Codebase: https://github.com/ArKuznetsov/iracli/
// ----------------------------------------------------------

Перем ТипОбъектовКластера; // Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера
Перем ТипОбъектовКластера; // - Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера

Перем Лог; // Объект - объект записи лога приложения
Перем Лог; // - Объект - объект записи лога приложения

#Область СлужебныйПрограммныйИнтерфейс

Expand Down Expand Up @@ -65,8 +65,7 @@
.ТСтрока()
.ВОкружении(СтрШаблон("IRAC_%1_LIST_ORDER", ВРег(ТипОбъектовКластера)));

Команда.Опция("t top", 0, СтрШаблон("отбор %1 с максимальным значением поля,
|указанного в параметре top-field", ИмяОбъектов))
Команда.Опция("t top", 0, СтрШаблон("отбор первых ""top"" %1", ИмяОбъектов))
.ТЧисло()
.ВОкружении(СтрШаблон("IRAC_%1_LIST_TOP", ВРег(ТипОбъектовКластера)));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
// Codebase: https://github.com/ArKuznetsov/iracli/
// ----------------------------------------------------------

Перем ТипОбъектовКластера; // Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера
Перем ТипОбъектовКластера; // - Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера

Перем Лог; // Объект - объект записи лога приложения
Перем Лог; // - Объект - объект записи лога приложения

#Область СлужебныйПрограммныйИнтерфейс

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
// Codebase: https://github.com/ArKuznetsov/iracli/
// ----------------------------------------------------------

Перем ТипОбъектовКластера; // Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера
Перем ТипОбъектовКластера; // - Перечисление.РежимыАдминистрирования - тип обрабатываемых объектов кластера

Перем Лог; // Объект - объект записи лога приложения
Перем Лог; // - Объект - объект записи лога приложения

#Область СлужебныйПрограммныйИнтерфейс

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
// Codebase: https://github.com/ArKuznetsov/iracli/
// ----------------------------------------------------------

Перем Лог; // Объект - объект записи лога приложения
Перем Лог; // - Объект - объект записи лога приложения

#Область СлужебныйПрограммныйИнтерфейс

Expand Down
Loading

0 comments on commit 62d5371

Please sign in to comment.