REGENT APPLICATIONS
...
Instrumentação
.NET
19 min
1\ instale o tracer execute o script a seguir no powershell com privilégios de administrador win x32 invoke webrequest uri "https //65a internal sa s3 sa east 1 amazonaws com/cdn/dotnet/dd dotnet agent x86 msi" method "get" outfile "dotnet tracer msi"; start process filepath "$env\ systemroot\system32\msiexec exe" argumentlist "/i `"dotnet tracer msi`" /n /passive installfolder=`"c \program files\dotnettracer`" installfolder 32=`"c \program files\dotnettracer`"" wait; remove item path \dotnet tracer msi; win x64 invoke webrequest uri "https //65a internal sa s3 sa east 1 amazonaws com/cdn/dotnet/dd dotnet agent x64 msi" method "get" outfile "dotnet tracer msi"; start process filepath "$env\ systemroot\system32\msiexec exe" argumentlist "/i `"dotnet tracer msi`" /n /passive installfolder=`"c \program files\dotnettracer`" installfolder 32=`"c \program files\dotnettracer`"" wait; remove item path \dotnet tracer msi; 2\ habilite o tracer para a sua aplicação configuração via powershell execute o script a seguir no powershell com privilégios de administrador substitua os seguintes valores \<env> ambiente da aplicação (exemplo hom, prod) \<version> versão da aplicação (se desconhecido, remova essa variável) \<endereco do agent> endereço ip ou hostname do agente que hospeda o tracer windows iis $target=\[system environmentvariabletarget] process \[system environment] setenvironmentvariable("coreclr enable profiling","1",$target) \[system environment] setenvironmentvariable("coreclr profiler","{846f5f1c f9ae 4b07 969e 05c26bc060d8}",$target) \[system environment] setenvironmentvariable("cor enable profiling","1",$target) \[system environment] setenvironmentvariable("cor profiler","{846f5f1c f9ae 4b07 969e 05c26bc060d8}",$target) \[system environment] setenvironmentvariable("dd env","\<env>",$target) \[system environment] setenvironmentvariable("dd version","\<version>",$target) \[system environment] setenvironmentvariable("dd agent host","\<endereco do agent>",$target) \[system environment] setenvironmentvariable("dd logs injection","true",$target) \[system environment] setenvironmentvariable("dd trace sample rate","1",$target) \[system environment] setenvironmentvariable("dd runtime metrics enabled","true",$target) shell $target=\[system environmentvariabletarget] machine \[system environment] setenvironmentvariable("coreclr enable profiling","1",$target) \[system environment] setenvironmentvariable("coreclr profiler","{846f5f1c f9ae 4b07 969e 05c26bc060d8}",$target) \[system environment] setenvironmentvariable("dd env","\<env>",$target) \[system environment] setenvironmentvariable("dd version","\<version>",$target) \[system environment] setenvironmentvariable("dd agent host","\<endereco do agent>",$target) \[system environment] setenvironmentvariable("dd logs injection","true",$target) \[system environment] setenvironmentvariable("dd trace sample rate","1",$target) \[system environment] setenvironmentvariable("dd runtime metrics enabled","true",$target) 3\ reinicie os serviços de informação para internet (apenas iis) para reiniciar os serviços no iis, execute o seguinte comando no powershell com privilégios de administrador net stop was /y net start w3svc 4\ criar carga de dados na aplicação para validar o funcionamento do tracer, execute uma carga de trabalho representativa na aplicação monitorada 5\ configurações avançadas você pode definir configurações no net tracer com qualquer um dos seguintes métodos variáveis de ambiente configuração de instrumentação automática para o net tracer para instrumentar automaticamente seu serviço com o net tracer, é necessário definir as variáveis de ambiente apropriadas antes de iniciar o aplicativo siga os exemplos abaixo para configurar corretamente as variáveis de ambiente a partir da versão v2 14 0 , não é necessário definir a variável cor profiler caso o tracer tenha sido instalado usando o instalador msi a partir da versão v2 14 0 , não é necessário definir a variável cor profiler caso o tracer tenha sido instalado usando o instalador msi 1\ serviços do windows para configurar variáveis de ambiente para serviços do windows, use o editor de registro ou powershell configuração com powershell substitua \<service name> pelo nome do serviço alvo e execute o comando abaixo no powershell powershellcopiareditar\[string\[]] $v = @("cor enable profiling=1", "cor profiler={846f5f1c f9ae 4b07 969e 05c26bc060d8}") set itemproperty hklm\ system\currentcontrolset\services\\\<service name> name environment value $v 2\ iis (internet information services) após instalar o msi nenhuma configuração adicional é necessária para instrumentar automaticamente seus sites do iis definir variáveis de ambiente adicionais para todos os sites do iis abra o editor do registro navegue até a chave hklm\system\currentcontrolset\services\was localize o valor multi string chamado environment adicione as variáveis de ambiente necessárias, uma por linha exemplo para habilitar injeção de logs e métricas de tempo de execução, adicione dd logs injection=true dd runtime metrics enabled=true execute os seguintes comandos no powershell ou prompt de comando para reiniciar o iis net stop was /y net start w3svc certifique se de reiniciar quaisquer outros serviços que foram parados ao desligar o was 3\ aplicativos de console para instrumentar automaticamente um aplicativo de console, configure as variáveis de ambiente em um arquivo em lote antes de iniciar o aplicativo exemplo de arquivo em lote rem configuração de variáveis de ambiente set cor enable profiling=1 rem a partir da v2 14 0+ e instalação com msi, esta variável não é necessária set cor profiler={846f5f1c f9ae 4b07 969e 05c26bc060d8} rem definir variáveis adicionais do datadog set dd logs injection=true set dd runtime metrics enabled=true rem iniciar o aplicativo dotnet exe example dll resumo das variáveis de ambiente variável descrição cor enable profiling habilita o profiling no net cor profiler define o identificador do profiler (não necessário na v2 14 0+) dd logs injection habilita a injeção de logs para rastreamento dd runtime metrics enabled habilita a coleta de métricas de tempo de execução código para configurar o tracer diretamente no código do aplicativo, siga os passos abaixo essa abordagem permite configurar o tracer programaticamente, garantindo flexibilidade na definição de propriedades e ajustes criar uma instância de tracersettings use o método tracersettings fromdefaultsources() para criar uma instância de configuração a partir das fontes padrão (variáveis de ambiente, arquivos de configuração como web config ou datadog json) definir as propriedades necessárias antes de chamar o método tracer configure(), defina as propriedades desejadas na instância de tracersettings importante qualquer alteração feita após a criação do tracer será ignorada configurar o tracer globalmente após ajustar as propriedades, use tracer configure(settings) para aplicar a configuração exemplo de código using datadog trace; using datadog trace configuration; // cria uma instância de tracersettings a partir das fontes padrão var settings = tracersettings fromdefaultsources(); // configura o ambiente settings environment = "prod"; // define o nome do serviço settings servicename = "myservice"; // define a versão do serviço settings serviceversion = "abc123"; // configura o endereço do agente datadog (a partir da versão v2 de datadog trace) settings agenturi = new uri("http //localhost 8126/"); // aplica a configuração globalmente tracer configure(settings); propriedade descrição environment define o ambiente do serviço (ex prod, staging, dev) servicename define o nome do serviço para fins de rastreamento e monitoramento serviceversion define a versão do serviço para melhor identificação nos rastreamentos agenturi url do agente datadog para envio dos dados de rastreamento definição antes da criação do tracer certifique se de definir todas as configurações necessárias na instância de tracersettings antes de chamar tracer configure() alterações feitas após a configuração global serão ignoradas compatibilidade com v2 do datadog trace a partir da versão 2 do pacote datadog trace, utilize a propriedade settings agenturi para configurar o endereço do agente arquivo json para configurar o tracer utilizando um arquivo json, siga os passos abaixo essa abordagem permite centralizar as definições de configuração em um arquivo acessível diretamente pelo aplicativo crie um arquivo json no diretório do aplicativo nomeie o arquivo como datadog json e salve o no mesmo diretório onde o aplicativo instrumentado está localizado defina as configurações no arquivo o arquivo json deve conter pares de chave valor para cada configuração use as variáveis apropriadas de ambiente do datadog { "dd trace agent url" "http //localhost 8126", "dd env" "prod", "dd service" "myservice", "dd version" "abc123" } definições de configuração as configurações podem ser personalizadas usando as variáveis listadas abaixo você pode utilizá las no arquivo json, como variáveis de ambiente ou diretamente no código por meio da classe tracersettings variável de configuração descrição propriedade em tracersettings dd trace agent url url do agente datadog para envio de dados de rastreamento (ex http //localhost 8126) exporter agenturi dd env define o ambiente do serviço (ex prod, staging, dev) environment dd service define o nome do serviço para rastreamento servicename dd version define a versão do serviço para melhor identificação nos rastreamentos serviceversion personalização do rastreamento ao utilizar o arquivo json, o tracer irá automaticamente buscar as configurações durante a inicialização essa abordagem é ideal para ambientes onde as configurações podem variar entre implementações integração com o código caso você precise configurar o tracer no código, utilize a classe tracersettings para alterar propriedades como environment, servicename e agenturi exemplo no código using datadog trace; using datadog trace configuration; // carrega configurações do json, env vars ou web config var settings = tracersettings fromdefaultsources(); // configura o tracer com base nas propriedades ajustadas tracer configure(settings);

