Accounting and Statistics to technologia pozwalająca na zbieranie informacji statystycznych na temat działania
przepływów zainstalowanych na brokerze.
Rozróżniamy dwa sposoby zbierania danych. Pierwszy to statystyki Snapshot zbierane co około 20 sekund.
Zazwyczaj używa się ich do analizy konkretnych problemów wydajnościowych. Drugi to statystyki Archive używane
zazwyczaj do długotrwałego monitorowania pracy brokera. Częstotliwość zbierania danych typu Archive określamy
w minutach poprzez komendę
mqsichangebroker
. Zebrane dane mogą być zapisywane jako trace typu użytkownika i odczytywane jak standardowe informacje trace lub
publikacje na odpowiedni topic.
Przykład ustawienia tego interwału dla brokera
WBRK_BROKER
na 10 minut wygląda następująco:
mqsichangebroker WBRK_BROKER -v 10
Włączenie i wyłączenie statystyk dokonujemy komendą
mqsichangeflowstats
. Sprawdzenie poziomu mitorowania dokonujemy komendą
mqsireportflowstats
Pierwszym argumentem komendy
mqsichangeflowstats
jest nazwa brokera. kolejne to odpowiednie przełączniki:
-a : komenda dotyczy danych typu Archive
lub
-s : komenda dotyczy danych typu Snapshot
-e : nazwa execution group
lub
-g : komenda dotyczy wszystkich execution group
-f : nazwa przepływu
lub
-j : komenda dotyczy wszystkich przepływów
-c : włącza (wartość active) lub wyłącza (wartość inactive) monitorowanie
-t : ustawia poziom logowania dla wątków (wartość none lub basic)
-n : ustawia poziom logowania dla nodów (wartość none, basic lub advanced)
-r : czyści poprzednie wpisy
-o : ustawia docelowe położenie statystyk (wartość usertrace, xml lub smf dla zOS)
-b : parametr służący do filtrowania statystyk według pola accountingOrigin.
Poniżej kilka przykładów użycia komendy
mqsichangeflowstats
.
Włącznie monitorowania typu Archive
mqsichangeflowstats WBRK_BROKER -a -g -j -c active -t basic -r -o usertrace
Wyłącznie monitorowania typu Archive
mqsichangeflowstats WBRK_BROKER -a -g -j -c inactive -t basic -r -o usertrace
Sprawdzenie poziomu monitorowania typu Archive
mqsireportflowstats WBRK_BROKER -a -g -j
Włącznie monitorowania typu Snapshot
mqsichangeflowstats WBRK_BROKER -s -g -j -c active -t basic -o usertrace
Wyłącznie monitorowania typu Snapshot
mqsichangeflowstats WBRK_BROKER -s -g -j -c inactive -t basic -o usertrace
Sprawdzenie poziomu monitorowania typu Snapshot
mqsireportflowstats WBRK_BROKER -s -g -j
Aby dynamicznie określić "domenę" statystyk, według której później będziemy mogli filtrować statystyki
możemy użyć poniższego kodu ESQL.
SET Environment.Broker.Accounting.Origin = "CustomerXY";
Poniższa lista przedstawia ogólne dane statystyczne znajdujące się w folderze
WMQIStatisticsAccounting
.
| Nazwa |
Typ danych |
Opis |
| RecordType |
Character |
Typ danych (Archive lub Snapshot) |
 |
| RecordCode |
Character |
MajorInterval, Snapshot, Shutdown, ReDeploy lub StatsSettingsModified |
 |
Poniższa lista przedstawia dane statystyczne dotyczące przepływów znajdujące się w folderze
| Nazwa |
Typ danych |
Opis |
| BrokerLabel |
Character (max 32) |
Nazwa brokera |
 |
| BrokerUUID |
Character (max 32) |
Identyfikator brokera |
 |
| ExecutionGroupName |
Character (max 32) |
Nazwa EG brokera |
 |
| ExecutionGroupUUID |
Character (max 32) |
Identyfikator EG brokera |
 |
| MessageFlowName |
Character (max 32) |
Nazwa przepływu |
 |
| StartDate |
Character |
Data startu (YYYY-MM-DD) |
 |
| StartTime |
Character |
Czas startu (HH:MM:SS:NNNNNN) |
 |
| EndDate |
Character |
Data zakończenia (YYYY-MM-DD) |
 |
| EndTime |
Character |
Czas zakończenia (HH:MM:SS:NNNNNN) |
 |
| TotalElapsedTime |
Numeric |
Całkowity czas spędzony na procesowaniu komunikatów |
 |
| MaximumElapsedTime |
Numeric |
Maksymalny czas spędzony na procesowaniu komunikatów |
 |
| MinimumElapsedTime |
Numeric |
Minimalny czas spędzony na procesowaniu komunikatów |
 |
| TotalCPUTime |
Numeric |
Całkowity czas procesora spędzony na procesowaniu komunikatów |
 |
| MaximumCPUTime |
Numeric |
Maksymalny czas procesora spędzony na procesowaniu komunikatów |
 |
| MinimumCPUTime |
Numeric |
Minimalny czas procesora spędzony na procesowaniu komunikatów |
 |
| CPUTimeWaitingForInputMessage |
Numeric |
Całkowity czas procesora spędzony na oczekiwaniu na komunikat |
 |
| ElapsedTimeWaitingForInputMessage |
Numeric |
Całkowity czas spędzony na oczekiwaniu na komunikat |
 |
| TotalInputMessages |
Numeric |
Ilość przeprocesowanych komunikatów |
 |
| TotalSizeOfInputMessages |
Numeric |
Całkowity rozmiar przeprocesowanych komunikatów |
 |
| MaximumSizeOfInputMessages |
Numeric |
Maksymalny rozmiar przeprocesowanych komunikatów |
 |
| MinimumSizeOfInputMessages |
Numeric |
Minimalny rozmiar przeprocesowanych komunikatów |
 |
| NumberOfThreadsInPool |
Numeric |
Ilość wątków w puli |
 |
| TimesMaximumNumberofThreadsReached |
Numeric |
Ilość wystapień osiągniecia maksymalnej ilości wątków |
 |
| TotalNumberOfMQErrors |
Numeric |
Ilość błedów MQGET lub błedów Web Services |
 |
| TotalNumberOfMessagesWithErrors |
Numeric |
Ilość komunikatów zawierających błedy |
 |
| TotalNumberOfErrorsProcessingMessages |
Numeric |
Ilość błędów w procesowaniu komunikatów |
 |
| TotalNumberOfTimeOutsWaitingForRepliesToAggregateMessages |
Numeric |
Ilość timeoutów w nodzie AggregateReply |
 |
| TotalNumberOfCommits |
Numeric |
Ilość operacji commit |
 |
| TotalNumberOfBackouts |
Numeric |
Ilość operacji backout |
 |
| AccountingOrigin |
Character |
AccountingOrigin |
 |
Poniższa lista przedstawia dane statystyczne dotyczące wątków znajdujące się w folderze
| Nazwa |
Typ danych |
Opis |
| Number |
Numeric |
Ilość podfolderów zawierających informacje o wątkach |
 |
Poniższa lista przedstawia dane statystyczne dotyczące konkretnych wątków znajdujące się w podfolderze
| Nazwa |
Typ danych |
Opis |
| Number |
Numeric |
Numer wątku w puli |
 |
| TotalNumberOfInputMessages |
Numeric |
Ilość komunikatów przeprocesowanych przez wątek |
 |
| TotalElapsedTime |
Numeric |
Całkowity czas spędzony na procesowaniu komunikatów |
 |
| TotalCUPTime |
Numeric |
całkowity czas procesora spędzony na procesowaniu komunikatów |
 |
| CPUTimeWaitingForInputMessage |
Numeric |
Całkowity czas procesora spędzony na oczekiwaniu na komunikat |
 |
| ElapsedTimeWaitingForInputMessage |
Numeric |
Całkowity czas spędzony na oczekiwaniu na komunikat |
 |
| TotalSizeOfInputMessages |
Numeric |
Całkowity rozmiar przeprocesowanych komunikatów |
 |
| MaximumSizeOfInputMessages |
Numeric |
Maksymalny rozmiar przeprocesowanych komunikatów |
 |
| MinimumSizeOfInputMessages |
Numeric |
Minimalny rozmiar przeprocesowanych komunikatów |
 |
Poniższa lista przedstawia dane statystyczne dotyczące nodów znajdujące się w folderze
| Nazwa |
Typ danych |
Opis |
| Number |
Numeric |
Ilość podfolderów zawierających informacje o nodach |
 |
Poniższa lista przedstawia dane statystyczne dotyczące konkretnych nodów znajdujące się w podfolderze
| Nazwa |
Typ danych |
Opis |
| Label |
Character |
Nazwa noda |
 |
| Type |
Character |
Typ noda |
 |
| TotalElapsedTime |
Numeric |
Całkowity czas spędzony na procesowaniu komunikatów |
 |
| MaximumElapsedTime |
Numeric |
Maksymalny czas spędzony na procesowaniu komunikatów |
 |
| MinimumElapsedTime |
Numeric |
Minimalny czas spędzony na procesowaniu komunikatów |
 |
| TotalCPUTime |
Numeric |
Całkowity czas procesora spędzony na procesowaniu komunikatów |
 |
| MaximumCPUTime |
Numeric |
Maksymalny czas procesora spędzony na procesowaniu komunikatów |
 |
| MinimumCPUTime |
Numeric |
Minimalny czas procesora spędzony na procesowaniu komunikatów |
 |
| CountOfInvocations |
Numeric |
Całkowita ilośc komunikatów przeprocesowanych przez ten nod |
 |
| NumberOfInputTerminals |
Numeric |
Ilość terminali wejściowych |
 |
| NumberOfOutputTerminals |
Numeric |
Ilość terminali wyjściowych |
 |
Poniższa lista przedstawia dane statystyczne dotyczące terminali znajdujące się w folderze
| Nazwa |
Typ danych |
Opis |
| Label |
Character |
Nazwa terminala |
 |
| Type |
Character |
Typ terminala (Input lub Output) |
 |
| CountOfInvocations |
Number |
Całkowita ilość komunikatów przeprocesowanych przez ten terminal |
 |