Package google.api

Índice

Distribución

Distribution contiene estadísticas de resumen de una población de valores. De forma opcional, contiene un histograma que representa la distribución de esos valores en un conjunto de buckets.

Las estadísticas de resumen son el recuento, la media, la suma de la desviación al cuadrado de la media, el mínimo y el máximo del conjunto de valores de la población. El histograma se basa en una secuencia de buckets y proporciona un recuento de los valores que corresponden a cada bucket. Los límites de los buckets se proporcionan de forma explícita o mediante fórmulas para los buckets de anchos fijos o que aumentan exponencialmente.

Aunque no está prohibido, por lo general, es una mala idea incluir valores no finitos (infinitos o NaN) en la población de valores, ya que esto renderizará los campos mean y sum_of_squared_deviation sin sentido.

Campos
count

int64

La cantidad de valores en la población. Must be non-negative (La precisión de las coordenadas de latitud y longitud, en metros. No debe ser un valor negativo). Este valor debe ser igual a la suma de los valores en bucket_counts si se proporciona un histograma.

mean

double

La media aritmética de los valores en la población. Si count es cero, este campo debe ser cero.

sum_of_squared_deviation

double

La suma de las desviaciones al cuadrado de la media de los valores en la población. Para los valores x_i, es lo siguiente:

Sum[i=1..n]((x_i - mean)^2)

Knuth, “El arte de la programación informática”, Vol. 2, página 232, tercera edición, se describe el método de Welford para acumular esta suma en un pase.

Si count es cero, este campo debe ser cero.

range

Range

Si se especifica, contiene el rango de los valores de la población. El campo no debe estar presente si count es cero.

bucket_options

BucketOptions

Define los límites del bucket del histograma. Si la distribución no contiene un histograma, omite este campo.

bucket_counts[]

int64

La cantidad de valores en cada bucket del histograma, como se describe en bucket_options. Si la distribución no tiene un histograma, omite este campo. Si hay un histograma, la suma de los valores en bucket_counts debe ser igual al valor en el campo count de la distribución.

Si está presente, bucket_counts debe contener N valores, donde N es la cantidad de buckets especificados en bucket_options. Si proporcionas menos de N valores, se supone que los valores restantes serán 0.

El orden de los valores en bucket_counts sigue los esquemas de numeración de buckets descritos para los tres tipos de buckets. El primer valor debe ser el recuento del bucket de subdesbordamiento (número 0). Los siguientes valores N-2 son los conteos de los buckets finitos (números 1 a N-2). El valor N en bucket_counts es el recuento del bucket de desbordamiento (número N-1).

exemplars[]

Exemplar

Debe estar en orden creciente del campo value.

BucketOptions

BucketOptions describe los límites del bucket que se usan a fin de crear un histograma para la distribución. Los buckets pueden estar en una secuencia lineal o exponencial o cada bucket se puede especificar de manera explícita. BucketOptions no incluye la cantidad de valores en cada bucket.

Un bucket tiene un límite inferior inclusivo y un límite superior exclusivo para los valores que se cuentan en ese bucket. El límite superior de un bucket debe ser estrictamente mayor que el límite inferior. La secuencia de N buckets para una distribución consiste en un bucket de subdesbordamiento (número 0), cero o más buckets finitos (número 1 a N - 2) y un bucket de desbordamiento (número N - 1). Los buckets son contiguos: el límite inferior del bucket i (i > 0) es el mismo que el límite superior del bucket i - 1. Los buckets abarcan todo el rango de valores finitos: el límite inferior del bucket de subdesbordamiento es -infinito y el límite superior del bucket de desbordamiento es +infinito. Los buckets finitos se denominan de esa forma porque ambos límites son finitos.

Campos
Campo de unión options. Se debe establecer exactamente uno de estos tres campos. options puede ser solo uno de los siguientes:
linear_buckets

Linear

El bucket lineal.

exponential_buckets

Exponential

Los buckets exponenciales.

explicit_buckets

Explicit

Los buckets explícitos.

Explícito

Especifica un conjunto de buckets con anchos arbitrarios.

Hay size(bounds) + 1 (= N) buckets. El bucket i tiene los siguientes límites:

Límite superior (0 <= i < N-1): límites[i] Límite inferior (1 <= i < N); límites[i - 1]

El campo bounds debe contener al menos un elemento. Si bounds tiene solo un elemento, no hay buckets finitos y ese único elemento es el límite común de los buckets de desbordamiento y subdesbordamiento.

Campos
bounds[]

double

Los valores deben aumentar de forma monótona.

Exponencial

Especifica una secuencia exponencial de buckets con un ancho que es proporcional al valor del límite inferior. Cada bucket representa una incertidumbre relativa constante de un valor específico en el bucket.

Hay num_finite_buckets + 2 (= N) buckets. El bucket i tiene los siguientes límites:

Límite superior (0 <= i < N-1): escala * (factor_de_crecimiento ^ i).

Límite inferior (1 <= i < N): escala * (factor_de_crecimiento ^ (i - 1)).

Campos
num_finite_buckets

int32

Debe ser mayor que 0.

growth_factor

double

Debe ser mayor que 1.

scale

double

Debe ser mayor que 0.

Lineal

Especifica una secuencia lineal de buckets que tienen el mismo ancho (excepto desbordamiento y subdesbordamiento). Cada bucket representa una incertidumbre absoluta constante sobre el valor específico del bucket.

Hay num_finite_buckets + 2 (= N) buckets. El bucket i tiene los siguientes límites:

Límite superior (0 <= i < N-1): desplazamiento + (ancho * i).

Límite inferior (1 <= i < N): desplazamiento + (ancho * (i - 1)).

Campos
num_finite_buckets

int32

Debe ser mayor que 0.

width

double

Debe ser mayor que 0.

offset

double

Límite inferior del primer bucket.

Exemplar

Los ejemplares son puntos de ejemplo que se pueden usar para anotar valores de distribución agregados. Son metadatos que proporcionan información sobre un valor específico agregado a un bucket de distribución, como un ID de seguimiento que estuvo activo cuando se agregó un valor. Pueden contener más información, como valores de ejemplo y marcas de tiempo, origen, etcétera.

Campos
value

double

Valor del punto ejemplar. Este valor determina a qué bucket pertenece el ejemplo.

timestamp

Timestamp

El tiempo de observación (muestreo) del valor anterior.

attachments[]

Any

Información contextual sobre el valor del ejemplo. Por ejemplo:

Trace: type.googleapis.com/google.monitoring.v3.SpanContext

Cadena literal: type.googleapis.com/google.protobuf.StringValue

Etiquetas descartadas durante la agregación: type.googleapis.com/google.monitoring.v3.DroppedLabels

Es posible que haya solo un archivo adjunto de un tipo de mensaje dado en un solo ejemplar, y el sistema lo aplicará de manera forzosa.

Rango

El rango de los valores de la población.

Campos
min

double

El mínimo de los valores de la población.

max

double

El máximo de los valores de la población.

HttpBody

Mensaje que representa un cuerpo HTTP arbitrario. Solo debería usarse para formatos de carga útil que no pueden representarse como JSON, por ejemplo, datos binarios sin procesar o una página HTML.

Este mensaje se puede usar en métodos de API de transmisión y de no transmisión, en la solicitud y en la respuesta.

Se puede usar como campo de solicitud de alto nivel, que es conveniente si alguien quiere extraer parámetros de la plantilla de URL o HTTP en los campos de solicitudes y también quiere acceder al cuerpo HTTP sin procesar.

Ejemplo:

message GetResourceRequest {
  // A unique request id.
  string request_id = 1;

  // The raw HTTP body is bound to this field.
  google.api.HttpBody http_body = 2;

}

service ResourceService {
  rpc GetResource(GetResourceRequest)
    returns (google.api.HttpBody);
  rpc UpdateResource(google.api.HttpBody)
    returns (google.protobuf.Empty);

}

Ejemplo con métodos de transmisión:

service CaldavService {
  rpc GetCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);
  rpc UpdateCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);

}

El uso de este tipo solo cambia la manera en que se manejan los cuerpos de la solicitud y la respuesta. Las demás funciones seguirán funcionando sin cambios.

Campos
content_type

string

El valor del encabezado HTTP de Content-Type que especifica el tipo de contenido del cuerpo.

data

bytes

El cuerpo de la solicitud/respuesta HTTP como objeto binario sin procesar.

extensions[]

Any

Metadatos de la respuesta específica de la aplicación. Se deben configurar en la primera respuesta para las API de transmisión.

Métrica

Es una métrica específica que se identifica especificando valores para todas las etiquetas de un MetricDescriptor.

Campos
type

string

Es un tipo de métrica existente. Consulta google.api.MetricDescriptor. Por ejemplo, custom.googleapis.com/invoice/paid/amount

labels

map<string, string>

Es el conjunto de valores de etiqueta que identifican de forma única esta métrica. Se deben asignar valores a todas las etiquetas que se enumeran en MetricDescriptor.

MetricDescriptor

Este tipo no tiene campos.

Define un tipo de métrica y su esquema. Una vez que se crea un descriptor de métrica, si se borra o se altera, se detiene la recopilación de datos y los datos existentes del tipo de métrica dejan de ser utilizables.

MetricKind

Es el tipo de medida. Describe cómo se informan los datos. Para obtener información sobre cómo configurar la hora de inicio y la hora de finalización según el MetricKind, consulta TimeInterval.

Enums
METRIC_KIND_UNSPECIFIED No uses este valor predeterminado.
GAUGE Una medición instantánea de un valor.
DELTA El cambio en un valor durante un intervalo de tiempo.
CUMULATIVE Es un valor acumulado durante un intervalo de tiempo. Las mediciones acumulativas en una serie temporal deben tener la misma hora de inicio y aumentar las horas de finalización, hasta que un evento restablezca el valor acumulativo en cero y establezca una nueva hora de inicio para los siguientes puntos.

ValueType

El tipo de valor de una métrica.

Enums
VALUE_TYPE_UNSPECIFIED No uses este valor predeterminado.
BOOL El valor es un booleano. Este tipo de valor solo se puede usar si la clase de métrica es GAUGE.
INT64 El valor es un número entero de 64 bits con firma.
DOUBLE El valor es un número de punto flotante de doble precisión.
STRING El valor es una cadena de texto. Este tipo de valor solo se puede usar si la clase de métrica es GAUGE.
DISTRIBUTION El valor es Distribution.
MONEY El valor es el dinero.

MonitoredResource

Es un objeto que representa un recurso que se puede usar para la supervisión, el registro, la facturación o cualquier otro propósito. Los ejemplos incluyen instancias de máquinas virtuales, bases de datos y dispositivos de almacenamiento, como discos. El campo type identifica un objeto MonitoredResourceDescriptor que describe el esquema del recurso. La información del campo labels identifica el recurso real y sus atributos según el esquema. Por ejemplo, una instancia de VM de Compute Engine en particular podría representarse con el siguiente objeto, ya que el MonitoredResourceDescriptor para "gce_instance" tiene las etiquetas "project_id", "instance_id" y "zone":

{ "type": "gce_instance",
  "labels": { "project_id": "my-project",
              "instance_id": "12345678901234",
              "zone": "us-central1-a" }}
Campos
type

string

Obligatorio. Es el tipo de recurso supervisado. Este campo debe coincidir con el campo type de un objeto MonitoredResourceDescriptor. Por ejemplo, el tipo de una instancia de VM de Compute Engine es gce_instance. Algunos descriptores incluyen el nombre del servicio en el tipo, por ejemplo, el tipo de transmisión de Datastream es datastream.googleapis.com/Stream.

labels

map<string, string>

Obligatorio. Valores para todas las etiquetas que se enumeran en el descriptor del recurso supervisado asociado. Por ejemplo, las instancias de VM de Compute Engine usan las etiquetas "project_id", "instance_id" y "zone".

MonitoredResourceMetadata

Son los metadatos auxiliares de un objeto MonitoredResource. Los objetos MonitoredResource contienen el conjunto mínimo de información para identificar de forma única una instancia de recurso supervisado. Hay otros metadatos auxiliares útiles. Monitoring y Logging usan una canalización de transferencia para extraer metadatos de los recursos de la nube de todo tipo y almacenarlos en este mensaje.

Campos
system_labels

Struct

Solo salida. Son los valores de las etiquetas de metadatos del sistema predefinidas. Las etiquetas del sistema son un tipo de metadatos que extrae Google, como "machine_image", "vpc", "subnet_id", "security_group", "name", etcétera. Los valores de las etiquetas del sistema solo pueden ser cadenas, valores booleanos o una lista de cadenas. Por ejemplo:

{ "name": "my-test-instance",
  "security_group": ["a", "b", "c"],
  "spot_instance": false }
user_labels

map<string, string>

Solo salida. Es un mapa de etiquetas de metadatos definidas por el usuario.