Extended Events – Parte 02 – Conhecendo os componentes

Hoje vamos falar sobre os componentes que permitem o funcionamento dos XEvents e entender o papel de cada um.

Package (Pacote): é um container para os Extended Events Objects (objetos de eventos estendidos).

Caso queira consultar os packages existentes através do próprio SQL Server, basta utilizar a consulta abaixo:

SELECT *
FROM sys.dm_xe_packages

Um package pode conter uma variedade de objetos e essa estrutura pode ser vista através da figura abaixo:

Packages

Event (Evento): é um ponto definido no código, por exemplo, o ponto onde um lock termina de ser adquirido. Eventos são categorizados de forma similar aos eventos do Event Tracing for Windows (ETW), por channels (canais) e keywords (palavras-chave), como forma de permitir que os Extended Events possam se integrar com o framework do ETW e as ferramentas disponíveis para estes.

Para listar os tipos de eventos existentes você pode utilizar o comando abaixo:

SELECT *
FROM sys.dm_xe_objects
WHERE object_type = 'event'

Payload: conjunto de colunas que um evento retorna, onde cada evento tem o seu respectivo payload.

Para listar as colunas existentes utilize o comando abaixo:

SELECT *
FROM sys.dm_xe_object_columns

Action (Ação): descrevem os eventos, ou seja, são informações sobre os mesmos. Para cada evento há a coluna “description” que fornece uma breve descrição sobre o mesmo.

Para listar os actions existentes:

SELECT  *
FROM sys.dm_xe_objects
WHERE object_type = 'action'

Targets (destinos): é o local onde as informações do evento serão armazenadas, ou seja, é o destino das informações capturadas.

SELECT *
FROM sys.dm_xe_objects
WHERE object_type = 'target'

Predicts (Predicados): quando os eventos disparam, normalmente será necessário filtrá-los para reduzir o número de eventos a analisar e esse filtro é feito através dos Predicts.

Você pode listar os Predicts existentes com o comando abaixo:

SELECT *
FROM sys.dm_xe_objects
WHERE object_type in ('pred_compare', 'pred_source')

Types (Tipos): um type é um tipo de dados simples ou complexo que é utilizado no payload de um evento.

Você pode listá-los com o comando abaixo:

SELECT *
FROM sys.dm_xe_objects
WHERE object_type in ('type')

Maps (Mapas): Maps são valores internos para uma string, que permitem que um usuário descubra o que este valor representa. Ao invés de obter um valor numérico o usuário pode obter uma descrição do valor interno, ou seja, através deles podemos descobrir que 1 representa ativado e 0 desativado, por exemplo.

O comando abaixo lista os Maps existentes:

SELECT *
FROM sys.dm_xe_objects
WHERE object_type in ('map')

Sessions (sessões): sessions são as sessões de XEvents onde iremos utilizar todos os componentes mostrados até agora. Nelas agrupamos events, actions, predicates, etc.
Leitura recomendada:

Esse post foi publicado em Artigos, Virtual PASS BR, XEvents. Bookmark o link permanente.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s