BillingView

Meldung zum Melden von Abrechnungsanfragen über Eventstream.

JSON-Darstellung
{
  "reportRequests": [
    {
      object (ReportRequest)
    }
  ]
}
Felder
reportRequests[]

object (ReportRequest)

Abrechnungsanfragen, die für cloud.eventstream.v2.ResourceEvent gemeldet werden sollen

ReportRequest

Anfragenachricht für die Methode „services.report“.

JSON-Darstellung
{
  "serviceName": string,
  "operations": [
    {
      object (Operation)
    }
  ],
  "serviceConfigId": string
}
Felder
serviceName

string

Der Dienstname, wie in der Dienstkonfiguration angegeben. Beispiel: "pubsub.googleapis.com".

Die Definition eines Dienstnamens finden Sie unter google.api.Service.

operations[]

object (Operation)

Zu meldende Vorgänge.

Normalerweise sollte der Dienst eine Operation pro Anfrage melden. Es ist zulässig, mehrere Vorgänge in eine einzelne Anfrage aufzunehmen. Dies sollte jedoch nur erfolgen, wenn mehrere Vorgänge zum Zeitpunkt des Berichts verfügbar sind.

Die Anzahl der Vorgänge in derselben ReportRequest ist nicht begrenzt. Die Größe der ReportRequest darf jedoch 1 MB nicht überschreiten. Informationen zum Verhalten bei Teilausfällen finden Sie unter ReportResponse.report_errors.

serviceConfigId

string

Gibt an, welche Version der Dienstkonfiguration zur Verarbeitung der Anfrage verwendet werden soll.

Wenn keine Version angegeben ist oder keine passende Version gefunden werden kann, wird die neueste Version verwendet.

Vorgang

Stellt Informationen zu einem Vorgang dar.

JSON-Darstellung
{
  "operationId": string,
  "operationName": string,
  "consumerId": string,
  "startTime": string,
  "endTime": string,
  "labels": {
    string: string,
    ...
  },
  "metricValueSets": [
    {
      object (MetricValueSet)
    }
  ],
  "logEntries": [
    {
      object (LogEntry)
    }
  ],
  "quotaProperties": {
    object (QuotaProperties)
  },
  "importance": enum (Importance),
  "userLabels": {
    string: string,
    ...
  },
  "resources": [
    {
      object (ResourceInfo)
    }
  ],
  "traceSpans": [
    {
      object (TraceSpan)
    }
  ]
}
Felder
operationId

string

Identität des Vorgangs. Dieser muss im Rahmen des Dienstes, der den Vorgang generiert hat, einmalig sein. Wenn der Dienst services.check() und services.report() für denselben Vorgang aufruft, sollten die beiden Aufrufe dieselbe ID haben.

Ein UUID der Version 4 wird empfohlen, ist aber nicht erforderlich. In Szenarien, in denen ein Vorgang aus vorhandenen Informationen berechnet wird und eine idempotente ID zur Deduplizierung wünschenswert ist, wird UUID Version 5 empfohlen. Weitere Informationen finden Sie in RFC 4122.

operationName

string

Vollständig qualifizierter Name des Vorgangs. Reserviert für zukünftige Verwendungen.

consumerId

string

Identität des Nutzers, der den Dienst verwendet. Dieses Feld sollte für Vorgänge ausgefüllt werden, die von einem Verbraucher initiiert wurden, nicht jedoch für vom Dienst initiierte Vorgänge, die sich nicht auf einen bestimmten Verbraucher beziehen.

  • Dies kann in einem der folgenden Formate erfolgen:
    • project:PROJECT_ID,
    • project_number:PROJECT_NUMBER,
    • projects/PROJECT_ID oder PROJECT_NUMBER,
    • folders/FOLDER_NUMBER,
    • organizations/ORGANIZATION_NUMBER,
    • api_key:API_KEY.
startTime

string (Timestamp format)

Erforderlich. Startzeit des Vorgangs.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Endzeit des Vorgangs. Erforderlich, wenn der Vorgang in ServiceController.Report verwendet wird, aber optional, wenn der Vorgang in ServiceController.Check verwendet wird.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Labels, die den Vorgang beschreiben. Nur die folgenden Labels sind zulässig:

  • Labels, die überwachte Ressourcen beschreiben, wie in der Dienstkonfiguration definiert.
  • Standardlabels von Messwerten. Wenn angegeben, überschreiben Labels, die im Messwert definiert sind, diese Standardwerte.
  • Die folgenden von der Google Cloud Platform definierten Labels:
    • cloud.googleapis.com/location, die den Ort beschreibt, an dem der Vorgang stattgefunden hat,
    • servicecontrol.googleapis.com/userAgent Beschreibung des User-Agents der API-Anfrage
    • servicecontrol.googleapis.com/service_agent, in dem der Dienst beschrieben wird, der zum Verarbeiten der API-Anfrage verwendet wird (z.B. ESP),
    • servicecontrol.googleapis.com/platform – Beschreibung der Plattform, auf der die API bereitgestellt wird, z. B. App Engine, Compute Engine oder Kubernetes Engine.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

metricValueSets[]

object (MetricValueSet)

Stellt Informationen zu diesem Vorgang dar. Jeder MetricValueSet entspricht einem Messwert, der in der Dienstkonfiguration definiert ist. Der im MetricValueSet verwendete Datentyp muss mit dem in der Messwertdefinition angegebenen Datentyp übereinstimmen.

Innerhalb eines einzelnen Vorgangs sind nicht mehrere MetricValue-Instanzen mit denselben Messwertnamen und identischen Labelwertkombinationen zulässig. Wenn eine Anfrage solche doppelten MetricValue-Instanzen enthält, wird die gesamte Anfrage mit einem Fehler wegen eines ungültigen Arguments abgelehnt.

logEntries[]

object (LogEntry)

Stellt Informationen dar, die protokolliert werden sollen.

quotaProperties

object (QuotaProperties)

Stellt die für die Kontingentprüfung erforderlichen Attribute dar. Gilt nur, wenn dieser Vorgang für eine Kontingentprüfungsanfrage erfolgt. Wenn dies nicht angegeben ist, wird keine Kontingentprüfung durchgeführt.

importance

enum (Importance)

NICHT VERWENDEN. Dies ist ein experimentelles Feld.

userLabels

map (key: string, value: string)

Private Vorschau Diese Funktion ist nur für genehmigte Dienste verfügbar.

Benutzerdefinierte Labels für die Ressource, mit der dieser Vorgang verknüpft ist.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

resources[]

object (ResourceInfo)

Die Ressourcen, die an dem Vorgang beteiligt sind. Die maximal unterstützte Anzahl von Einträgen in diesem Feld beträgt 100.

traceSpans[]

object (TraceSpan)

Nicht implementiert. Eine Liste von Cloud Trace-Spans. Die Spannen-Namen müssen die ID des Zielprojekts enthalten, das entweder das Erzeuger- oder das Nutzerprojekt sein kann.

MetricValueSet

Stellt eine Reihe von Messwerten für denselben Messwert dar. Jeder Messwert in der Gruppe sollte eine eindeutige Kombination aus Startzeit, Endzeit und Labelwerten haben.

JSON-Darstellung
{
  "metricName": string,
  "metricValues": [
    {
      object (MetricValue)
    }
  ]
}
Felder
metricName

string

Der in der Dienstkonfiguration definierte Messwertname.

metricValues[]

object (MetricValue)

Die Werte in diesem Messwert.

MetricValue

Stellt einen einzelnen Messwert dar.

JSON-Darstellung
{
  "labels": {
    string: string,
    ...
  },
  "startTime": string,
  "endTime": string,

  // Union field value can be only one of the following:
  "boolValue": boolean,
  "int64Value": string,
  "doubleValue": number,
  "stringValue": string,
  "distributionValue": {
    object (Distribution)
  },
  "moneyValue": {
    object (Money)
  }
  // End of list of possible types for union field value.
}
Felder
labels

map (key: string, value: string)

Die Labels, die den Messwert beschreiben. Informationen zur überschreibenden Beziehung finden Sie in den Kommentaren zu google.api.servicecontrol.v1.Operation.labels. Diese Karte darf keine Labels für überwachte Ressourcen enthalten.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

startTime

string (Timestamp format)

Der Beginn des Zeitraums, auf den sich die Messung dieses Messwerts bezieht. Der Zeitraum hat für die verschiedenen Messwerttypen (kumulativ, Delta und Gauge) unterschiedliche Semantiken. Weitere Informationen finden Sie in der Dokumentation zur Messwertdefinition in der Dienstkonfiguration. Wenn nichts angegeben ist, wird google.api.servicecontrol.v1.Operation.start_time verwendet.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Das Ende des Zeitraums, auf den sich die Messung dieses Messwertes bezieht. Wenn nichts angegeben ist, wird google.api.servicecontrol.v1.Operation.end_time verwendet.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

Union-Feld value. Der Wert. Der in der Anfrage verwendete Werttyp muss mit der Messwertdefinition in der Dienstkonfiguration übereinstimmen. Andernfalls wird der MetricValue abgelehnt. Für value ist nur einer der folgenden Werte zulässig:
boolValue

boolean

Ein boolescher Wert.

int64Value

string (int64 format)

Ein vorzeichenbehafteter 64‑Bit-Ganzzahlwert.

doubleValue

number

Ein Gleitkommawert mit doppelter Genauigkeit.

stringValue

string

Ein Textstring-Wert.

distributionValue

object (Distribution)

Ein Verteilungswert

moneyValue

object (Money)

Ein Geldwert.

Verteilung

Die Verteilung stellt eine Häufigkeitsverteilung von zweistelligen Stichprobenpunkten dar. Sie enthält die Größe der Population von Stichprobenpunkten sowie zusätzliche optionale Informationen:

  • das arithmetische Mittel der Stichproben
  • das Minimum und Maximum der Stichproben
  • Die Summe der quadrierten Abweichungen der Stichproben, die zur Berechnung der Varianz verwendet wird
  • ein Histogramm der Werte der Stichprobenpunkte
JSON-Darstellung
{
  "count": string,
  "mean": number,
  "minimum": number,
  "maximum": number,
  "sumOfSquaredDeviation": number,
  "bucketCounts": [
    string
  ],
  "exemplars": [
    {
      object (Exemplar)
    }
  ],

  // Union field bucket_option can be only one of the following:
  "linearBuckets": {
    object (LinearBuckets)
  },
  "exponentialBuckets": {
    object (ExponentialBuckets)
  },
  "explicitBuckets": {
    object (ExplicitBuckets)
  }
  // End of list of possible types for union field bucket_option.
}
Felder
count

string (int64 format)

Die Gesamtzahl der Stichproben in der Verteilung. Muss >= 0 sein.

mean

number

Der arithmetische Mittelwert der Stichproben in der Verteilung. Wenn count null ist, muss dieses Feld null sein.

minimum

number

Der Mindestwert der Population von Werten. Wird ignoriert, wenn count null ist.

maximum

number

Der Maximalwert der Population von Werten. Wird ignoriert, wenn count null ist.

sumOfSquaredDeviation

number

Die Summe der quadratischen Abweichungen vom Mittelwert: Summe[i=1..count]((x_i – Mittelwert)^2), wobei jeder x_i ein Stichprobenwert ist. Wenn count null ist, muss dieses Feld null sein. Andernfalls schlägt die Validierung der Anfrage fehl.

bucketCounts[]

string (int64 format)

Die Anzahl der Stichproben in jedem Histogramm-Bucket. bucketCounts sind optional. Falls vorhanden, muss die Summe der Werte dem count-Wert entsprechen.

Die Buckets sind unten in bucket_option definiert. Es gibt N Buckets. bucketCounts[0] ist die Anzahl der Stichproben im Underflow-Bucket. bucketCounts[1] bis bucketCounts[N-1] sind die Anzahl der Stichproben in den einzelnen endlichen Buckets. bucketCounts[N] ist die Anzahl der Stichproben im Überlauf-Bucket. Weitere Informationen finden Sie in den Kommentaren von bucket_option unten.

Alle Suffixe mit nachfolgenden Nullen können weggelassen werden.

exemplars[]

object (Exemplar)

Beispielpunkte Muss in aufsteigender Reihenfolge des Felds value angegeben werden.

Union-Feld bucket_option. Definiert die Buckets im Histogramm. bucket_option und bucket_counts müssen entweder beide festgelegt oder beide nicht festgelegt sein.

Die Buckets sind im Bereich [0, N] nummeriert. Es gibt insgesamt N+1 Buckets. Es müssen mindestens zwei Klassen vorhanden sein. Ein Histogramm mit nur einer Klasse liefert keine Informationen, die nicht bereits durch count bereitgestellt werden.

Der erste Bucket ist der Unterlauf-Bucket mit einer Untergrenze von -inf. Der letzte Bucket ist der Überlauf-Bucket mit einer Obergrenze von +inf. Alle anderen Buckets (falls vorhanden) werden als „endliche“ Buckets bezeichnet, da sie endliche Unter- und Obergrenzen haben. Wie unten beschrieben, gibt es drei Möglichkeiten, die endlichen Klassen zu definieren.

1. Buckets mit konstanter Breite. (2) Buckets mit exponentiell wachsenden Breiten. (3) Klassen mit beliebigen, vom Nutzer angegebenen Breiten.

In allen Fällen decken die Klassen die gesamte reelle Zahlengerade ab (-inf, +inf). Die Obergrenzen der Buckets sind exklusiv und die Untergrenzen sind inklusiv. Die Obergrenze des Underflow-Buckets entspricht der Untergrenze des kleinsten endlichen Buckets. Die Untergrenze des Overflow-Buckets entspricht der Obergrenze des größten endlichen Buckets. Für bucket_option ist nur einer der folgenden Werte zulässig:

linearBuckets

object (LinearBuckets)

Buckets mit konstanter Breite.

exponentialBuckets

object (ExponentialBuckets)

Buckets mit exponentiell wachsender Breite.

explicitBuckets

object (ExplicitBuckets)

Buckets mit einer beliebigen vom Nutzer angegebenen Breite.

LinearBuckets

Buckets mit konstanter Breite beschreiben.

JSON-Darstellung
{
  "numFiniteBuckets": integer,
  "width": number,
  "offset": number
}
Felder
numFiniteBuckets

integer

Die Anzahl der endlichen Buckets. Mit den Unterlauf- und Überlauf-Buckets beträgt die Gesamtzahl der Buckets numFiniteBuckets + 2. Weitere Informationen finden Sie in den Kommentaren zu bucketOptions.

width

number

Der i-te lineare Bucket deckt das Intervall [offset + (i–1) * width, offset + i * width) ab, wobei i zwischen 1 und numFiniteBuckets (einschließlich) liegt. Muss strikt positiv sein.

offset

number

Der i-te lineare Bucket deckt das Intervall [offset + (i–1) * width, offset + i * width) ab, wobei i zwischen 1 und numFiniteBuckets (einschließlich) liegt.

ExponentialBuckets

Buckets mit exponentiell wachsender Breite beschreiben.

JSON-Darstellung
{
  "numFiniteBuckets": integer,
  "growthFactor": number,
  "scale": number
}
Felder
numFiniteBuckets

integer

Die Anzahl der endlichen Buckets. Mit den Unterlauf- und Überlauf-Buckets beträgt die Gesamtzahl der Buckets numFiniteBuckets + 2. Weitere Informationen finden Sie in den Kommentaren zu bucketOptions.

growthFactor

number

Der i-te exponentielle Bucket deckt das Intervall [scale * growthFactor^(i-1), scale * growthFactor^i) ab, wobei i von 1 bis einschließlich numFiniteBuckets reicht. Muss größer als 1,0 sein.

scale

number

Der i-te exponentielle Bucket deckt das Intervall [scale * growthFactor^(i-1), scale * growthFactor^i) ab, wobei i von 1 bis einschließlich numFiniteBuckets reicht. Muss > 0 sein.

ExplicitBuckets

Beschreibt Buckets mit einer beliebigen benutzerdefinierten Breite.

JSON-Darstellung
{
  "bounds": [
    number
  ]
}
Felder
bounds[]

number

„bound“ ist eine Liste mit streng aufsteigenden Grenzen zwischen Buckets. Eine Liste mit der Länge N-1 definiert aufgrund der Zaunpfahlmethode N Buckets. Weitere Informationen finden Sie in den Kommentaren zu bucketOptions.

Der i-te endliche Bucket deckt das Intervall [bound[i-1], bound[i]) ab, wobei i zwischen 1 und bound_size() – 1 liegt. Wenn „bound“ nur ein Element enthält, gibt es keine endlichen Buckets. In diesem Sonderfall definiert die einzelne Grenze die Grenze zwischen den Unterlauf- und Überlauf-Buckets.

Bucket-Nummer Untergrenze Obergrenze i == 0 (Unterlauf) -inf bound[i] 0 < i < bound_size() bound[i-1] bound[i] i == bound_size() (Überlauf) bound[i-1] +inf

Exemplar

Exemplare sind Beispielpunkte, die zum Annotieren aggregierter Verteilungswerte verwendet 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.

JSON-Darstellung
{
  "value": number,
  "timestamp": string,
  "attachments": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Felder
value

number

Wert des exemplarischen Punkts. Dieser Wert bestimmt, zu welchem Bucket das Exemplar gehört.

timestamp

string (Timestamp format)

Die Beobachtungszeit (Zeit der Erfassung) des oben genannten Werts.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

attachments[]

object

Kontextbezogene Informationen zum Exemplarwert. Beispiele sind:

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 Exemplar darf es nur einen Anhang eines bestimmten Nachrichtentyps geben. Dies wird vom System erzwungen.

Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld "@type" enthält einen URI zur Identifizierung des Typs. Beispiel: { "id": 1234, "@type": "types.example.com/standard/id" }.

Money

Stellt einen Geldbetrag mit Währungstyp dar.

JSON-Darstellung
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Felder
currencyCode

string

Der aus drei Buchstaben bestehende Währungscode gemäß ISO 4217

units

string (int64 format)

Die ganzen Einheiten des Betrags. Beispiel: Wenn currencyCode "USD" ist, dann entspricht eine Einheit 1 US-Dollar.

nanos

integer

Anzahl der Nanoeinheiten (10^-9) des Betrags. Der Wert muss im Bereich von -999.999.999 bis +999.999.999 liegen. Wenn units positiv ist, muss nanos positiv oder null sein. Wenn units null ist, kann nanos positiv, null oder negativ sein. Wenn units negativ ist, muss nanos negativ oder null sein. -1,75 $ wird z. B. als units = −1 und nanos = −750.000.000 dargestellt.

LogEntry

Ein einzelner Logeintrag.

JSON-Darstellung
{
  "name": string,
  "timestamp": string,
  "severity": enum (LogSeverity),
  "httpRequest": {
    object (HttpRequest)
  },
  "trace": string,
  "insertId": string,
  "labels": {
    string: string,
    ...
  },
  "operation": {
    object (LogEntryOperation)
  },
  "sourceLocation": {
    object (LogEntrySourceLocation)
  },

  // Union field payload can be only one of the following:
  "protoPayload": {
    "@type": string,
    field1: ...,
    ...
  },
  "textPayload": string,
  "structPayload": {
    object
  }
  // End of list of possible types for union field payload.
}
Felder
name

string

Erforderlich. Das Log, zu dem dieser Logeintrag gehört. Beispiele: "syslog", "book_log".

timestamp

string (Timestamp format)

Zeit, zu der das im Logeintrag beschriebene Ereignis eingetreten ist. Wenn keine Angabe gemacht wird, wird standardmäßig die Startzeit des Vorgangs verwendet.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

severity

enum (LogSeverity)

Der Schweregrad des Logeintrags. Der Standardwert ist LogSeverity.DEFAULT.

httpRequest

object (HttpRequest)

Optional. Informationen zur HTTP-Anfrage, die diesem Logeintrag zugeordnet ist, falls zutreffend.

trace

string

Optional. Der Ressourcenname des Trace, das, falls vorhanden, mit dem Logeintrag verknüpft ist. Wenn dieses Feld einen relativen Ressourcennamen enthält, können Sie davon ausgehen, dass der Name relativ zu //tracing.googleapis.com ist. Beispiel: projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824

insertId

string

Eine eindeutige ID für den Protokolleintrag, die zur Deduplizierung verwendet wird. Wird kein Wert angegeben, wird er von der Implementierung auf Grundlage von „operationId“ generiert.

labels

map (key: string, value: string)

Eine Reihe von benutzerdefinierten (Schlüssel, Wert)-Daten, die zusätzliche Informationen zum Logeintrag liefern.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

operation

object (LogEntryOperation)

Optional. Informationen zu einem Vorgang, der mit dem Logeintrag verknüpft ist, falls zutreffend.

sourceLocation

object (LogEntrySourceLocation)

Optional. Speicherort des Quellcodes-Informationen zum Logeintrag, falls vorhanden.

Union-Feld payload. Die Nutzlast des Logeintrags, die einen von mehreren Typen haben kann. Für payload ist nur einer der folgenden Werte zulässig:
protoPayload

object

Nutzlast des Logeintrags, dargestellt als Protokollpuffer, der als JSON-Objekt ausgedrückt wird. Derzeit wird nur der Typ AuditLog akzeptiert.

Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld "@type" enthält einen URI zur Identifizierung des Typs. Beispiel: { "id": 1234, "@type": "types.example.com/standard/id" }.

textPayload

string

Nutzlast des Logeintrags, dargestellt als Unicode-String (UTF-8).

structPayload

object (Struct format)

Nutzlast des Logeintrags, dargestellt als eine Struktur, die als JSON-Objekt ausgedrückt wird.

HttpRequest

Ein gängiges Proto für das Logging von HTTP-Anfragen. Enthält nur Semantik, die durch die HTTP-Spezifikation definiert ist. Produktspezifische Logging-Informationen MÜSSEN in einer separaten Nachricht definiert werden.

JSON-Darstellung
{
  "requestMethod": string,
  "requestUrl": string,
  "requestSize": string,
  "status": integer,
  "responseSize": string,
  "userAgent": string,
  "remoteIp": string,
  "serverIp": string,
  "referer": string,
  "latency": string,
  "cacheLookup": boolean,
  "cacheHit": boolean,
  "cacheValidatedWithOriginServer": boolean,
  "cacheFillBytes": string,
  "protocol": string
}
Felder
requestMethod

string

Die Anfragemethode. Beispiele: "GET", "HEAD", "PUT", "POST".

requestUrl

string

Das Schema (http, https), der Hostname, der Pfad und der Abfrageteil der angeforderten URL. Beispiel: "http://example.com/some/info?color=red".

requestSize

string (int64 format)

Die Größe der HTTP-Anfragenachricht in Byte, einschließlich der Anfrageheader und des Anfragetexts.

status

integer

Der Antwortcode, der den Status der Antwort angibt. Beispiele: 200, 404.

responseSize

string (int64 format)

Die Größe der HTTP-Antwortnachricht, die an den Client zurückgesendet wird, in Byte, einschließlich der Antwortheader und des Antworttexts.

userAgent

string

Der vom Client gesendete User-Agent. Beispiel: "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)".

remoteIp

string

Die IP-Adresse des Clients (IPv4 oder IPv6), der die HTTP-Anfrage gesendet hat. Beispiele: "192.168.1.1", "FE80::0202:B3FF:FE1E:8329".

serverIp

string

Die IP-Adresse (IPv4 oder IPv6) des Ursprungsservers, an den die Anfrage gesendet wurde.

referer

string

Die Referrer-URL der Anfrage, wie in HTTP/1.1 Header Field Definitions definiert.

latency

string (Duration format)

Die Latenz bei der Verarbeitung der Anfrage auf dem Server, vom Zeitpunkt des Empfangs der Anfrage bis zum Senden der Antwort.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

cacheLookup

boolean

Gibt an, ob ein Cache-Lookup versucht wurde.

cacheHit

boolean

Gibt an, ob eine Entität aus dem Cache bereitgestellt wurde (mit oder ohne Validierung).

cacheValidatedWithOriginServer

boolean

Gibt an, ob die Antwort mit dem Ursprungsserver validiert wurde, bevor sie aus dem Cache bereitgestellt wurde. Dieses Feld ist nur sinnvoll, wenn cacheHit auf „True“ gesetzt ist.

cacheFillBytes

string (int64 format)

Die Anzahl der HTTP-Antwort-Byte, die in den Cache eingefügt wurden. Wird nur festgelegt, wenn versucht wurde, den Cache zu füllen.

protocol

string

Für die Anfrage verwendetes Protokoll. Beispiele: „HTTP/1.1“, „HTTP/2“, „websocket“

LogEntryOperation

Zusätzliche Informationen zu einem potenziell lang andauernden Vorgang, mit dem ein Logeintrag verknüpft ist.

JSON-Darstellung
{
  "id": string,
  "producer": string,
  "first": boolean,
  "last": boolean
}
Felder
id

string

Optional. Eine beliebige Vorgangs-ID. Logeinträge mit derselben Kennung werden als Teil desselben Vorgangs betrachtet.

producer

string

Optional. Eine beliebige Ersteller-ID. Die Kombination aus id und producer muss global eindeutig sein. Beispiele für producer: "MyDivision.MyBigCompany.com", "github.com/MyProject/MyApplication".

first

boolean

Optional. Setzen Sie diesen Wert auf „True“, wenn dies der erste Logeintrag im Vorgang ist.

last

boolean

Optional. Setzen Sie diesen Wert auf „True“, wenn dies der letzte Logeintrag im Vorgang ist.

LogEntrySourceLocation

Zusätzliche Informationen zum Speicherort des Quellcodes, der den Logeintrag generiert hat.

JSON-Darstellung
{
  "file": string,
  "line": string,
  "function": string
}
Felder
file

string

Optional. Name der Quelldatei. Je nach Laufzeitumgebung kann dies ein einfacher oder ein voll qualifizierter Name sein.

line

string (int64 format)

Optional. Zeile in der Quelldatei. Die kleinste mögliche Zahl ist 1. Bei 0 ist keine Zeilennummer verfügbar.

function

string

Optional. Der für Menschen lesbare Name der aufgerufenen Funktion oder Methode mit optionalem Kontext wie dem Klassen- oder Paketnamen. Diese Informationen können in Kontexten wie der Loganzeige verwendet werden, in denen eine Datei- und Zeilennummer weniger aussagekräftig sind. Das Format kann je nach Sprache variieren. Beispiele: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).

QuotaProperties

Stellt die für Kontingentvorgänge erforderlichen Eigenschaften dar.

JSON-Darstellung
{
  "quotaMode": enum (QuotaMode)
}
Felder
quotaMode

enum (QuotaMode)

Kontingentmodus für diesen Vorgang.

ResourceInfo

Beschreibt eine Ressource, die mit diesem Vorgang verknüpft ist.

JSON-Darstellung
{
  "resourceContainer": string,
  "resourceName": string,
  "resourceLocation": string,
  "permission": string
}
Felder
resourceContainer

string

Die Kennung des übergeordneten Elements dieser Ressourceninstanz. Muss eines der folgenden Formate haben: – projects/<project-id or project-number>folders/<folder-id>organizations/<organization-id>

resourceName

string

Der Name der Ressource. Dies wird für Audits verwendet.

resourceLocation

string

Der Standort der Ressource. Wenn das Feld nicht leer ist, wird die Ressource anhand der Standortrichtlinie geprüft. Der Wert muss eine gültige Zone, Region oder Mehrfachregion sein. Beispiele: „europe-west4“ oder „northamerica-northeast1-a“

permission

string

Die für diese Anfrage erforderliche Ressourcenberechtigung.

TraceSpan

Ein Span stellt einen einzelnen Vorgang in einem Trace dar. Spans können verschachtelt werden, um einen Trace-Baum zu bilden. Häufig enthält ein Trace einen Stamm-Span, der die End-to-End-Latenz beschreibt, und einen oder mehrere untergeordnete Spans für die zugehörigen untergeordneten Vorgänge. Ein Trace kann auch mehrere oder gar keine Root-Spans enthalten. Spans müssen nicht zusammenhängend sein. Es kann Lücken oder Überschneidungen zwischen Spans in einem Trace geben.

JSON-Darstellung
{
  "name": string,
  "spanId": string,
  "parentSpanId": string,
  "displayName": {
    object (TruncatableString)
  },
  "startTime": string,
  "endTime": string,
  "attributes": {
    object (Attributes)
  },
  "status": {
    object (Status)
  },
  "sameProcessAsParentSpan": boolean,
  "childSpanCount": integer,
  "spanKind": enum (SpanKind)
}
Felder
name

string

Der Ressourcenname des Spans im folgenden Format:

projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]

[TRACE_ID] ist eine eindeutige Kennung für einen Trace innerhalb eines Projekts. Sie ist eine aus 32 Zeichen bestehende hexadezimale Codierung eines 16-Byte-Arrays.

[SPAN_ID] ist eine eindeutige Kennung für einen Span innerhalb eines Traces. Es handelt sich um eine aus 16 Zeichen bestehende hexadezimale Codierung eines 8-Byte-Arrays.

spanId

string

Der [SPAN_ID]-Teil des Ressourcennamens des Spans.

parentSpanId

string

Die [SPAN_ID] des übergeordneten Spans dieses Spans. Wenn es sich um einen Stamm-Span handelt, muss dieses Feld leer sein.

displayName

object (TruncatableString)

Eine Beschreibung des Vorgangs des Zeitraums (bis zu 128 Byte). Stackdriver Trace zeigt die Beschreibung in der Google Cloud Platform Console an. Der Anzeigename kann beispielsweise ein qualifizierter Methodenname oder ein Dateiname und eine Zeilennummer sein, in der der Vorgang aufgerufen wird. Es hat sich bewährt, innerhalb einer Anwendung und am selben Aufrufpunkt denselben Anzeigenamen zu verwenden. Dadurch wird es einfacher, Spans in verschiedenen Traces in Beziehung zu setzen.

startTime

string (Timestamp format)

Die Startzeit des Zeitraums. Auf der Clientseite ist das die Zeit, die von der lokalen Maschine gespeichert wird, auf der die Spannen-Ausführung beginnt. Serverseitig ist dies der Zeitpunkt, zu dem der Anwendungshandler des Servers ausgeführt wird.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Die Endzeit des Zeitraums. Auf der Clientseite ist dies die Zeit, die vom lokalen Computer gespeichert wird, auf dem die Spanausführung endet. Auf der Serverseite ist dies der Zeitpunkt, zu dem der Handler der Serveranwendung nicht mehr ausgeführt wird.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

attributes

object (Attributes)

Eine Reihe von Attributen für den Span. Sie können bis zu 32 Attribute pro Bereich haben.

status

object (Status)

Ein optionaler endgültiger Status für diesen Zeitraum.

sameProcessAsParentSpan

boolean

(Optional) Legen Sie diesen Parameter fest, um anzugeben, ob sich dieser Bereich im selben Prozess wie sein übergeordneter Bereich befindet. Wenn Sie diesen Parameter nicht festlegen, kann Stackdriver Trace diese hilfreichen Informationen nicht nutzen.

childSpanCount

integer

Eine optionale Anzahl von untergeordneten Spans, die generiert wurden, während dieser Span aktiv war. Wenn festgelegt, kann die Implementierung fehlende untergeordnete Spannen erkennen.

spanKind

enum (SpanKind)

Unterscheidet zwischen Spannen, die in einem bestimmten Kontext generiert wurden. Beispielsweise können zwei Spans mit demselben Namen mithilfe von CLIENT (Aufrufer) und SERVER (aufgerufene Funktion) unterschieden werden, um einen RPC-Aufruf zu identifizieren.

TruncatableString

Stellt einen String dar, der auf eine bestimmte Länge gekürzt werden kann.

JSON-Darstellung
{
  "value": string,
  "truncatedByteCount": integer
}
Felder
value

string

Der gekürzte String. Wenn der ursprüngliche String beispielsweise 500 Byte lang ist und das Limit für den String 128 Byte beträgt, enthält value die ersten 128 Byte des 500 Byte langen Strings.

Das Abschneiden erfolgt immer an einer UTF8-Zeichengrenze. Wenn der String Multibyte-Zeichen enthält, ist die Länge des gekürzten Strings möglicherweise geringer als das Größenlimit.

truncatedByteCount

integer

Die Anzahl der Bytes, die aus dem ursprünglichen String entfernt wurden. Wenn dieser Wert 0 ist, wurde der String nicht gekürzt.

Attribute

Eine Reihe von Attributen, jeweils im Format [KEY]:[VALUE].

JSON-Darstellung
{
  "attributeMap": {
    string: {
      object (AttributeValue)
    },
    ...
  },
  "droppedAttributesCount": integer
}
Felder
attributeMap

map (key: string, value: object (AttributeValue))

Die Menge der Attribute. Der Schlüssel jedes Attributs kann bis zu 128 Byte lang sein. Der Wert kann ein String mit bis zu 256 Byte, eine vorzeichenbehaftete 64‑Bit-Ganzzahl oder die booleschen Werte true und false sein. Beispiel:

"/instance_id": "my-instance"
"/http/userAgent": ""
"/http/request_bytes": 300
"example.com/myattribute": true

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

droppedAttributesCount

integer

Die Anzahl der verworfenen Attribute. Attribute können verworfen werden, weil ihre Schlüssel zu lang sind oder weil es zu viele Attribute gibt. Wenn dieser Wert 0 ist, sind alle Attribute gültig.

AttributeValue

Die zulässigen Typen für [VALUE] in einem [KEY]:[VALUE]-Attribut.

JSON-Darstellung
{

  // Union field value can be only one of the following:
  "stringValue": {
    object (TruncatableString)
  },
  "intValue": string,
  "boolValue": boolean
  // End of list of possible types for union field value.
}
Felder
Union-Feld value. Der Typ des Werts. Für value ist nur einer der folgenden Werte zulässig:
stringValue

object (TruncatableString)

Ein String mit einer Länge von bis zu 256 Byte.

intValue

string (int64 format)

Eine vorzeichenbehaftete 64-Bit-Ganzzahl.

boolValue

boolean

Ein boolescher Wert, der durch true oder false dargestellt wird.