Compartilhar via


Usar Rastreamentos de Atividade e Telemetria Aberta

O DAB (Construtor de API de Dados) dá suporte ao OpenTelemetry para rastreamento distribuído e métricas, permitindo que você monitore e diagnostice o comportamento do aplicativo em REST, GraphQL, operações de banco de dados e middleware interno.

Rastreamentos do construtor de API de Dados

O DAB cria "atividades" do OpenTelemetry para:

  • Solicitações HTTP de entrada (pontos de extremidade REST)
  • GraphQL operations
  • Database queries (per entity)
  • Etapas internas do middleware (por exemplo, tratamento de solicitação, acompanhamento de erros)

Cada atividade inclui marcas detalhadas (metadados), como:

  • http.method, http.url, , http.querystringstatus.code
  • action.type (CRUD, operação GraphQL)
  • user.role, user-agent
  • data-source.type, data-source.name
  • api.type (REST ou GraphQL)

Erros e exceções também são rastreados com informações detalhadas.

Métricas do construtor de API de Dados

O DAB emite métricas opentelemetry, como:

  • Total Requests: Counter, labeled by HTTP method, status, endpoint, and API type.
  • Errors: Counter, labeled by error type, HTTP method, status, endpoint, and API type.
  • Request Duration: Histogram (in milliseconds), labeled as above.
  • Active Requests: Up/down counter for concurrent requests.

As métricas usam a API do .NET Meter e o SDK do OpenTelemetry.

Configuration

Adicione uma open-telemetry seçãoruntime.telemetry em seu arquivo de configuração.

{
    "runtime": {
        "telemetry": {
            "open-telemetry": {
                "enabled": true,
                "endpoint": "http://otel-collector:4317",
                "service-name": "dab",
                "exporter-protocol": "grpc"
            }
        }
    }
}

CLI Options

Configure OpenTelemetry via CLI flags:

  • dab configure --otel-enabled true
  • dab configure --otel-endpoint "http://otel-collector:4317"
  • dab configure --otel-protocol "grpc"
  • dab configure --otel-service-name "dab"
  • dab configure --otel-headers

Exportar e visualizar

A telemetria é exportada por meio do SDK do .NET OpenTelemetry para o back-end configurado, como o Azure Monitor ou o Jaeger. Verifique se o back-end está em execução e acessível no especificado endpoint.

Implementation Notes

  • Rastreamentos e métricas abrangem todas as operações REST, GraphQL e BD
  • Os manipuladores de middleware e de erro também emitem telemetria
  • O contexto é propagado por meio de solicitações