Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cada consulta y mutación de GraphQL ejecutada a través de la API de Fabric para GraphQL genera registros de operaciones detallados que capturan métricas de rendimiento, texto de consulta, detalles de autenticación y resultados de ejecución. Estos registros se recopilan y almacenan automáticamente en la base de datos de supervisión del área de trabajo, lo que proporciona visibilidad sobre cómo se usan las API de GraphQL y cómo se realizan.
Los registros de operaciones de GraphQL forman parte de la funcionalidad de supervisión del área de trabajo de Fabric. Al habilitar la supervisión del área de trabajo, Fabric crea una base de datos de Eventhouse en el área de trabajo que recopila continuamente registros de todas las API de GraphQL. Puede consultar estos registros mediante KQL (lenguaje de consulta kusto) para solucionar problemas, optimizar el rendimiento, realizar un seguimiento de los patrones de uso y asegurarse de que las API cumplen los requisitos del Acuerdo de Nivel de Servicio.
Prerrequisitos
Para acceder a los registros de operaciones de GraphQL y consultar:
- Habilitación de la supervisión del área de trabajo en el área de trabajo de Fabric
- Acceso a la base de datos KQL del centro de eventos creada para el área de trabajo
- Familiaridad con el lenguaje de consulta kusto (KQL) para consultar los registros
Una vez habilitada la supervisión, las operaciones de GraphQL se registran automáticamente en dos tablas: GraphQLMetrics para métricas agregadas y GraphQLLog para registros de operaciones detallados.
Quién usa los registros de operaciones de GraphQL
Los registros de operaciones y la supervisión son esenciales para:
- Administradores del área de trabajo de Fabric que supervisan el uso, el rendimiento y el consumo de capacidad de GraphQL API
- Ingenieros de datos que rastrean los patrones de acceso a datos y optimizan las consultas de almacenamiento y lakehouse de Fabric
- Los equipos de DevOps garantizan que las aplicaciones de producción que consumen datos de Fabric cumplen los requisitos del Acuerdo de Nivel de Servicio
- Administradores de capacidad de Fabric que comprenden las métricas de consumo de API para el planeamiento de la capacidad y la administración de costos
Use los registros de operaciones cuando necesite supervisar, solucionar problemas o analizar el rendimiento y el uso de las API de GraphQL de Fabric.
Registros de operaciones de GraphQL
Un evento de registro para cada consulta ejecutada por fabric API for GraphQL en sus orígenes de datos conectados se almacena en dos tablas complementarias:
- GraphQLMetrics: contiene datos de métricas agregados con resúmenes específicos del tiempo, ideales para la supervisión del rendimiento y el análisis de tendencias.
- GraphQLLog: contiene registros de operaciones detallados con detalles de ejecución y texto de consulta completo, ideal para solucionar problemas de consultas específicas.
Use estos registros para:
- Identificación de los cambios de comportamiento y posible degradación de la API
- Detección de consultas inusuales o intensivas en recursos
- Identificar usuarios y aplicaciones con el mayor número de consultas
- Análisis del rendimiento y las tendencias de las consultas
- Solución de problemas de consultas lentas
- Diagnóstico de problemas con consultas de GraphQL específicas
Tabla GraphQLMetrics
La GraphQLMetrics tabla almacena métricas agregadas para las operaciones de GraphQL. Use esta tabla para la supervisión del rendimiento, el planeamiento de la capacidad y la identificación de tendencias a lo largo del tiempo.
Esta tabla contiene las columnas siguientes:
| Nombre de la columna | Tipo | Descripción |
|---|---|---|
| Marca de tiempo | datetime | Marca de tiempo (UTC) de cuándo se generó la entrada de registro cuando el origen de datos creó el registro. |
| ItemId | string | Identificador único del recurso que registra los datos. |
| ItemKind | string | Tipo de artefacto que registra la operación. |
| ItemName | string | Nombre del artefacto de Fabric que registra esta operación. |
| WorkspaceId | string | Identificador único del área de trabajo de Fabric que contiene el artefacto en el que se está operando |
| WorkspaceName | string | Nombre del área de trabajo de Fabric que contiene el artefacto. |
| CapacityId | string | Identificador único de la capacidad en la que se hospeda el artefacto en el que se está operando. |
| CustomerTenantId | string | Id. de inquilino del cliente, donde se realizó la operación. |
| PlatformMonitoringTableName | string | El nombre de la tabla a los registros que pertenece (o al tipo de evento certificado del registro). El formato es <WorkloadName> + [OperationType>]+ <TelemetryType> |
| Region | string | La región del recurso que emite el evento, por ejemplo, "Este de EE. UU." o "Sur de Francia". |
| MetricTimeGrain | string | Intervalo de tiempo de la métrica (duración ISO 8601). |
| MetricUnitName | string | Unidad de la métrica. |
| MetricSumValue | long | Valor de suma agregado de una métrica durante un solo minuto. |
| DatasourceTypes | dinámico | Matriz de tipos DataSource que usa el modelo. |
| ResultCode | string | Código de error de las actividades con errores, que se usa para ampliar el uso a la confiabilidad. |
| Estado | string | Estado de la operación. La consulta se ejecutó correctamente o correctamente con errores o errores. |
Tabla GraphQLLog
La GraphQLLog tabla almacena registros de operaciones detallados para cada ejecución de consulta de GraphQL. Use esta tabla para solucionar problemas específicos de consultas, analizar texto de consulta e investigar errores o problemas de rendimiento.
Para obtener más información sobre los eventos y una exploración en profundidad del evento ExecutionMetrics, consulte Eventos y esquema.
Esta tabla contiene las columnas siguientes:
| Nombre de la columna | Tipo | Descripción |
|---|---|---|
| Marca de tiempo | datetime | Marca de tiempo (UTC) de cuándo se generó la entrada de registro cuando el origen de datos creó el registro. |
| OperationName | string | Nombre de la operación. |
| ItemId | string | Identificador único del recurso que registra los datos. |
| ItemKind | string | Tipo de artefacto que registra la operación. |
| ItemName | string | Nombre del artefacto de Fabric que registra esta operación. |
| WorkspaceId | string | Identificador único del área de trabajo de Fabric que contiene el artefacto en el que se está operando. |
| WorkspaceName | string | Nombre del área de trabajo de Fabric que contiene el artefacto. |
| CapacityId | string | Identificador único de la capacidad en la que se hospeda el artefacto en el que se está operando. |
| CorrelationId | string | Id. de actividad raíz. |
| OperationId | string | Identificador único de la operación que se registra. |
| Identidad | dinámico | Detalles de usuario y notificación. Usuario asociado a la operación que se está notificando. |
| CustomerTenantId | string | Id. de inquilino del cliente, donde se realizó la operación. |
| DurationMs | long | Tiempo de CPU transcurrido que ha pasado mientras se han procesado todas las operaciones necesarias. La unidad está en milisegundos. |
| Estado | string | Estado de la operación. La consulta se ejecutó correctamente o correctamente con errores o errores. |
| Nivel | string | Metadatos requeridos por el equipo de supervisión de la plataforma. |
| Region | string | La región del recurso que emite el evento, por ejemplo, "Este de EE. UU." o "Sur de Francia". |
| PlatformMonitoringTableName | string | El nombre de la tabla a los registros que pertenece (o al tipo de evento certificado del registro). El formato es <WorkloadName> + [OperationType>]+ <TelemetryType> |
| QueryText | string | Texto de la consulta. |
| GraphQLOverheadDurationMs | long | Sobrecarga de GraphQL en ms para una solicitud de plano de datos. |
| ProcessedBytes | long | Volumen de datos procesado en byte. |
| TransportProtocol | string | Protocolo de transporte para una solicitud. |
| QueryResultMessage | string | Esta dimensión se usa para proporcionar contexto adicional al resultado de una operación de consulta. |
Consultas de ejemplo
Use estas consultas de KQL para analizar los registros de operaciones de GraphQL. Puede ejecutar estas consultas directamente en el editor de consultas de Eventhouse dentro del área de trabajo.
Búsqueda de consultas lentas
Identifique las consultas de GraphQL que tardan más de 5 segundos en ejecutarse:
GraphQLLog
| where DurationMs > 5000
| project Timestamp, ItemName, DurationMs, QueryText, Status, Identity
| order by DurationMs desc
| take 20
Principales usuarios por recuento de consultas
Busque qué usuarios o aplicaciones realizan más solicitudes de GraphQL:
GraphQLLog
| summarize QueryCount = count() by Identity
| order by QueryCount desc
| take 10
Análisis de la tasa de errores
Calcule la tasa de errores para las operaciones de GraphQL a lo largo del tiempo:
GraphQLLog
| summarize
TotalQueries = count(),
FailedQueries = countif(Status == "failed"),
ErrorRate = (countif(Status == "failed") * 100.0) / count()
by bin(Timestamp, 1h)
| order by Timestamp desc
La mayoría de las consultas que consumen muchos recursos
Identifique las consultas que procesan la mayor cantidad de datos:
GraphQLLog
| where ProcessedBytes > 0
| project Timestamp, ItemName, ProcessedBytes, QueryText, DurationMs
| order by ProcessedBytes desc
| take 20
Tendencias de rendimiento de consultas
Analice el rendimiento medio de las consultas en las últimas 24 horas:
GraphQLMetrics
| where Timestamp > ago(24h)
| summarize
AvgDuration = avg(MetricSumValue),
MaxDuration = max(MetricSumValue),
QueryCount = count()
by bin(Timestamp, 1h), ItemName
| order by Timestamp desc
Para obtener más ejemplos de supervisión del área de trabajo, visite la supervisión del área de trabajo en el repositorio de GitHub de ejemplos de Fabric.