共用方式為


使用開啟遙測和活動追蹤

Data API Builder (DAB) 支援適用於分散式追蹤和計量的 OpenTelemetry,可讓您監視和診斷應用程式在 REST、GraphQL、資料庫作業和內部中間件的行為。

數據 API 產生器追蹤

DAB 會為下列專案建立 OpenTelemetry “activities” :

  • 連入 HTTP 要求 (REST 端點)
  • GraphQL operations
  • Database queries (per entity)
  • 內部中間件步驟 (例如要求處理、錯誤追蹤)

每個活動都包含詳細的標記(元數據),例如:

  • http.methodhttp.urlhttp.querystringstatus.code
  • action.type (CRUD、GraphQL 作業)
  • user.roleuser-agent
  • data-source.typedata-source.name
  • api.type (REST 或 GraphQL)

錯誤和例外狀況也會以詳細資訊進行追蹤。

數據 API 產生器計量

DAB 會發出 OpenTelemetry 計量,例如:

  • 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.

計量會使用 .NET Meter API 和 OpenTelemetry SDK。

Configuration

open-telemetry 在組態檔中新增 區runtime.telemetry段。

{
    "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

匯出和視覺效果

遙測會透過 .NET OpenTelemetry SDK 導出至您設定的後端,例如 Azure 監視器或 Jaeger。 請確定您的後端正在執行,並在指定的 endpoint可連線。

Implementation Notes

  • 追蹤和計量涵蓋所有 REST、GraphQL 和 DB 作業
  • 中間件和錯誤處理程式也會發出遙測
  • 內容會透過要求傳播