Consulta todas as configurações personalizadas de uma aplicação específica no Application Monitoring, como configurações de amostragem de rastreamento e switches de agente. Esta operação aplica-se apenas a aplicações integradas com o Application Monitoring e não se aplica a aplicações integradas com o Tracing Analysis OpenTelemetry Edition.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
arms:GetTraceAppConfig |
get |
*TraceApp.
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| Pid |
string |
Sim |
O ID da aplicação. Você pode obter o Pid usando um dos seguintes métodos:
Importante
|
a2n80plglh@745eddxxx |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Esquema da resposta. |
||
| RequestId |
string |
O ID da solicitação. |
78901766-3806-4E96-8E47-CFEF59E4**** |
| Data |
string |
As configurações personalizadas da aplicação. O valor é uma string JSON. Para o significado de cada configuração, consulte a Descrição suplementar dos parâmetros de resposta. |
{"profiler":{"enable":true}} |
| Message |
string |
A mensagem retornada. |
Application configuration queried successfully |
| Code |
integer |
O código de status. Valores válidos:
|
200 |
| Success |
boolean |
Indica se a consulta foi bem-sucedida. Valores válidos:
|
true |
Nas configurações personalizadas retornadas, cada JSONPath e seu respectivo switch são os seguintes. (Nota: Devido a diferentes tempos de modificação, uma determinada configuração pode não existir nas configurações personalizadas retornadas. Nesse caso, o valor padrão entra em vigor.)
Configurações de amostragem
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Estratégia de amostragem | profiler.sampling.useSamplingStrategyV2 | boolean | Valores válidos: - true: amostragem adaptativa.- false: taxa de amostragem fixa. | false |
| Porcentagem da taxa de amostragem | profiler.sampling.rate | double | Um valor de 0 a 100. Entra em vigor no modo de taxa de amostragem fixa. | 10 |
| Nomes de interfaces totalmente amostradas | profiler.sampling.v2config.spanNames4FullSampleStr | String | Os nomes das interfaces totalmente amostradas. Separe vários nomes com vírgulas (,). | String vazia |
| Prefixos de interfaces totalmente amostradas | profiler.sampling.v2config.spanNamePrefixes4FullSampleStr | String | Os prefixos das interfaces totalmente amostradas. | String vazia |
| Sufixos de interfaces totalmente amostradas | profiler.sampling.v2config.spanNameSuffixes4FullSampleStr | String | Os sufixos das interfaces totalmente amostradas. | String vazia |
Configurações de switches do agente
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Switch do Application Monitoring | profiler.enable | boolean | Valores válidos: - true: ativa o Application Monitoring.- false: desativa o Application Monitoring. | true |
| Switch do plug-in Dubbo | profiler.dubbo.enable | boolean | Valores válidos: - true: ativa o plug-in Dubbo.- false: desativa o plug-in Dubbo. | true |
| Switch do plug-in MongoDB | profiler.mongodb.enable | boolean | Valores válidos: - true: ativa o plug-in MongoDB.- false: desativa o plug-in MongoDB. | true |
| Switch do plug-in HSF | profiler.hsf.enable | boolean | Valores válidos: - true: ativa o plug-in HSF.- false: desativa o plug-in HSF. | true |
| Switch do plug-in HttpClient3 | profiler.httpclient3.enable | boolean | Valores válidos: - true: ativa o plug-in HttpClient3.- false: desativa o plug-in HttpClient3. | true |
| Switch do plug-in HttpClient4 | profiler.httpclient4.enable | boolean | Valores válidos: - true: ativa o plug-in HttpClient4.- false: desativa o plug-in HttpClient4. | true |
| Switch do plug-in JDK HTTP | profiler.jdkhttp.enable | boolean | Valores válidos: - true: ativa o plug-in JDK HTTP.- false: desativa o plug-in JDK HTTP. | true |
| Switch do plug-in Jetty | profiler.jetty.enable | boolean | Valores válidos: - true: ativa o plug-in Jetty.- false: desativa o plug-in Jetty. | true |
| Switch do plug-in MyBatis | profiler.mybatis.enable | boolean | Valores válidos: - true: ativa o plug-in MyBatis.- false: desativa o plug-in MyBatis. | true |
| Switch do plug-in MySQL | profiler.mysql.enable | boolean | Valores válidos: - true: ativa o plug-in MySQL.- false: desativa o plug-in MySQL. | true |
| Switch do plug-in OkHttp | profiler.okhttp.enable | boolean | Valores válidos: - true: ativa o plug-in OkHttp.- false: desativa o plug-in OkHttp. | true |
| Switch do plug-in Oracle | profiler.oracle.enable | boolean | Valores válidos: - true: ativa o plug-in Oracle.- false: desativa o plug-in Oracle. | true |
| Switch do plug-in PostgreSQL | profiler.postgresql.enable | boolean | Valores válidos: - true: ativa o plug-in PostgreSQL.- false: desativa o plug-in PostgreSQL. | true |
| Switch do plug-in Redis | profiler.redis.enable | boolean | Valores válidos: - true: ativa o plug-in Redis.- false: desativa o plug-in Redis. | true |
| Switch do plug-in Spring | profiler.spring.enable | boolean | Valores válidos: - true: ativa o plug-in Spring.- false: desativa o plug-in Spring. | true |
| Switch do plug-in Spring Boot | profiler.springboot.enable | boolean | Valores válidos: - true: ativa o plug-in Spring Boot.- false: desativa o plug-in Spring Boot. | true |
| Switch do plug-in Tomcat | profiler.tomcat.enable | boolean | Valores válidos: - true: ativa o plug-in Tomcat.- false: desativa o plug-in Tomcat. | true |
| Switch do plug-in Lettuce | profiler.lettuce.enable | boolean | Valores válidos: - true: ativa o plug-in Lettuce.- false: desativa o plug-in Lettuce. | true |
| Switch do plug-in gRPC | profiler.grpc.enable | boolean | Valores válidos: - true: ativa o plug-in gRPC.- false: desativa o plug-in gRPC. | true |
| Switch do plug-in Thrift | profiler.thrift.enable | boolean | Valores válidos: - true: ativa o plug-in Thrift.- false: desativa o plug-in Thrift. | true |
| Switch do plug-in Hystrix | profiler.hystrix.enable | boolean | Valores válidos: - true: ativa o plug-in Hystrix.- false: desativa o plug-in Hystrix. | true |
| Switch do plug-in RxJava | profiler.rxjava.enable | boolean | Valores válidos: - true: ativa o plug-in RxJava.- false: desativa o plug-in RxJava. | true |
| Switch do plug-in Memcached | profiler.memcached.enable | boolean | Valores válidos: - true: ativa o plug-in Memcached.- false: desativa o plug-in Memcached. | true |
| Switch do plug-in Druid | profiler.jdbc.druid.enable | boolean | Valores válidos: - true: ativa o plug-in Druid.- false: desativa o plug-in Druid. | true |
| Switch do plug-in WebLogic | profiler.weblogic.enable | boolean | Valores válidos: - true: ativa o plug-in WebLogic.- false: desativa o plug-in WebLogic. | true |
| Switch do plug-in ElasticJob | profiler.elasticjob.enable | boolean | Valores válidos: - true: ativa o plug-in ElasticJob.- false: desativa o plug-in ElasticJob. | true |
| Switch do plug-in Elasticsearch | profiler.elasticsearch.enable | boolean | Valores válidos: - true: ativa o plug-in Elasticsearch.- false: desativa o plug-in Elasticsearch. | true |
| Switch do plug-in HikariCP | profiler.jdbc.hikaricp.enable | boolean | Valores válidos: - true: ativa o plug-in HikariCP.- false: desativa o plug-in HikariCP. | true |
| Switch do plug-in InfluxDB | profiler.influxdb.enable | boolean | Valores válidos: - true: ativa o plug-in InfluxDB.- false: desativa o plug-in InfluxDB. | true |
| Switch do plug-in Kafka | profiler.kafka.enable | boolean | Valores válidos: - true: ativa o plug-in Kafka.- false: desativa o plug-in Kafka. | true |
| Switch do plug-in Netty | profiler.netty.enable | boolean | Valores válidos: - true: ativa o plug-in Netty.- false: desativa o plug-in Netty. | true |
| Switch do plug-in Play | profiler.play.enable | boolean | Valores válidos: - true: ativa o plug-in Play.- false: desativa o plug-in Play. | true |
| Switch do plug-in Reactor | profiler.reactor.enable | boolean | Valores válidos: - true: ativa o plug-in Reactor.- false: desativa o plug-in Reactor. | true |
| Switch do plug-in Redisson | profiler.redis.redisson.enable | boolean | Valores válidos: - true: ativa o plug-in Redisson.- false: desativa o plug-in Redisson. | true |
| Switch do plug-in RabbitMQ | profiler.rabbitmq.client.enable | boolean | Valores válidos: - true: ativa o plug-in RabbitMQ.- false: desativa o plug-in RabbitMQ. | true |
| Switch do plug-in SchedulerX | profiler.schedulerx.enable | boolean | Valores válidos: - true: ativa o plug-in SchedulerX.- false: desativa o plug-in SchedulerX. | true |
| Switch do plug-in Undertow | profiler.undertow.enable | boolean | Valores válidos: - true: ativa o plug-in Undertow.- false: desativa o plug-in Undertow. | true |
| Switch do plug-in Vert.x | profiler.vertx.enable | boolean | Valores válidos: - true: ativa o plug-in Vert.x.- false: desativa o plug-in Vert.x. | true |
| Switch do plug-in XXL-JOB | profiler.xxljob.enable | boolean | Valores válidos: - true: ativa o plug-in XXL-JOB.- false: desativa o plug-in XXL-JOB. | true |
| Switch do plug-in ONS Client | profiler.onsclient.enable | boolean | Valores válidos: - true: ativa o plug-in ONS Client.- false: desativa o plug-in ONS Client. | true |
| Switch do plug-in Quartz | profiler.quartz.enable | boolean | Valores válidos: - true: ativa o plug-in Quartz.- false: desativa o plug-in Quartz. | true |
| Switch do plug-in Servlet | profiler.servlet.enable | boolean | Valores válidos: - true: ativa o plug-in Servlet.- false: desativa o plug-in Servlet. | true |
| Switch do plug-in Liberty | profiler.liberty.enable | boolean | Valores válidos: - true: ativa o plug-in Liberty.- false: desativa o plug-in Liberty. | true |
| Switch do plug-in Akka | profiler.akka.enable | boolean | Valores válidos: - true: ativa o plug-in Akka.- false: desativa o plug-in Akka. | true |
| Switch do plug-in Cassandra | profiler.cassandra.enable | boolean | Valores válidos: - true: ativa o plug-in Cassandra.- false: desativa o plug-in Cassandra. | true |
| Switch do plug-in OpenTelemetry | profiler.opentelemetry.enable | boolean | Valores válidos: - true: ativa o plug-in OpenTelemetry.- false: desativa o plug-in OpenTelemetry. | true |
| Switch do plug-in Google HTTP Client | profiler.googlehttpclient.enable | boolean | Valores válidos: - true: ativa o plug-in Google HTTP Client.- false: desativa o plug-in Google HTTP Client. | true |
| Switch do plug-in Ning | profiler.ning.asynchttpclient.enable | boolean | Valores válidos: - true: ativa o plug-in Ning.- false: desativa o plug-in Ning. | true |
Configurações de análise de threads
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Switch principal de análise de threads | profiler.tprof.enableJvmThreadStatistic | boolean | Valores válidos: - true: ativa a análise de threads.- false: desativa a análise de threads. | true |
| Salvar periodicamente informações de pilha de métodos locais | profiler.tprof.enableThreadStackRecorder | boolean | Valores válidos: - true: ativa o salvamento periódico de pilhas de métodos locais.- false: desativa o salvamento periódico de pilhas de métodos locais. | false |
| Limiar de chamadas de alta duração | profiler.tprof. threadProfilerSlowInteractionRt | int | Unidade: milissegundos. As chamadas que excedem esse limiar salvam automaticamente a pilha de métodos locais. | 2000 |
Configurações de associação de logs da aplicação
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Fonte de log | profiler.logSource | String | Valores válidos: - sls: Simple Log Service. | sls |
| Associar automaticamente logs de negócios ao TraceId | profiler.logging.enable | boolean | Valores válidos: - true: ativa o recurso de associação.- false: desativa o recurso de associação. | true |
| Preencher automaticamente o TraceId nos logs | profiler.logging.injectTraceId2Log.enable | boolean | Valores válidos: - true: ativa o recurso de preenchimento automático.- false: desativa o recurso de preenchimento automático.Entra em vigor para versões do agente 4.1.6 e posteriores. | true |
| Preencher automaticamente o SpanId nos logs | profiler.logging.injectSpanId2Log.enable | boolean | Valores válidos: - true: ativa o recurso de preenchimento automático.- false: desativa o recurso de preenchimento automático.Entra em vigor para versões do agente 4.1.6 e posteriores. | true |
| Vinculação do Log Service - Região | profiler.SLS.regionId | String | A região onde reside a fonte de log associada. | String vazia |
| Vinculação do Log Service - Projeto | profiler.SLS.project | String | O projeto ao qual a fonte de log associada pertence. | String vazia |
| Vinculação do Log Service - Logstore | profiler.SLS.logStore | String | O Logstore da fonte de log associada. | String vazia |
| Vinculação do Log Service - Índice associado | profiler.SLS.index | String | O índice da fonte de log associada. | String vazia |
Configurações de convergência de URL
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Convergir URLs | profiler.convergence.enable | boolean | Valores válidos: - true: ativa o recurso de convergência de URL.- false: desativa o recurso de convergência de URL. | true |
| Limiar de convergência | profiler.convergence.minServerSize | long | A convergência é realizada quando o valor excede esse limiar. | 1000 |
| Regras de convergência | profiler.convergence.pattern | String | Cada regra é uma expressão regular. Exemplo: /service/(.*?)/demo.Separe várias regras com vírgulas (,). | String vazia |
Configurações do Arthas
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Switch do Arthas | profiler.arthas.enable | boolean | Valores válidos: - true: ativa o Arthas.- false: desativa o Arthas. | false |
| Endereços IP em tempo real efetivos | profiler.arthas.enableIps | string | Os endereços IP para os quais o Arthas está ativado. Separe vários endereços IP com vírgulas (,). Uma string vazia indica que o Arthas entra em vigor para todos os endereços IP. | String vazia |
Configurações de profiling contínuo
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Switch principal | profiler.cp.enable | boolean | Valores válidos: - true: ativa o profiling contínuo.- false: desativa o profiling contínuo.*Após a ativação deste switch, dois modos de configuração estão disponíveis. Consulte a tabela a seguir. | false |
| Hotspots de CPU | profiler.cp.cpuEnable | boolean | Valores válidos: - true: ativa o recurso de hotspots de CPU.- false: desativa o recurso de hotspots de CPU. | false |
| Hotspots de memória | profiler.cp.allocEnable | boolean | Valores válidos: - true: ativa o recurso de hotspots de memória.- false: desativa o recurso de hotspots de memória. | false |
| Hotspots de código | profiler.cp.wallClockEnable | boolean | Valores válidos: - true: ativa o recurso de hotspots de código.- false: desativa o recurso de hotspots de código. | false |
| Modo | Chave | Descrição do campo | Valor |
|---|---|---|---|
| Lista de permissões de endereços IP | cp.allowIPs | Lista de permissões de endereços IP | Os endereços IP das instâncias para as quais o profiling contínuo está ativado. Separe vários endereços IP com vírgulas (,). Exemplo: 192.168.0.1,192.168.0.2 |
| cp.allowNetwork | Bloco CIDR | Passe uma string de caracteres vazia. Caso contrário, o recurso não poderá ser usado corretamente. | |
| Bloco CIDR | cp.allowIPs | Lista de permissões de endereços IP | Passe uma string de caracteres vazia. Caso contrário, o recurso não poderá ser usado corretamente. |
| cp.allowNetwork | Bloco CIDR | O recurso é ativado para instâncias IP que se enquadram neste intervalo de endereços. Exemplo: 192.168.2.0/24 |
Configurações de mascaramento de dados
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Switch de mascaramento | profiler.sanitizer.enable | boolean | Valores válidos: - true: ativa o recurso de mascaramento.- false: desativa o recurso de mascaramento. | true |
| Regras de mascaramento | profiler.sanitizer.keys | String | As regras de correspondência para chaves sensíveis. As regras não diferenciam maiúsculas de minúsculas. Separe várias regras com vírgulas (,). | true |
Configurações de chamadas de interface
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Limiar de chamadas lentas | profiler.thresholds.interface | long | Unidade: milissegundos. Os tempos de resposta que excedem esse limiar são marcados como chamadas lentas. | 500 |
| Lista de permissões de exceções | profiler.exception.whitelist | String | As expressões regulares para nomes de exceções. As exceções que correspondem à lista de permissões são excluídas das estatísticas de gráficos relacionados a exceções. Separe várias regras com vírgulas (,). | String vazia |
| Filtrar exceções por herança de classe pai | profiler.exception.filterByParentClass | boolean | Valores válidos: - true: ativa este recurso.- false: desativa este recurso.Após a ativação deste recurso, você pode configurar exceções de classe pai na filtragem de exceções. Entra em vigor para versões do agente 4.1.6 e posteriores. | true |
| Lista de permissões de códigos de status HTTP | profiler.error.skip | String | Os códigos de status HTTP a serem ignorados. Os códigos de status na lista de permissões são ignorados nas estatísticas de erros. Separe vários códigos de status com vírgulas (,). | String vazia |
| Filtrar chamadas de interface inválidas | profiler.defined.excludeurl | String | As chamadas de interface a serem ignoradas. Cada regra é uma expressão regular. Separe várias regras com vírgulas (,). | /**/*.jpg,/**/*.png,/**/*.js, /**/*.jpeg,/**/*.pdf,/**/*.xlsx, /**/*.txt,/**/*.docs,/**/*.gif, /**/*.csv |
Configurações de chamadas de banco de dados
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Limiar de SQL lento | profiler.thresholds.sql | long | Unidade: milissegundos. As chamadas SQL que excedem esse limiar são marcadas como chamadas lentas. | 500 |
| Comprimento máximo de retenção para instruções SQL coletadas | profiler.callsql.maxLength | long | As instruções SQL que excedem esse limiar são truncadas. | 1024 |
| Exibir valores de vinculação de variáveis em instruções SQL | profiler.jdbc.tracesqlbindvalue | boolean | Valores válidos: - true: ativa este recurso.- false: desativa este recurso.Após a ativação deste recurso, os valores de variáveis vinculados aos parâmetros PrepareStatement são capturados e exibidos na página. Apenas o MySQL é suportado. | false |
| Exibir valores constantes em instruções SQL | profiler.jdbc. tracesqlraw | boolean | Valores válidos: - true: ativa este recurso.- false: desativa este recurso.Após a ativação deste recurso, as instruções SQL originais são capturadas. | false |
Configurações de protocolo de propagação de contexto de rastreamento
Nota: As configurações de protocolo de propagação de contexto de rastreamento entram em vigor apenas para versões do agente 4.1.x e posteriores.
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Protocolo de propagação | profiler.trace.protocol.name | String | Valores válidos: - Unset: não definido.- W3C : OpenTelemetry - W3C.- SkyWalking : SkyWalking.- Zipkin : Zipkin - B3.- Jaeger : Jaeger.- EagleEye : EagleEye. | Unset |
| Modo de propagação | profiler.trace.protocol. strategy | String | Valores válidos: - PriorityUse : prioridade.- ForceUse : forçado. | PriorityUse |
Configurações avançadas
| Descrição da configuração | JSONPath | Tipo | Observações | Valor padrão |
| Número máximo de rastreamentos coletados pelo agente por segundo | profiler.thresholds.limit | int | Uma medida de proteção para evitar que a coleta de rastreamentos afete as operações normais de negócios em cenários de alto tráfego. | 100 |
| Comprimento máximo de retenção para pilhas de métodos | profiler.callstack.maxLength | int | As pilhas de métodos que excedem este comprimento são truncadas durante a coleta. Esta configuração está obsoleta para versões do agente 4.0.0 e posteriores. | 128 |
| Profundidade de diferenciação de rastreamento de pilha para exceções semelhantes | profiler.exception.stacktrace | int | Identifica exceções do mesmo tipo com base nesta profundidade de pilha. | 2 |
| Comprimento máximo de exibição para parâmetros de entrada da solicitação | profiler.param.maxLength | int | O comprimento máximo de exibição para parâmetros de entrada da solicitação. | 512 |
| Consumidores personalizados do RabbitMQ | profiler.rabbitmq.client.consumer.classes | String | Os nomes de classe totalmente qualificados dos consumidores do RabbitMQ. Separe vários consumidores com vírgulas (,). Esta configuração está obsoleta para versões do agente 4.0.0 e posteriores. | String vazia |
| Métodos de consumo personalizados do Kafka | profiler.kafka.consumer.entryPoint | String | Os pontos de entrada de consumo para consumidores do Kafka. Esta configuração está obsoleta para versões do agente 4.0.0 e posteriores. | String vazia |
| Propagar automaticamente o contexto no envio de mensagens do Kafka | profiler.kafka.enableInjectKafkaHeaders | boolean | Especifica se deve adicionar automaticamente cabeçalhos às mensagens do Kafka durante o envio para associar os rastreamentos de envio e consumo. Esta configuração está obsoleta para versões do agente 4.0.0 e posteriores. | false |
| Nomes de pacotes verificados para propagação assíncrona | profiler.thread.match.package | String | Quando um Runnable, Callable ou Supplier sob o nome de pacote especificado é criado, o contexto de rastreamento é capturado automaticamente e passado para a nova thread. Separe vários nomes de pacotes com vírgulas (,). Esta configuração está obsoleta para versões do agente 4.0.0 e posteriores. | String vazia |
| Incluir TraceId na resposta HTTP | profiler.responseInject.enable | boolean | Valores válidos: - true: ativa o switch para retornar o TraceId.- false: desativa o switch para retornar o TraceId. | false |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "78901766-3806-4E96-8E47-CFEF59E4****\n",
"Data": "{\"profiler\":{\"enable\":true}}",
"Message": "Query application configuration succeeded",
"Code": 200,
"Success": true
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | ParameterPidMissing | You must specify pid. | O parâmetro pid está ausente. |
| 500 | InternalError | Internal error. Please try again. Contact the DingTalk service account if the issue persists after multiple retries. | Ocorreu um erro interno. Tente a operação novamente. Se o erro persistir após várias tentativas, entre em contato com a conta de serviço do DingTalk. |
| 404 | AppNotExist | The application does not exist. | A aplicação não existe. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.