Package google.api

Index

Verteilung

Distribution enthält zusammenfassende Statistiken für eine Population von Werten. Optional enthält es ein Histogramm, das die Verteilung dieser Werte über eine Reihe von Buckets darstellt.

Die zusammenfassenden Statistiken sind die Anzahl, der Mittelwert, die Summe der quadratischen Abweichung vom Mittelwert, das Minimum und das Maximum der Menge der Werte der Population. Das Histogramm basiert auf einer Reihe von Buckets und gibt die Anzahl der Werte an, die in jeden Bucket fallen. Die Grenzen der Buckets werden entweder explizit oder durch Formeln für Buckets mit fester oder exponentiell zunehmender Breite angegeben.

Es ist zwar nicht verboten, nicht endliche Werte (Unendlich oder NaN) in die Grundgesamtheit der Werte aufzunehmen, aber es ist im Allgemeinen keine gute Idee, da die Felder mean und sum_of_squared_deviation dadurch bedeutungslos werden.

Felder
count

int64

Die Anzahl der Werte in der Population. Darf nicht negativ sein. Dieser Wert muss der Summe der Werte in bucket_counts entsprechen, wenn ein Histogramm angegeben wird.

mean

double

Der arithmetische Mittelwert der Werte in der Population. Wenn count null ist, muss dieses Feld null sein.

sum_of_squared_deviation

double

Die Summe der quadratischen Abweichungen vom Mittelwert der Werte in der Population. Für Werte x_i gilt:

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

Knuth, „The Art of Computer Programming“, Band 2, Seite 232, 3. Auflage, beschreibt die Methode von Welford zum Erfassen dieser Summe in einem Durchgang.

Wenn count null ist, muss dieses Feld null sein.

range

Range

Falls angegeben, enthält der Parameter den Bereich der Populationswerte. Das Feld darf nicht vorhanden sein, wenn count null ist.

bucket_options

BucketOptions

Definiert die Grenzen der Histogramm-Buckets. Wenn die Verteilung kein Histogramm enthält, lassen Sie dieses Feld weg.

bucket_counts[]

int64

Die Anzahl der Werte in jedem Bucket des Histogramms, wie in bucket_options beschrieben. Wenn die Verteilung kein Histogramm hat, lassen Sie dieses Feld weg. Wenn ein Histogramm vorhanden ist, muss die Summe der Werte in bucket_counts dem Wert im Feld count der Verteilung entsprechen.

Falls vorhanden, sollte bucket_counts N Werte enthalten, wobei N die Anzahl der in bucket_options angegebenen Buckets ist. Wenn Sie weniger als N Werte angeben, wird für die verbleibenden Werte 0 angenommen.

Die Reihenfolge der Werte in bucket_counts entspricht den für die drei Bucket-Typen beschriebenen Bucket-Nummerierungsschemas. Der erste Wert muss die Anzahl für den Unterlauf-Bucket sein (Nummer 0). Die nächsten N-2-Werte sind die Anzahl für die endlichen Buckets (Nummer 1 bis N-2). Der n-te Wert in bucket_counts ist die Anzahl für den Überlauf-Bucket (Nummer N-1).

exemplars[]

Exemplar

Muss in aufsteigender Reihenfolge des Felds value angegeben werden.

BucketOptions

BucketOptions beschreibt die Bucket-Grenzen, die zum Erstellen eines Histogramms für die Verteilung verwendet werden. Die Buckets können in einer linearen oder exponentiellen Reihenfolge angeordnet sein. Alternativ können Sie jeden Bucket explizit angeben. BucketOptions enthält nicht die Anzahl der Werte in den einzelnen Buckets.

Ein Bucket hat eine inklusive Untergrenze und eine exklusive Obergrenze für die Werte, die für diesen Bucket gezählt werden. Die Obergrenze eines Bucket muss strikt größer als die Untergrenze sein. Die Sequenz von N Buckets für eine Verteilung besteht aus einem Unterlauf-Bucket (Nummer 0), null oder mehr endlichen Buckets (Nummer 1 bis N – 2) und einem Überlauf-Bucket (Nummer N – 1). Die Buckets sind zusammenhängend: Die Untergrenze von Bucket i (i > 0) ist dieselbe wie die Obergrenze von Bucket i – 1. Die Buckets decken den gesamten Bereich endlicher Werte ab: Die Untergrenze des Unterlauf-Buckets ist „-unendlich“ und die Obergrenze des Überlauf-Buckets ist „+unendlich“. Die endlichen Buckets heißen so, weil beide Grenzen endlich sind.

Felder
Union-Feld options. Genau eines dieser drei Felder muss festgelegt werden. Für options ist nur einer der folgenden Werte zulässig:
linear_buckets

Linear

Der lineare Bucket.

exponential_buckets

Exponential

Die exponentiellen Buckets.

explicit_buckets

Explicit

Die expliziten Buckets.

Explizit

Gibt eine Reihe von Buckets mit beliebigen Breiten an.

Es gibt size(bounds) + 1 (= N) Buckets. Der Bucket i hat die folgenden Grenzwerte:

Obergrenze (0 <= i < N-1): bounds[i] Untergrenze (1 <= i < N): bounds[i – 1]

Das Feld bounds muss mindestens ein Element enthalten. Wenn bounds nur ein Element hat, gibt es keine endlichen Buckets und dieses einzelne Element ist die gemeinsame Grenze der Überlauf- und Unterlauf-Buckets.

Felder
bounds[]

double

Die Werte müssen monoton steigend sein.

Exponentiell

Gibt eine exponentielle Sequenz von Klassen an, deren Breite proportional zum Wert der Untergrenze ist. Jeder Bucket steht für eine konstante relative Unsicherheit für einen bestimmten Wert im Bucket.

Es gibt num_finite_buckets + 2 (= N) Buckets. Der Bucket i hat die folgenden Grenzwerte:

Obergrenze (0 <= i < N-1): scale * (growth_factor ^ i).

Untergrenze (1 <= i < N): scale * (growth_factor ^ (i – 1)).

Felder
num_finite_buckets

int32

Muss größer als 0 sein.

growth_factor

double

Muss größer als 1 sein.

scale

double

Muss größer als 0 sein.

Linear

Gibt eine lineare Sequenz von Buckets an, die alle dieselbe Breite haben (außer Überlauf und Unterlauf). Jeder Bucket steht für eine konstante absolute Unsicherheit für den jeweiligen Wert im Bucket.

Es gibt num_finite_buckets + 2 (= N) Buckets. Der Bucket i hat die folgenden Grenzwerte:

Obergrenze (0 <= i < N-1): „offset“ + („width“ * i).

Untergrenze (1 <= i < N): „offset“ + („width“ * (i – 1)).

Felder
num_finite_buckets

int32

Muss größer als 0 sein.

width

double

Muss größer als 0 sein.

offset

double

Untergrenze des ersten Buckets.

Exemplar

Exemplare sind Beispielpunkte, mit denen aggregierte Verteilungswerte annotiert werden können. Sie sind Metadaten, die Informationen zu einem bestimmten Wert enthalten, der einem Verteilungs-Bucket hinzugefügt wurde, z. B. eine Trace-ID, die beim Hinzufügen eines Werts aktiv war. Sie können weitere Informationen enthalten, wie z. B. Beispielwerte und Zeitstempel, den Ursprung usw.

Felder
value

double

Wert des Beispielpunkts. Dieser Wert bestimmt, zu welchem Bucket das Beispiel gehört.

timestamp

Timestamp

Die Beobachtungszeit (Stichprobenerhebung) des oben genannten Werts.

attachments[]

Any

Kontextbezogene Informationen zum Beispielwert. Beispiele:

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

Literalstring: type.googleapis.com/google.protobuf.StringValue

Bei der Aggregation verworfene Labels: type.googleapis.com/google.monitoring.v3.DroppedLabels

In einem einzelnen Beispiel darf es nur einen Anhang eines bestimmten Nachrichtentyps geben. Dies wird vom System erzwungen.

Bereich

Der Bereich der Populationswerte.

Felder
min

double

Der Mindestwert der Populationswerte.

max

double

Der Maximalwert der Populationswerte.

HttpBody

Diese Nachricht repräsentiert einen beliebigen HTTP-Text. Sie sollte nur für Nutzlastformate verwendet werden, die nicht als JSON dargestellt werden können, z. B. binäre Rohdaten oder eine HTML-Seite.

Diese Nachricht kann sowohl für Streaming- als auch Nicht-Streaming-API-Methoden in der Anfrage sowie in der Antwort verwendet werden.

Sie kann als übergeordnetes Anfragefeld verwendet werden. Das ist praktisch, wenn Sie Parameter aus der URL- oder HTTP-Vorlage in die Anfragefelder extrahieren und auch auf die Rohdaten des HTTP-Texts zugreifen möchten.

Beispiel:

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);

}

Beispiel mit Streamingmethoden:

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

}

Durch die Verwendung dieses Typs wird nur die Art und Weise geändert, wie der Anfrage- und Antwort-Nachrichtenteil gehandhabt wird. Alle anderen Funktionen bleiben unverändert.

Felder
content_type

string

Der HTTP Content-Type-Headerwert, der den Inhaltstyp des Textes angibt.

data

bytes

Der HTTP-Anfrage-/Antworttext als Rohbinärdatei.

extensions[]

Any

Anwendungsspezifische Antwortmetadaten. Sie müssen in der ersten Antwort für Streaming-APIs festgelegt werden.

Messwert

Ein bestimmter Messwert, der durch Angabe von Werten für alle Labels eines MetricDescriptor identifiziert wird.

Felder
type

string

Ein vorhandener Messwerttyp (siehe google.api.MetricDescriptor). Beispiel: custom.googleapis.com/invoice/paid/amount.

labels

map<string, string>

Die Menge der Labelwerte, die diesen Messwert eindeutig identifizieren. Allen in MetricDescriptor aufgeführten Labels müssen Werte zugewiesen werden.

MetricDescriptor

Dieser Typ hat keine Felder.

Definiert einen Messwerttyp und sein Schema. Wenn ein Messwertdeskriptor erstellt wurde, wird durch das Löschen oder Ändern die Datenerfassung beendet und die vorhandenen Daten des Messwerttyps werden unbrauchbar.

MetricKind

Die Art der Messung. Sie beschreibt, wie die Daten gemeldet werden. Informationen zum Festlegen der Start- und Endzeit basierend auf dem MetricKind finden Sie unter TimeInterval.

Enums
METRIC_KIND_UNSPECIFIED Verwenden Sie diesen Standardwert nicht.
GAUGE Eine Momentaufnahme eines Werts.
DELTA Die Änderung eines Werts während eines Zeitintervalls.
CUMULATIVE Ein über ein Zeitintervall hinweg kumulierter Wert. Kumulative Messungen in einer Zeitachse sollten dieselbe Startzeit und zunehmende Endzeiten haben, bis ein Ereignis den kumulativen Wert auf null zurücksetzt und eine neue Startzeit für die folgenden Punkte festlegt.

ValueType

Der Werttyp eines Messwerts.

Enums
VALUE_TYPE_UNSPECIFIED Verwenden Sie diesen Standardwert nicht.
BOOL Der Wert ist ein boolescher Wert. Dieser Werttyp kann nur verwendet werden, wenn der Messwerttyp GAUGE ist.
INT64 Der Wert ist eine vorzeichenbehaftete 64‑Bit-Ganzzahl.
DOUBLE Der Wert ist eine Gleitkommazahl mit doppelter Genauigkeit.
STRING Der Wert ist ein Textstring. Dieser Werttyp kann nur verwendet werden, wenn der Messwerttyp GAUGE ist.
DISTRIBUTION Der Wert ist ein Distribution.
MONEY Der Wert ist ein Geldwert.

MonitoredResource

Ein Objekt, das eine Ressource darstellt und zum Monitoring, Logging, zur Abrechnung oder für andere Zwecke verwendet werden kann. Beispiele sind Instanzen von virtuellen Maschinen, Datenbanken und Speichergeräte wie Festplatten. Das Feld type gibt ein MonitoredResourceDescriptor-Objekt an, das das Schema der Ressource beschreibt. Informationen im Feld labels identifizieren die tatsächliche Ressource und ihre Attribute gemäß dem Schema. Eine bestimmte Compute Engine-VM-Instanz könnte beispielsweise durch das folgende Objekt dargestellt werden, da das MonitoredResourceDescriptor für "gce_instance" die Labels "project_id", "instance_id" und "zone" hat:

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

string

Erforderlich Der Typ der überwachten Ressource. Dieses Feld muss mit dem Feld type eines MonitoredResourceDescriptor-Objekts übereinstimmen. Der Typ einer Compute Engine-VM-Instanz ist beispielsweise gce_instance. Einige Deskriptoren enthalten den Dienstnamen im Typ. Der Typ eines Datastream-Streams ist beispielsweise datastream.googleapis.com/Stream.

labels

map<string, string>

Erforderlich. Werte für alle Labels, die im zugehörigen Deskriptor der überwachten Ressource aufgeführt sind. Für Compute Engine-VM-Instanzen werden beispielsweise die Labels "project_id", "instance_id" und "zone" verwendet.

MonitoredResourceMetadata

Zusätzliche Metadaten für ein MonitoredResource-Objekt. MonitoredResource-Objekte enthalten die Mindestmenge an Informationen, die zur eindeutigen Identifizierung einer überwachten Ressourceninstanz erforderlich sind. Es gibt einige andere nützliche Hilfsmetadaten. Monitoring und Logging verwenden eine Aufnahmepipeline, um Metadaten für Cloud-Ressourcen jeglichen Typs zu extrahieren und die Metadaten in dieser Nachricht zu speichern.

Felder
system_labels

Struct

Nur Ausgabe Werte für vordefinierte Labels für Systemmetadaten. Systemlabels sind eine Art von Metadaten, die von Google extrahiert werden. Dazu gehören "machine_image", "vpc", "subnet_id", "security_group", "name" usw. Die Systemlabelwerte können nur Strings, boolesche Werte oder eine Liste von Strings sein. Beispiel:

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

map<string, string>

Nur Ausgabe Eine Zuordnung mit benutzerdefinierten Metadatenlabels.