Consulta la distribución de registros que cumplen con las condiciones de consulta especificadas en un Logstore mediante la operación GetHistograms.
Descripción de la operación
Descripción de la operación
El Host en la sintaxis de la solicitud consta del nombre del proyecto y el endpoint de Simple Log Service. Especifique el proyecto en el Host.
La división de subintervalos en la respuesta siempre es estable. Si el rango de tiempo en su solicitud de consulta permanece sin cambios, la división de subintervalos en la respuesta también permanece sin cambios.
Cuando el número de registros involucrados en una consulta cambia significativamente, la API de Simple Log Service no puede predecir cuántas veces se debe invocar esta operación para obtener resultados completos. Verifique el valor de estado de progreso en la respuesta de cada solicitud para determinar si debe invocar esta operación nuevamente para obtener los resultados finales completos. Cada invocación repetida consume la misma cantidad de CU de consulta.
- La latencia entre la escritura de un registro en un Logstore y la consulta del registro mediante operaciones de LogSearch (GetHistograms y GetLogs) varía según el tipo de registro. Simple Log Service clasifica los registros en los siguientes dos tipos según las marcas de tiempo UNIX del registro:
Datos en tiempo real: el punto temporal en el registro está dentro del rango de (-180 segundos, 900 segundos] respecto a la hora actual del servidor. Por ejemplo, si la hora del registro es UTC 2014-09-25 12:03:00 y el servidor recibe el registro a las UTC 2014-09-25 12:05:00, el registro se procesa como datos en tiempo real. La latencia desde la escritura de datos en tiempo real hasta la consulta de los datos en la interfaz de LogSearch es de 3 segundos.
Datos históricos: el punto temporal en el registro está dentro del rango de [-7x86400 segundos, -180 segundos) respecto a la hora actual del servidor. Por ejemplo, si la hora del registro es UTC 2014-09-25 12:00:00 y el servidor recibe el registro a las UTC 2014-09-25 12:05:00, el registro se procesa como datos históricos. Esto ocurre normalmente en escenarios de relleno de datos. La latencia máxima desde la escritura de datos en tiempo real hasta la consulta de los datos es de 3 segundos. En el 99.9% de los casos, la consulta se completa en 1 segundo.
Simple Log Service calcula la diferencia entre la hora del registro (nombre del campo: __time__) y la hora de recepción del servidor (nombre del campo: __tag__:__receive_time__). Si la diferencia está dentro del rango de (-180 segundos, 900 segundos], el registro son datos en tiempo real. Si la diferencia está dentro del rango de [-7x86400 segundos, -180 segundos), el registro son datos históricos.
Simple Log Service proporciona un ejemplo de uso de consultas GetHistograms en el SDK de Java. Para más información, consulte Usar GetHistograms para consultar la distribución de registros.
Pruébelo ahora
Test
Autorización de RAM
Sintaxis de la solicitud
GET /logstores/{logstore}/index?type=histogram HTTP/1.1
Parámetros de ruta
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| logstore |
string |
Sí |
El nombre del Logstore. |
test-logstore |
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| project |
string |
Sí |
El nombre del proyecto. |
ali-test-project |
| from |
integer |
Sí |
La hora de inicio del subintervalo. Este valor es una marca de tiempo UNIX que representa el número de segundos transcurridos desde el 1 de enero de 1970, 00:00:00 UTC. |
1409529600 |
| to |
integer |
Sí |
La hora de finalización del subintervalo. Este valor es una marca de tiempo UNIX que representa el número de segundos transcurridos desde el 1 de enero de 1970, 00:00:00 UTC. |
1409569200 |
| topic |
string |
No |
El tema de los registros. |
topic |
| query |
string |
No |
La instrucción de consulta. Solo se admiten instrucciones de consulta. No se admiten instrucciones analíticas. Para más información sobre la sintaxis de consulta, consulte Sintaxis de consulta. |
with_pack_meta |
Elementos de la respuesta
|
Elemento |
Tipo |
Descripción |
Ejemplo |
|
array |
|||
|
object |
|||
| from |
integer |
La hora de inicio del subintervalo. El valor es una marca de tiempo UNIX que representa el número de segundos transcurridos desde el 1 de enero de 1970, 00:00:00 UTC. El intervalo de tiempo sigue el principio de cerrado por la izquierda y abierto por la derecha. El intervalo incluye la hora de inicio pero excluye la hora de finalización. Si los valores de from y to son iguales, el intervalo no es válido y la función devuelve un error. |
1409529600 |
| to |
integer |
La hora de finalización del subintervalo. El valor es una marca de tiempo UNIX que representa el número de segundos transcurridos desde el 1 de enero de 1970, 00:00:00 UTC. El intervalo de tiempo sigue el principio de cerrado por la izquierda y abierto por la derecha. El intervalo incluye la hora de inicio pero excluye la hora de finalización. Si los valores de from y to son iguales, el intervalo no es válido y la función devuelve un error. |
1409569200 |
| count |
integer |
El número de registros consultados en el subintervalo. |
2 |
| progress |
string |
Indica si los resultados de la consulta en el subintervalo están completos. Complete: la consulta está completa y los resultados devueltos están completos. Incomplete: la consulta está completa pero los resultados devueltos están incompletos. Repita la solicitud para obtener resultados completos. |
Complete |
Ejemplos
Respuesta exitosa
JSON Formato
[
{
"from": 1409529600,
"to": 1409569200,
"count": 2,
"progress": "Complete"
}
]
Códigos de error
Consulte Códigos de error para ver la lista completa.
Notas de la versión
Consulte Notas de la versión para ver la lista completa.