Guia de rastreamento dinâmico Solaris

Visão geral

O provedor lockstat disponibiliza dois tipos de testes: testes de evento de conteúdo e testes de evento de manutenção.

Evento de contenção os testes correspondem à contenção em uma sincronização primitiva, e são acionados quando um segmento é forçado a aguardar que um recurso se torne disponível. O Solaris é geralmente otimizado para o caso de não-contenção, sendo assim, a contenção prolongada não é esperada. Estes testes devem ser usados para compreender esses casos onde a contenção acontece. Como a contenção é relativamente rara, ativar os testes de evento de contenção geralmente não afeta substancialmente o desempenho.

Testes de evento de manutenção que correspondem a adquirir, liberar ou manipular uma sincronização primitiva. Estes testes podem ser usados para responder a questões arbitrárias sobre a forma em que as sincronizações primitivas são manipuladas. Como o Solaris adquire e libera as sincronizações primitivas muito freqüentemente (na ordem de milhões de vezes por segundo por CPU em um sistema ocupado), ativar testes de evento de manutenção tem um efeito de teste muito mais alto que ativar os testes de evento de contenção. Enquanto o efeito de teste induzido pela ativação deles pode ser substancial, ele não é patológico; eles ainda podem ser ativados com confiança em sistemas de produção.

O provedor lockstat disponibiliza os testes que correspondem às sincronizações primitivas diferentes no Solaris; estas primitivas e os testes que correspondem a elas são discutidas no restante deste capítulo.