Techniques for automatically modifying behavior of a compiled application
include receiving a first set of compiled instructions for the
application. The first set of compiled instructions is modified to
generate a modified set of compiled instructions. Modifying the first set
of compiled instructions includes inserting a new set of one or more
instructions for invoking a first routine that provides new behavior. The
first routine is not part of the first set of compiled instructions. These
techniques allow an administrator to automatically instrument compiled
code of an application to provide new behavior for the application without
taking the application offline for substantial periods of time. In
particular, the techniques allow a service provider to automatically
instrument existing applications, components, and sub-components to
measure and respond to server-side performance without taking the
applications offline.
As técnicas para automaticamente modificar o comportamento de uma aplicação compilada incluem a recepção de um primeiro jogo de instruções compiladas para a aplicação. O primeiro jogo de instruções compiladas é modificado para gerar um jogo modificado de instruções compiladas. Modificar o primeiro jogo de instruções compiladas inclui a introdução de um jogo novo de um ou mais instrução para invocar uma primeira rotina que forneça o comportamento novo. A primeira rotina não é parte do primeiro jogo de instruções compiladas. Estas técnicas permitem que um administrador instrument automaticamente o código compilado de uma aplicação para fornecer o comportamento novo para a aplicação sem fazer exame da aplicação fora de linha por períodos de tempo substanciais. No detalhe, as técnicas permitem que um fornecedor de serviço instrument automaticamente aplicações, componentes, e sub-components existentes para medir e responder ao desempenho do usuário-lado sem fazer exame das aplicações fora de linha.