Файл состояния ej-contests
Навигация: Главная страница/Система ejudge/Использование/Файл состояния ej-contests
Поддерживается с версии 3.10.1.
Компонент ej-contests экспортирует некоторые показатели работы в
файл ej-contests-status. Этот файл отображается в память
процесса ej-contests, поэтому обновления этих показателей становятся
доступными для чтения немедленно.
Файл размещается в следующем каталоге (в порядке приоритета):
- если при конфигурации системы была задана опция
--enable-contests-status-dir, то файл размещается непосредственно в этом каталоге, например
/var/lib/ejudge/status/ej-contests-status.
- если при конфигурации системы была задана опция
--enable-local-dir, то файл размещается в подкаталогеstatus,
например /var/lib/ejudge/status/ej-contests-status.
- иначе файл находится в каталоге CONTESTS_HOME_DIR/var, например
/home/judges/var/ej-contests-status.
Для чтения информации из файла ej-contests-status его можно
также отобразить в память в режиме "только чтение" и
обращаться непосредственно к полям структуры.
Файл перезаписывается с нуля при каждом рестарте ej-contests.
Файл имеет следующую структуру:
struct metrics_contest_data
{
uint32_t size;
unsigned char pad0[12];
struct timeval start_time;
struct timeval update_time;
long long client_serial;
int loaded_contests;
int runs_submitted;
long long total_compile_time_ms;
long long total_testing_time_ms;
};
- Поле
sizeсодержит размер структуры в байтах (sizeof(struct metrics_contest_data)). В следующих версиях структуры ее размер может увеличиться за счет добавления новых полей, но существующие поля сохранятся. - Поле
start_timeсодержит время старта компонента ej-contests. - Поле
update_timeсодержит время последнего обновления значения в структуре. - Поле
client_serialсодержит текущий номер внутреннего запроса, обрабатываемого ej-contests. При обращении к ej-contests по протоколу http(s) создаются два внутренних запроса, поэтому количество http(s) запросов к ej-contests с момента старта программы можно получить, поделив это значение на 2. - Поле
loaded_contestsсодержит число турниров, полная информация о которых загружена в память ej-contests. - Поле
runs_submittedсодержит число посылок, присланных на проверку с момента запуска ej-contests. - Поле
total_compile_time_msсодержит суммарное время, потраченное на компиляцию всех посылок (включая перетестирования) в миллисекундах. - Поле
total_testing_time_msсодержит суммарное время, потраченное на тестирование всех посылок (включая перетестирования) в миллисекундах.