Monitoramento de Eventos da Unidade de Trabalho
O monitor de eventos da unidade de trabalho é uma maneira de realizar o monitoramento da perspectiva do sistema com métricas de solicitação. As alternativas ou complementos mais relacionados ao monitor de eventos de unidade de trabalho são o monitor de eventos de estatísticas e as funções de tabela MON_GET_UNIT_OF_WORK e MON_GET_UNIT_OF_WORK_DETAILS.
Você pode usar o monitor de eventos da unidade de trabalho para coletar uma listagem dos pacotes usados em uma unidade de trabalho e o nível de aninhamento em que foram usados. Essas informações ajudam a facilitar a solução de problemas de procedimentos armazenados. Você também pode gerar uma listagem dos IDs executáveis e métricas associadas em nível de expressão para expressões executadas em uma unidade de trabalho.
Para criar o monitor de eventos de unidade de trabalho e coletar dados do monitor de eventos de unidade de trabalho, você deve ter autoridade DBADM ou SQLADM.
Criação de um monitor de eventos de unidade de trabalho
Você tem a opção de gravar a saída de um monitor de evento de unidade de trabalho em uma tabela de eventos não formatada (UE) ou em uma tabela normal. Consulte Opções de saída para monitores de eventos para obter mais informações sobre como escolher o formato de saída mais adequado.
Qualquer que seja o tipo de tabela utilizado, ao criar um monitor de eventos de unidade de trabalho, identifique o espaço de tabela onde planeja armazenar a tabela ou tabelas que contêm a saída do monitor de eventos. A prática recomendada é ter um espaço de tabela dedicado e configurado para armazenar a tabela. No entanto, ao criar um monitor de eventos, você pode especificar um espaço de tabela existente. Se você não especificar um espaço de mesa, um será escolhido para você.
CREATE EVENT MONITOR MY_UOW_EVMON
FOR UNIT OF WORK
WRITE TO UNFORMATTED EVENT TABLE (IN MY_EVMON_TABLESPACE)Configuração da coleta de dados
- Nenhum
- Unidade básica de dados de trabalho
- Informações sobre os pacotes que foram executados na unidade de trabalho
- Uma lista de IDs executáveis para instruções que foram executadas na unidade de trabalho.
| Dados para Coleta | mon_uow_data | mon_uow_pkglist | mon_uow_execlist |
|---|---|---|---|
| Não coletar dados de unidade de trabalho | none (padrão) | OFF (padrão) | OFF (padrão) |
| Coletar apenas dados da unidade básica de trabalho | Base | OFF (padrão) | OFF (padrão) |
| Coletar informações da lista de pacotes, mas não informações sobre IDs de executáveis | Base | ATIVADO | OFF (padrão) |
| Coletar informações sobre IDs de executáveis, mas não uma lista de pacotes | Base | OFF (padrão) | ATIVADO |
| Coletar dados da unidade básica de trabalho, informações da lista de pacotes e informações sobre IDs executáveis | Base | ATIVADO | ATIVADO |
- Se você não definir nenhum dos parâmetros de configuração, nenhum dado de unidade de trabalho será coletado, a menos que você ative a coleta para objetos de carga de trabalho específicos. Você pode ativar a coleta para objetos de carga de trabalho específicos usando a instrução CREATE ou ALTER para o tipo de objeto de carga de trabalho apropriado, por exemplo, a instrução CREATE SERVICE CLASS ou ALTER WORKLOAD.
- Para coletar dados básicos de unidade de trabalho, mas sem lista de pacotes ou informações de ID de executável, você pode definir o parâmetro de configuração mon_uow_data como BASE e omitir os parâmetros de configuração mon_uow_pkglist e mon_uow_execlist. Se você não os definir explicitamente, será usado o valor padrão OFF.
- Para coletar uma ou ambas as informações da lista de pacotes e da ID do executável, você também deve definir o parâmetro de configuração mon_uow_data como BASE. Se você definir o parâmetro de configuração mon_uow_data como NONE, nenhuma informação será coletada, independentemente das definições dos parâmetros de configuração mon_uow_pkglist e mon_uow_execlist.
ALTER WORKLOAD REPORTS COLLECT UNIT OF WORK DATA BASE INCLUDE PACKAGE LISTPara coletar informações da lista de pacotes e uma lista de IDs executáveis para instruções que são executadas na unidade de trabalho, você pode usar esta instrução:ALTER WORKLOAD REPORTS COLLECT UNIT OF WORK DATA BASE INCLUDE PACKAGE LIST,
EXECUTABLE LISTAs configurações mostradas na Tabela 1 se aplicam a todas as cargas de trabalho em execução no sistema, a menos que você substitua essas configurações para cargas de trabalho específicas usando a instrução CREATE WORKLOAD ou ALTER WORKLOAD. Se você quiser coletar informações de nível básico para todas as cargas de trabalho, mas também quiser coletar informações de lista de pacotes para cargas de trabalho selecionadas, defina o parâmetro de configuração do banco de dados mon_uow_data como BASE. Em seguida, use a instrução CREATE WORKLOAD ou ALTER WORKLOAD para definir o nível como BASE PACKAGE LIST para as cargas de trabalho nas quais você está interessado.- Usando o parâmetro de configuração do banco de dados mon_req_metrics
- Ao usar a cláusula COLLECT REQUEST METRICS do comando CREATE SERVICE CLASS ou ALTER SERVICE CLASS para uma superclasse de serviço.
Acesso a dados de eventos capturados por um monitor de eventos de unidade de trabalho
Um monitor de eventos de unidade de trabalho pode gravar dados em uma tabela regular ou em formato binário em uma tabela de eventos não formatados (UE). Você pode acessar os dados em tabelas regulares usando SQL.
- EVMON_FORMAT_UE_TO_XML
- Extrai dados de uma tabela de eventos não formatada em um documento XML.
- EVMON_FORMATAR_UE_PARA_TABELAS
- Extrai dados de uma tabela de eventos não formatada em um conjunto de tabelas relacionais.
Se estiver gerando informações de listagem de pacotes, você poderá usar a função de tabela EVMON_FORMAT_UE_TO_XML para gerar um único documento XML que contenha a unidade básica de dados do monitor de eventos de trabalho e a listagem de pacotes. O procedimento EVMON_FORMAT_UE_TO_TABLES produz duas tabelas: uma para a unidade básica de informações do monitor de eventos de trabalho e outra para as informações de listagem de pacotes. Você pode unir as duas tabelas usando os valores das colunas MEMBER, APPLICATION_ID e UOW_ID.
- Selecione eventos de interesse com base nos seguintes atributos: ID do evento, tipo de evento, período de tempo, aplicativo, carga de trabalho ou classe de serviço
- Escolha se deseja receber a saída na forma de um relatório de texto ou de um documento XML formatado
- Controle o formato de saída criando suas próprias folhas de estilo XSLT em vez de usar as fornecidas pelo comando db2evmonfmt
java db2evmonfmt -d SAMPLE -ue SAMPLE_UOW_EVENTS -ftext -ss MyUOW.xsl -hours 24