Estadísticas de Datastore en los antiguos servicios empaquetados

Datastore mantiene estadísticas sobre los datos almacenados de una aplicación, como el número de entidades de un tipo determinado o el espacio que utilizan los valores de propiedad de un tipo determinado. Puedes ver estas estadísticas en la consola, en la página Panel de control. Google Cloud

También puedes acceder a estos valores de forma programática en la aplicación consultando entidades con nombres especiales mediante la API Datastore. Se puede acceder a cada estadística como una entidad cuyo nombre de tipo empieza y termina con dos guiones bajos. Por ejemplo, cada aplicación tiene exactamente una entidad del tipo __Stat_Total__ que representa las estadísticas de todas las entidades de Datastore en total. Cada entidad de estadísticas tiene las siguientes propiedades:

  • count, el número de elementos que tiene en cuenta la estadística (un entero largo)
  • bytes: tamaño total de los elementos de esta estadística (un entero largo).
  • timestamp: hora de la actualización más reciente de la estadística (valor de fecha y hora)

Algunos tipos de estadísticas incluyen también propiedades adicionales, las cuales se enumeran a continuación.

Como el cliente de Go Datastore requiere nombres exportados, para acceder a las propiedades que se indican en este documento, es necesario usar etiquetas struct.

Cuando el sistema de estadísticas crea nuevas entidades de estadísticas, no elimina las antiguas de inmediato. La mejor forma de obtener una vista coherente de las estadísticas es consultar la entidad con la timestamp más reciente y, a continuación, usar ese valor de marca de tiempo como filtro al obtener otras entidades de estadísticas.

Las entidades con estadísticas se incluyen en los valores de estadísticas que se calculan. Las entidades de estadísticas ocupan espacio en función del número de tipos únicos y nombres de propiedades que utiliza la aplicación.

El sistema de estadísticas también creará estadísticas específicas para cada espacio de nombres. Ten en cuenta que, si una aplicación no usa espacios de nombres de Datastore, no se crearán estadísticas específicas de espacios de nombres. Las estadísticas específicas de un espacio de nombres se encuentran en el espacio de nombres al que corresponden. Los nombres de los tipos de estadísticas específicas de un espacio de nombres tienen el prefijo __Stat_Ns_ y el mismo sufijo correspondiente que los tipos de estadísticas de toda la aplicación.

Las aplicaciones con miles de espacios de nombres, tipos o nombres de propiedades requieren un número muy elevado de entidades de estadísticas. Para que la sobrecarga de almacenar y actualizar las estadísticas sea razonable, Datastore elimina progresivamente las entidades de estadísticas en el siguiente orden:

  • Estadísticas por espacio de nombres, por tipo y por propiedad: __Stat_Ns_PropertyName_Kind__, __Stat_Ns_PropertyType_PropertyName_Kind__
  • Estadísticas por tipo y por propiedad: __Stat_PropertyName_Kind__, __Stat_PropertyType_PropertyName_Kind__
  • Estadísticas por espacio de nombres y por tipo: __Stat_Ns_Kind__, __Stat_Ns_Kind_IsRootEntity__, __Stat_Ns_Kind_NotRootEntity__, __Stat_Ns_PropertyType_Kind__
  • Estadísticas por tipo: __Stat_Kind__, __Stat_Kind_IsRootEntity__, __Stat_Kind_NotRootEntity__ y __Stat_PropertyType_Kind__
  • Estadísticas por espacio de nombres: __Stat_Namespace__, __Stat_Ns_Kind_CompositeIndex__, __Stat_Ns_PropertyType__, __Stat_Ns_Total__

Las entidades de estadísticas de resumen (__Stat_Kind_CompositeIndex__, __Stat_PropertyType__, __Stat_Total__) nunca se eliminan.

A continuación, se incluye la lista completa de estadísticas disponibles:

Estadística Tipo de entidad con estadística Descripción
Todas las entidades __Stat_Total__
Entrada específica del espacio de nombres:
__Stat_Ns_Total__
Todas las entidades Propiedades adicionales:

entity_bytes: el almacenamiento en la tabla de entidades medido en bytes.
builtin_index_bytes: el almacenamiento en entradas de índice integradas, medido en bytes.
builtin_index_count: número de entradas de índice integradas.
composite_index_bytes: el almacenamiento de las entradas de índice compuesto, medido en bytes.
composite_index_count: número de entradas de índices compuestos.
Todas las entidades de un espacio de nombres __Stat_Namespace__
Ten en cuenta que se crean entidades __Stat_Namespace__ para cada espacio de nombres encontrado y que solo se encuentran en el espacio de nombres de cadena vacía.
Todas las entidades de un espacio de nombres.

subject_namespace, el espacio de nombres representado (una cadena)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes.
builtin_index_bytes: el almacenamiento en entradas de índice integradas, medido en bytes.
builtin_index_count: número de entradas de índice integradas.
composite_index_bytes: el almacenamiento de las entradas de índice compuesto, medido en bytes.
composite_index_count: número de entradas de índices compuestos.
Todas las entradas de los índices definidos en la aplicación __Stat_Kind_CompositeIndex__
Entrada específica del espacio de nombres: __Stat_Ns_Kind_CompositeIndex__
Entradas de la tabla de índices compuestos. Una entidad de estadísticas por cada tipo de entidad almacenada. Propiedades adicionales:

index_id, el ID del índice.
kind_name, el nombre del tipo representado (una cadena)
Entidades de un tipo __Stat_Kind__
Entrada específica del espacio de nombres:
__Stat_Ns_Kind__
Entidades de un tipo; una entidad con estadísticas para cada tipo de entidad almacenado Propiedades adicionales:

kind_name, el nombre del tipo representado (una cadena)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes.
builtin_index_bytes: el almacenamiento en entradas de índice integradas, medido en bytes.
builtin_index_count: número de entradas de índice integradas.
composite_index_bytes: el almacenamiento de las entradas de índice compuesto, medido en bytes.
composite_index_count: número de entradas de índices compuestos.
Entidades raíz de un tipo __Stat_Kind_IsRootEntity__
Entrada específica del espacio de nombres:
__Stat_Ns_Kind_IsRootEntity__
Entidades de un tipo que son entidades raíz del grupo de entidades (sin entidad principal de ancestro); una entidad con estadísticas para cada tipo de entidad almacenado Propiedades adicionales:

kind_name, el nombre del tipo representado (una cadena)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes.
Entidades de un tipo sin raíz __Stat_Kind_NotRootEntity__
Entrada específica del espacio de nombres:
__Stat_Ns_Kind_NotRootEntity__
Entidades de un tipo que no son entidades raíz del grupo de entidades (con entidad principal de ancestro); una entidad con estadísticas para cada tipo de entidad almacenado Propiedades adicionales:

kind_name, el nombre del tipo representado (una cadena)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes.
Propiedades de un tipo __Stat_PropertyType__
Entrada específica del espacio de nombres:
__Stat_Ns_PropertyType__
Propiedades de un tipo de valor en todas las entidades; una entidad con estadísticas por tipo de valor Propiedades adicionales:

property_type: el nombre del tipo de valor (una cadena)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes.
builtin_index_bytes: el almacenamiento en entradas de índice integradas, medido en bytes.
builtin_index_count: el recuento de entradas de índice integradas.
Propiedades de un tipo por tipo __Stat_PropertyType_Kind__
Entrada específica del espacio de nombres:
__Stat_Ns_PropertyType_Kind__
Propiedades de un tipo de valor en entidades del tipo especificado; una entidad con estadísticas por cada combinación de tipo de propiedad y de tipo Propiedades adicionales:

property_type, el nombre del tipo de valor (una cadena)
kind_name, el nombre del tipo representado (una cadena)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes.
builtin_index_bytes: el almacenamiento del índice integrado, medido en bytes.
builtin_index_count: el recuento de entradas de índice integradas.
Propiedades con un nombre __Stat_PropertyName_Kind__
Entrada específica del espacio de nombres:
__Stat_Ns_PropertyName_Kind__
Propiedades con un determinado nombre en entidades de un tipo específico; una entidad con estadísticas por combinación de nombre de propiedad y tipo exclusivos Propiedades adicionales:

property_name: nombre de la propiedad (una cadena)
kind_name: nombre del tipo representado (una cadena)
entity_bytes: almacenamiento en la tabla de entidades medido en bytes.
builtin_index_bytes: el almacenamiento en entradas de índice integradas, medido en bytes.
builtin_index_count: el recuento de entradas de índice integradas.
Propiedades de un tipo y con un nombre __Stat_PropertyType_PropertyName_Kind__
Entrada específica del espacio de nombres:
__Stat_Ns_PropertyType_PropertyName_Kind__
Propiedades con un nombre y un tipo de valor determinados en todas las entidades de un tipo determinado. Se trata de una entidad de estadísticas por cada combinación de nombre de propiedad, tipo de valor y tipo que exista en Datastore. Propiedades adicionales:

property_type, el nombre del tipo de valor (una cadena)
property_name, el nombre de la propiedad (una cadena)
kind_name, el nombre del tipo representado (una cadena)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes.
builtin_index_bytes: el almacenamiento en entradas de índice integradas, medido en bytes.
builtin_index_count: el recuento de entradas de índice integradas.

Algunas estadísticas hacen referencia a los tipos de valor de propiedad de Datastore por nombre, como cadenas. Estos son los nombres:

  • "Blob"
  • "BlobKey"
  • "Boolean"
  • "Category"
  • "Date/Time"
  • "Email"
  • "Float"
  • "GeoPt"
  • "IM"
  • "Integer"
  • "Key"
  • "Link"
  • "NULL"
  • "PhoneNumber"
  • "PostalAddress"
  • "Rating"
  • "ShortBlob"
  • "String"
  • "Text"
  • "User"