По умолчанию в системе присутствуют точки данных, предназначенные для хранения информации о сообщениях между менеджером событий 0 и 4-мя менеджерами сценариев, 4-мя пользовательскими интерфейсами, 4-мя драйверами, 1 менеджером распределенной архитектуры, 1 менеджером данных, 1 менеджером резервирования и 2-ым менеджером событий (0, 128) (см. тип точек данных «_Statistics_Connections»). Для дополнительных драйверов или пользовательских интерфейсов необходимо создать дополнительные точки данных.
АКТИВАЦИЯ СБОРА ДИАГНОСТИЧЕСКОЙ ИНФОРМАЦИИ
- Выполнить запуск «КАСКАД Цифра». По умолчанию статистические данные собираются в течение 30 секунд, после чего данный процесс прекращается.
- В случае необходимости, создать дополнительные точки данных.
- Определить период сбора статистических данных в соответствующей точке данных (например, «_Stat_event_0_to_ctrl_1») в качестве исходного значения в элементе «SecToRefresh», точки данных «_Stat_Connections_Refresh».
- В новой точке данных исходное значение равно 0, т.е. сбор статистических данных о сообщении отключен.
- В случае изменения исходного значения, изменение длины не не применяется до следующего периода сбора статистических данных. длительность текущего периода сбора статистических данных не изменяется.
ДЕАКТИВАЦИЯ СБОРА ДИАГНОСТИЧЕСКОЙ ИНФОРМАЦИИ
- Для отключения сбора статистических данных о сообщении этой точки данных, необходимо установить значение «SecsToRefresh», равное «0». Установленное значение имеет более высокий приоритет, чем запись в конфигурационном файле.
- Для отключения сбора всех статистических данных установите в конфигурационном файле значение «MessageDiagSec» равным нулю.
Установленное значение применяется также к сбору диагностической информации о конфигурационных элементах и к фазе запуска системы.Диагностическая информация о сообщениях также может отображаться в средстве просмотра журналов при применении (например, для менеджера событий) параметра запуска «-dbg 30».
Manager [3,0] connected for ALL dp-elements
— Msg overview elapsed secs since last report: 30,166
snd total: 46 rcv total: 1116
snd since last: 46 rcv since last: 1116
— Msg details
man S/R msg —
————————————
[_Stat_event_0_to_event_0]
Snd: DP_MSG_CONNECT 8
Snd: DP_MESSAGE_VC 1
Snd: DP_MSG_ANSWER 6
Rcv: DP_MSG_CONNECT 8
Rcv: DP_MESSAGE_VC 1
Rcv: DP_MSG_ANSWER 6
[_Stat_event_0_to_data_0]
Snd: SYS_MSG 1
Snd: SYS_MSG_NAMESERVER 25
Snd: DP_MSG_HOTLINK 2
Rcv: SYS_MSG 1040
Rcv: SYS_MSG_NAMESERVER 25
Rcv: DP_MSG_CONNECT 1
Rcv: DP_MESSAGE_VC 4
Rcv: DP_MSG_IDENTIFICATION 1
Rcv: DP_MSG_TYPECONTAINER 1
[_Stat_event_0_to_ui_1]
Snd: DP_MSG_ANSWER 3
Rcv: DP_MSG_CONNECT 28
Rcv: DP_MSG_SIMPLE_REQUEST 1
- В том случае, если обмен данными между двумя менеджерами осуществляется с использованием подключения по TCP/IP, количество отправленных и полученных сообщений за указанный период сохраняется в точке данных типа «_Statistics_Connections».
- При запуске менеджера (при установке подключения) менеджер обращается к соответствующей точке данных, предназначенной для хранения статистической информации, например, «_Stat_event_0_to_data_0» или «_Stat_event_0_to_ui_i». Некоторые из подобных точек данных уже включены в объем поставки, для других дополнительных менеджеров соответствующие точки данных должны быть созданы вручную.
- Точки данных, предназначенные для хранения статистической информации о TCP/IP-подключениях, именуются следующим образом:
_Stat_<ТипМенеджера>_<НомерМенеджера>_to_<ТипМенеджера>_<НомерМенеджера>
- Запись статистических данных в точку данных осуществляет первый менеджер.
ПРИМЕР
_Stat_event_0_to_ctrl_1
В этой точке данных сохраняется статистическая информация о подключении между менеджером событий и менеджером сценариев 1 (WCCOActrl -num 1). Статистические данные записываются менеджером событий.
MessageDiagSec
В том случае, если точка данных не существует, сбор диагностической информации может быть активирован только путем изменения данной записи в конфигурационном файле с последующим перезапуском соответствующего менеджера.
[general]
MessageDiagSec = 35
Для менеджера событий данный период установлен равным 0, однако по умолчанию при старте системы статистические данные собираются в течение 30 секунд, после чего сбор статистических данных прекращается. Для просмотра статистической информации о подключениях менеджера событий используется панель «ev_connections» (см. соответствующий раздел Справки).
После запуска системы «КАСКАД Цифра», в статистических отчетах используются только значения этих точек данных.
ПРИМЕЧАНИЕ
Ключевое слово «MessageDiagSec» используется для общей активации/деактивации сбора статистических данных о сообщениях и о конфигурационных элементах.
Действуют следующие правила:
- MessageDiagSec = 0, сбор статистических данных деактивирован; при отличном от 0 значении «SecsToRefresh» сбор данных также деактивирован, в том числе при старте системы «КАСКАД Цифра».
- MessageDiagSec > 0, сбор статистических данных активирован; значение используется для управления периодом сбора статистических данных при старте системы «КАСКАД Цифра». Впоследствии используются значения элементов точек данных.
ПРИМЕЧАНИЕ
Для сведения к минимуму объема передаваемых данных, собираются только статистические сведения о конечных элементах с измененными значениями.
Некоторые сообщения «КАСКАД Цифра» могут относиться к одним и тем же категориям.
Категория | Интервал | Сообщение «КАСКАД Цифра» |
SYS_MSG | 30 | Системные управляющие сообщения |
SYS_MSG_NAMESERVER | 30 | Инициализация |
DP_MSG_CONNECT | 30 | Соответствует dpConnect()/dpDisconnect() |
DP_MSG_HOTLINK | 30 | Соответствует сообщению об изменении значения при наличии подписки на изменения |
DP_MESSAGE_VC | 30 | Соответствует dpSet(), dpSetTimed() |
DP_MESSAGE_REQUEST | 30 | Запрос на ответ |
DP_MESSAGE_ANSWER | 30 | Ответ на запрос |
DP_MSG_IDENTIFICATION | 30 | Используется для инициализации |
DP_MSG_TYPECONTAINER | 30 | Используется для инициализации |
DP_MSG_MANIP_DP | 30 | Запрос на изменение (типа) точки данных, dpDescription(), dpAlias() |
DP_MSG_MANIP_CNS | Сообщения формируются также при использовании редактора модели данных. Подобным сообщениям соответствует категория «DP_MSG_MANIP_CNS». | |
DP_MSG_LOCK | 30 | Соответствует установке блокировки |
DP_MSG_UNLOCK | 30 | Соответствует снятию блокировки |
DP_MSG_CMD_NEW_DEL_DP | 30 | Сообщение менеджеру об изменении точки данных, dpCreate(), dpDelete() |
DP_MSG_SIMPLE_REQUEST | 30 | Соответствует dpGet() |
DP_MSG_ASYNCH_REQUEST | 30 | dpGetAsynch() |
DP_MSG_SYNCH_REQUEST | 30 | dpGetSynch() |
DP_MSG_PERIOD_REQUEST | 30 | dpGetPeriod() |
DP_MSG_ALERT_VC | 30 | alertSet() |
DP_MSG_ALERT_HL | 30 | Соответствует сообщению об изменении состояния обработчика алармов при наличии подписки на изменения |
DP_MSG_ALERT_CONNECT | 30 | Соответствует dpConnect() для алармов, alertConnect() |
DP_MSG_ALERT_DISCONN | 30 | alertDisconnect() |
DP_MSG_ALERT_TIME_REQUEST | 30 | |
DP_MSG_ALERT_PERIOD_REQU | 30 | alertGetPeriod() |
DP_MSG_FILTER_REQ | 30 | dpQuery() |
DP_MSG_FILTER_CONNECT | 30 | queryConnect() |
DP_MSG_FILTER_DISCONNECT | 30 | queryDisconnect() |
Типы точек данных и точки данных
В элементах точек данных типа «_Statistics_connections» содержится информация о количестве отправленных (SndTotal) и полученных (RcvTotal) сообщений в течение последнего периода, а также информация об общем количестве сообщений. По умолчанию в системе присутствуют точки данных, предназначенные для хранения информации о сообщениях между менеджером событий 0 и 4-мя менеджерами сценариев, 4-мя пользовательскими интерфейсами, 4-мя драйверами, 1 менеджером распределенной архитектуры, 1 менеджером данных, 1 менеджером резервирования и 2-ым менеджером событий (0, 128). Для дополнительных драйверов или пользовательских интерфейсов необходимо создать дополнительные точки данных.
Точки данных «_Stat_ .. Connections_Refresh» типа «_Statistics_Refresh» содержат элементы «SecToRefresh».
Точки данных типа «_Statistics_Msg» содержат статистическую информацию о сообщениях различных категории сообщений (см. таблицу выше).
Описание протокола сообщений
Описание подготовлено на основе примера, в котором функция «dpConnect()» вызывается в панели, обрабатываемой менеджером интерфейса пользователя (WCCOAui) с номером 1.
При вызове функции «dpConnect()» значение аргумента «answer» равняется «true», что означает получение актуального текущего значения (_online.._value) после вызова функции «dpConnect».
Для формирования записей в журнале процесса «КАСКАД Цифра» требуется активация уровня отладки «-snd 2 -rcv 2».
Журнальные записи формируются в файле журнала «WCCOAui1.log».
Все другие сообщения соответствуют описываемому стандарту.
++++ Сообщение при вызове «dpConnect()» ++++
Сообщение «КАСКАД Цифра»
WCCOAui(1) SENT:
—————————————————————
[2007.06.16;15:18:50:217 (0.010) V350] DP_MSG_CONNECT Src: (SYS: 4 Ui -num 1 CONN: 1) Dst: (SYS: 4 Event -num 0 CONN: 1) Peer: (SYS: 4 Event -num 0 CONN: 1) originTime(2007.06.16;15:18:50:217 ) realTime:0 peerMsgId: 76 msgId: 78 origMsgId: 78 wantAnswer: 1 answerId: 0 connection id: 0 want values: 1
Item: 0 System4:Example1.value:_online.._value (Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value)
Описание отдельных частей сообщения
WCCOAqt(1) SENT: Процесс «КАСКАД Цифра», направивший сообщение «КАСКАД Цифра» (в данном случае — менеджер «WCCOAui» с номером 1)
2007.06.16;15:18:50:217: метка времени для отправки сообщения
(0.010): Время в секундах.миллисекундах, прошедшее с момента отправки последнего сообщения
V350: Версия сообщения
DP_MSG_CONNECT: Категория сообщения. Данная категория соответствует применяемой функции «dpConnect()».
Src: (SYS: 4 Ui -num 1 CONN: 1) представляет источник сообщения. В примере функция «dpConnect()» вызывается в интерфейсе пользователя с номером 1, при этом номер системы (ключевое слово «SYS») соответствует номеру системы (4) в распределенной системе.
CONN: 1 ===> Информация о том, что сообщение было отправлено на первый сервер. Если используется резервированная система, то «CONN: 1» записывается при отправке сообщения на первый сервер, а «CONN: 2» – при отправке сообщения на второй сервер. В том случае, если используется односерверная система, то всегда выдается информация «CONN: 1».
Dst: (SYS: 4 Event -num 0 CONN: 1) ===> Получатель сообщения. Сообщение было отправлено менеджером интерфейса пользователя менеджеру событий.
Peer: (SYS: 4 Event -num 0 CONN: 1) ===> Указывает на то, что сообщение было перенаправлено. Пиром (peer) является процесс «КАСКАД Цифра», который перенаправил данное сообщение.
originTime(2007.06.16;15:18:50:217 ) ===> Метка времени формирования сообщения интерфейсом пользователя.
realTime:0 ===> В настоящее время не используется.
peerMsgId: 76 cCounts ===> количество сообщений, отправленных через это соединение. Данная информация будет использоваться для проверки резервированных подключений.
msgId: 78 ===> идентификатор сообщения, предоставляемый интерфейсом пользователя. Идентификатор сообщения используется для обработки ответов на данное сообщение.
origMsgId: 78===> Идентификатор сообщения, формируемый первоисточником. В данном случае идентичен «msgId», поскольку сообщение было сгенерировано интерфейсом пользователя.
wantAnswer: 1 ===> данный ключ указывает на ожидание ответа на данное сообщение.
answerId: 0 ===> указывает на то, что данное сообщение не является ответом.
connection id: 0 ===> идентификатор сообщения для сообщения «dpConnect». В настоящее время не используется.
want values: 1 ===> указывает на необходимость предоставления ответа на данное сообщение.
Item: 0 System4:Example1.value:_online.._value (Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) ===> первый объект в сообщении. При передаче в сообщении информации о нескольких объектах, указываются все объекты. При этом отсчет объектов ведется с 0.
useServerTime: вместо метки времени сообщения
используется время события. Данный метод гарантирует, что всегда используется действительное время и
не возникают недостоверные биты.
Примечание: useServerTime не используется для функции dpSetTimed с момента использования клиента.
connection id: 0 ===> идентификатор сообщения для сообщения «dpConnect». В настоящее время не используется.
System4:Example1.value:_online.._value ===> Имя элемента точки данных, указываемое в функции «dpConnect()».
(Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) ===> внутренняя идентификация точки данных
Type: 39 ===> Идентификатор типа точек данных точки данных «Example1».
Sys: 4 ===> Номер системы, к которой относится точка данных 4.
Dp: 94 ===> Внутренний идентификатор точки данных
El: 12 ===> Идентификатор элемента точки данных
_online.._value ===> Информация о конфигурационном элементе и атрибуте, указанных при вызове «dpConnect()»
++++ Ответное сообщение для dpConnect() ++++
Сообщение «КАСКАД Цифра»
WCCOAui(1) RECEIVED:
—————————————————————
[2007.06.16;15:18:50:227 (0.000) V350] DP_MSG_ANSWER Src: (SYS: 4 Event -num 0 CONN: 1) Dst: (SYS: 4 Ui -num 1 CONN: 1) Peer: (SYS: 4 Event -num 0 CONN: 1) originTime(2007.06.16;15:18:50:217 ) realTime:0 peerMsgId: 94 msgId: 1026 origMsgId: 1026 wantAnswer: 0 answerId: 78 answerOn: DP_MSG_CONNECT LAST_ANSWER
Group: 0 OK
Item: 1 (System4:Example1.value:_online.._value (Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) Value: 4)
Описание отдельных частей сообщения
WCCOAui(1) RECEIVED: ===> Процесс «КАСКАД Цифра», принявший сообщение «КАСКАД Цифра».
2007.06.16;15:18:50:217 ===> метка времени для полученного сообщения.
(0.000) ===> Время в секундах.миллисекундах, прошедшее с момента приема последнего сообщения.
V350 ===> Версия сообщения.
DP_MSG_ANSWER ===> Категория сообщения. В данном случае «dpConnect()» ожидает ответа. Первый ответ будет направлен менеджером событий, при этом первому ответу будет присвоена данная категория сообщений.
Src: (SYS: 4 Event -num 0 CONN: 1) ===> Источник ответного сообщения.
Dst: (SYS: 4 Ui -num 1 CONN: 1) ===> Получатель сообщения DP_MSG_ANSWER.
Peer: (SYS: 4 Event -num 0 CONN: 1) ===> Факт перенаправления сообщения. Пиром (peer) является процесс «КАСКАД Цифра», который перенаправил данное сообщение.
originTime(2007.06.16;15:18:50:217 ) ===> Метка времени отправки сообщения первоисточником. В данном случае сообщение было отправлено менеджером событий.
realTime:0 ===> В настоящее время не используется.
realTime:0 ===> В настоящее время не используется.
peerMsgId: 94 ===> количество сообщений, отправленных через это соединение. Данная информация будет использоваться для проверки резервированных подключений.
msgId: 1026 ===> Идентификатор сообщения, предоставленный менеджером событий.
origMsgId: 1026 ===> Идентификатор сообщения, заданный первоисточником. В данном случае идентичен «msgId», поскольку сообщение было сгенерировано менеджером событий.
wantAnswer: 0 ===> Указывает на необходимость предоставления ответа на данное сообщение.
answerId: 78 ===> Указывает на то, что данное сообщение является ответом на сообщение с идентификатором 78 (см. «msgId» сообщения «DP_MSG_CONNECT»)
answerOn: ===> Указывает на то, что данное сообщение категории «DP_MSG_ANSWER» является ответом на сообщение категории «DP_MSG_CONNECT»
LAST_ANSWER указывает, что это последний ответ на один запрошенный запрос. Предполагается для использования в последующих версиях. В настоящий момент не используется.
Group: 0 OK ===> Количество групп, информация о которых содержится в данном сообщении. В сообщении может содержаться информация, относящаяся к нескольким группам.
Item: 1 ===> Соответствует количеству объектов, информация о которых содержится в данном сообщении.
(System4:Example1.value:_online.._value) ===> Имя элемента точки данных, к которому относится данное сообщение.
(Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) ===> внутренняя идентификация точки данных
Value: 4 ===> Значение указанного элемента точки данных. В данном случае речь идет о текущем значении (online value).
++++ Сообщение при изменении текущего значения (online value) при наличии подписки на изменения ++++
Сообщение «КАСКАД Цифра»
WCCOAui(1) RECEIVED:
—————————————————————
[2007.06.16;15:19:20:130 (29.903) V350] DP_MSG_HOTLINK Src: (SYS: 4 Event -num 0 CONN: 1) Dst: (SYS: 4 Ui -num 1 CONN: 1) Peer: (SYS: 4 Event -num 0 CONN: 1) originTime(2007.06.16;15:19:20:110 ) realTime:0 peerMsgId: 95 msgId: 1164 origMsgId: 1164 wantAnswer: 0 answerId: 0
Group: 0
connectOn: 0 refresh: 0 OK
Src: (SYS: 4 Ui -num 2 CONN: 1) User: 0 Time: 2007.06.16;15:19:20:110
Item: 0 (System4:Example1.value:_online.._value (Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) Value: 12)
Описание отдельных частей сообщения
WCCOAui(1) RECEIVED: ===> Процесс «КАСКАД Цифра», принявший сообщение «КАСКАД Цифра».
2007.06.16;15:19:20:130 ===> Метка времени приема сообщения.
29.903 ===> Время в секундах.миллисекундах, прошедшее с момента отправки последнего сообщения.
V350 ===> Версия сообщения.
DP_MSG_HOTLINK ===> Категория сообщения. После выполнения функции «dpConnect()» информация об изменении значения передается при помощи сообщений данной категории.
Src: (SYS: 4 Event -num 0 CONN: 1) ===> Источник ответного сообщения.
Dst: (SYS: 4 Ui -num 1 CONN: 1) ===> Получатель хотлинк-сообщения.
Peer: (SYS: 4 Event -num 0 CONN: 1) ===> Факт перенаправления сообщения. Пиром (peer) является процесс «КАСКАД Цифра», который перенаправил данное сообщение.
originTime(2007.06.16;15:19:20:110 ) ===> Метка времени отправки сообщения первоисточником. В данном случае, сообщение было отправлено менеджером событий.
realTime:0 ===> В настоящее время не используется.
peerMsgId: 95 ===> количество сообщений, отправленных через это соединение. Данная информация будет использоваться для проверки резервированных подключений.
msgId: 1164 ===> Идентификатор сообщения, предоставленный менеджером событий.
origMsgId: 1164 ===> Идентификатор сообщения, заданный первоисточником. В данном случае идентичен «msgId», поскольку сообщение было сгенерировано менеджером событий.
wantAnswer: 0 ===> Указывает на необходимость предоставления ответа на данное сообщение.
answerId: 0 ===> Идентификатор сообщения, к которому относится данный ответ. В настоящий момент не используется.
Group: 0 ===> Количество групп, информация о которых содержится в данном сообщении. В сообщении может содержаться информация, относящаяся к нескольким группам.
connectOn: 0 ===> Идентификатор «queryConnect», на который будет предоставляется ответ с данной группой в данном сообщении.
refresh: 0 OK : ===> Значение равно 1, если сообщение является ответом на запрос на обновление.
Src: (SYS: 4 Ui-num 2 CONN: 1) ===> Процесс «КАСКАД Цифра», который установил это значение. В данном случае значение было изменено с использованием пользовательского интерфейса под номером 2.
User: 0 ===> Соответствует пользователю, который установил значение элемента точки данных. Все пользователи системы «КАСКАД Цифра» имеют уникальные идентификаторы.
Time: 2007.06.16;15:19:20:110 ===> Метка времени изменения значения с использованием пользовательского интерфейса под номером 2.
Item: 0 ===> Соответствует количеству объектов в сообщении об изменении значения (при наличии подписки на изменения). В группу могут входить несколько объектов.
System4:Example1.value:_online.._value ===> Имя элемента точки данных, к которому относится данное сообщение.
Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value ===> внутренняя идентификация точки данных
Value: 12 ===> Значение указанного элемента точки данных. В данном случае речь идет о текущем значении (online value).