Logo GBNhost.com — скидка на VPS сервера 50 процентов! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Ваш идеальный сервер от 4$/мес. Все включено:

- Администрирование и решение проблем 24/7
- Перенос проектов без рисков и простоев.
- Круглосуточный мониторинг доступности сайтов.
- Защита от DDoS атак.

Сверхбыстрый хостинг от 69 р./мес., VPS от 299 р./мес.

Бесплатно: администрирование + ISPmanager + DDoS защита + SSL + 7 дней тестовый период

Скидка 50% на первый месяц VPS и хостинга по промокоду CITFORUM

хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

Бесплатная регистрация

MONITOR(3C)

НАЗВАНИЕ
monitor - подготовка временного профиля программы

СИНТАКСИС

	#include <mon.h>
	
	void monitor (lowpc, highpc, buffer, bufsize, nfunc)
	int (*lowpc)( ), (*highpc)( );
	WORD *buffer;
	int bufsize, nfunc;

ОПИСАНИЕ
В выполняемую программу, полученную с помощью команды cc -p, автоматически вставляются вызовы функции monitor с подразумеваемыми значениями аргументов; явно эту функцию следует вызывать только тогда, когда нужно иметь возможность тонкого управления профилированием.

Функция monitor представляет собой интерфейс к системному вызову profil(2). Аргументы lowpc и highpc являются адресами двух функций; buffer - это адрес (пользовательского) массива элементов типа WORD (тип определен во включаемом файле <mon.h>), длина массива задается аргументом bufsize. Функция monitor организует запись в массив buffer гистограммы значений периодически опрашиваемого счетчика команд, а также счетчиков числа вызовов некоторых функций. Диапазон фиксируемых значений счетчика команд простирается от lowpc (нижний предел) до highpc (диапазон кончается перед этим адресом). Нижний предел lowpc должен быть отличен от нуля. Храниться может не более nfunc счетчиков вызовов; фиксируются вызовы только тех функций, которые были откомпилированы с опцией профилирования -p команды cc(1).

Чтобы результаты измерений давали представление о реальной ситуации, особенно когда есть небольшие, но часто используемые функции, надо, чтобы размер массива buffer был сравнимым с отслеживаемым диапазоном адресов.

Для подготовки временного профиля всей программы достаточно следующей конструкции:

	extern etext;
	  ...
	monitor ((int (*)()) 2, &etext, buf, bufsize, nfunc);

Объект etext лежит непосредственно за сегментом команд [см. end(3C)].

Чтобы прекратить профилирование и записать результаты, следует использовать обращение

	monitor((int (*)()) 0, 0, 0, 0, 0);

Затем для просмотра результатов можно воспользоваться командой prof(1).

С помощью переменной окружения PROFDIR можно управлять именем выходного файла функции monitor. Если такой переменной нет, то в текущем каталоге создается файл mon.out. Если переменная существует, но значения у нее нет, то monitor не профилирует программу и не создает выходной файл. В противном случае создается выходной файл с именем $PROFDIR/идентификатор_процесса.mon.out. При автоматическом вызове процедуры monitor после компиляции по команде cc -p выходной файл получает имя $PROFDIR/идентификатор_процесса.имя_программы.

ФАЙЛЫ

	mon.out

СМ. ТАКЖЕ
profil(2), end(3C).
cc(1), prof(1) в Справочнике пользователя.

СЮРПРИЗЫ
Форма

	$PROFDIR/идентификатор_процесса.mon.out
не работает. Работает автоматическая форма
	$PROFDIR/идентификатор_процесса.имя_программы
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...