CGDiagnosticos
O CIGAM Diagnósticos é uma ferramenta avançada para análise e monitoramento da infraestrutura do seu ambiente. Com ele, é possível validar a comunicação com o banco de dados, aferir a velocidade da rede, coletar informações detalhadas do sistema operacional, listar versões do .NET e testar requisições e integrações Web.
Abaixo, detalhamos cada uma de suas funcionalidades para guiar a utilização correta da aplicação.
Acesso à Ferramenta
Ao executar o aplicativo, será exibida a tela de login inicial solicitando suas credenciais de acesso.

Informe o Usuário e a Senha válidos e clique em OK para prosseguir.
- Extrema Importância: O uso inadequado de algumas funções de diagnóstico (como testes de estresse e sobrecarga de submissões no banco de dados) pode impactar a performance do ambiente do cliente. Utilize a ferramenta com cautela e, preferencialmente, alinhado com a equipe de suporte.
Tempo de acesso
A aba principal de tempo de acesso é dividida em dois sub-monitoramentos essenciais: Banco de Dados (DB) e Rede.
DB (Banco de Dados)
Esta seção é focada em testar a latência, a capacidade de resposta e a saúde geral do banco de dados conectado.

- Connection-string: A ferramenta permite identificar automaticamente o banco e atualizar o SQL padrão, ou inserir manualmente uma porta/instância diferente após o Data Source. Quando a Connection-string possuir a senha, será aplicada uma criptografia para evitar exposição.
- Componentes para conexão: Permite escolher o provedor (ex: OleDb Genérica).
- SQL: Área de script onde a consulta de teste é inserida.
- Ações rápidas: Estão disponíveis botões auxiliares à direita para Carregar Script, obter a Versão do Banco, o Tamanho do Banco (necessita de permissão especial no usuário de banco) e listar as Consultas mais pesadas.
- Ao clicar em Consultas mais pesadas, o sistema abrirá uma janela com o "Top 50" de instruções, detalhando o Tempo de CPU, Tempo total worker e a quantidade de execuções.

Ainda na guia DB, o envio dos testes pode ser realizado de duas maneiras distintas:
1. Submissão Manual Permite configurar o volume de carga, definindo quantas vezes a consulta será submetida e em quantos ciclos. Ao ativar indicadores de eficiência, o log mostrará na tela se a resposta foi Ruim, Regular, Bom, Ótimo ou Excelente. Ao marcar a opção de "incluir connection-string", a senha será mostrada criptografada caso esteja incluída nela.

2. Submissão Automática
Ideal para monitoramento contínuo. Define-se um intervalo em milissegundos e aponta-se um arquivo (ex: C:\Temp\Log.txt) para gravar o histórico e rastrear o log da última execução.

Rede
Responsável por medir a velocidade de transferência e a estabilidade da conexão de rede até o armazenamento ou servidor de destino.

- Arquivo: Informe o caminho de um arquivo local ou mapeado na rede.
- Parâmetros: Defina o tamanho máximo da transferência (em MB) e o número de repetições do teste.
- Execução: Ao clicar no botão Transferir, a área de log inferior começará a exibir a velocidade de leitura (mbits/ps), o tamanho dos bytes trafegados e a latência (ms).

- Utilize o campo Pingar endereço (IP ou nome) para validar a conectividade básica com o destino antes de iniciar transferências pesadas.
.NET
Página destinada à validação de pré-requisitos lógicos da máquina.

Clicando no botão Verificar versões instaladas, o CIGAM Diagnósticos varre o registro do Windows e lista de forma clara todas as versões do Microsoft .NET Framework presentes, além de detalhar as atualizações de segurança e Hotfixes (KB) aplicados no sistema operacional.
Sistema
Esta seção extrai um raio-X do servidor ou máquina atual conectando-se diretamente com as APIs WMI (Windows Management Instrumentation).

- Selecione a API correspondente no menu suspenso (por exemplo,
Win32_OperatingSystem). - Clique em Buscar informações da API selecionada.
- O quadro exibirá propriedades aprofundadas como a versão exata do Windows Server, a quantidade de RAM utilizável e os diretórios de BootDevice.
Web
Uma área projetada como um cliente HTTP/API integrado, permitindo simular chamadas externas e validar acessos de serviços.

- Endpoint: Informe a URL completa que será alvo da requisição.
- Headers: Adicione cabeçalhos necessários para autenticação ou tipo de conteúdo (um por linha).
- Parâmetros por POST: Envie os parâmetros em formato de lista ou ative a opção para envio direto no Corpo (Body).
- Com a quantidade de requisições definida, clique em Invoke Request. O retorno do serviço (JSON, XML ou Texto) será apresentado na caixa de Resposta.
Guia: Timer
Esta aba funciona como um cronômetro de precisão, ideal para medir intervalos de execução de tarefas ou tempo de resposta entre ações dentro do sistema.

- (Re)Start: Inicia ou reinicia a contagem do tempo.
- Stop: Interrompe a contagem.
- Check-point: Registra uma marcação de tempo (timestamp) na tela, permitindo comparar lapsos entre diferentes etapas de um processo.
Guia: Interação
Utilizada para automatizar ou manipular mensagens do Windows (Win32) enviadas entre janelas.

- Intervalo: Define a frequência (em milissegundos) para os processos de busca.
- Handle manual: Permite injetar manualmente um identificador de janela (Handle) para interações específicas.
- Avisar se receber essa Message: Monitora o recebimento de mensagens específicas do sistema.
- Configurações de busca: Opções como "Buscar paizão" facilitam a localização da hierarquia de formulários (OpenForms) e a extração de metadados como tamanho de borda e informações de TopMost.
- user32.SendMessage(): Ferramenta avançada para forçar o envio de comandos (Handle, Message, WParam, LParam) diretamente a um componente da interface.
- Extrema Importância: O uso indevido das funções da aba "Interação" e do "SendMessage" pode causar comportamentos inesperados ou travamentos em formulários ativos. Utilize apenas sob estrita necessidade de diagnóstico.
Guia: Inspeção
Oferece um resumo completo e estruturado das propriedades da janela ou do componente focado no momento.

Esta tabela exibe em tempo real o estado de objetos, tais como:
- this.Handle: Identificador único do componente.
- GetActiveWindow / GetForegroundWindow: Identificação da janela em foco no sistema operacional.
- GetText: Texto exibido no componente (ex: título da janela ou rótulo de botão).
- Hierarquia: Informações sobre a relação pai/filho dos componentes na estrutura da aplicação.
Guia: Spy
Esta funcionalidade atua como um "identificador de objetos", permitindo capturar informações de qualquer controle da interface gráfica do Windows.

- Captura via Arraste: Clique e segure o retângulo cinza e arraste-o sobre qualquer elemento de qualquer aplicação aberta.
- Informações capturadas: O sistema preenche automaticamente os campos com o Handle (em formato decimal e hex), a posição (Rectangle), o ClassName da classe do objeto e o Text (conteúdo textual do elemento).
Guia: Statistics
Dedicada ao monitoramento detalhado do consumo de recursos de processos específicos em execução no Windows.

- Processo: Selecione na lista o processo desejado (ou marque "Somente meu usuário" para filtrar).
- Métricas disponíveis: É possível monitorar em tempo real:
- Memory Peak e Memory Size64.
- Counters e GUI.
- Processor Timers e CPU Usage.
- Check Point: Permite nomear e sequenciar listas de monitoramento para coletar métricas em momentos distintos.
- Log: Exibe os dados coletados (DateTime, estado, memória privada, handles e threads).
- Ao finalizar a coleta, utilize o botão Salvar para exportar os dados do log para análise posterior ou envio à equipe de suporte.
