BillingView

Eventstream을 통해 결제 요청을 보고하는 메시지입니다.

JSON 표현
{
  "reportRequests": [
    {
      object (ReportRequest)
    }
  ]
}
필드
reportRequests[]

object (ReportRequest)

cloud.eventstream.v2.ResourceEvent에 대해 보고할 결제 요청

ReportRequest

services.report 메서드의 요청 메시지입니다.

JSON 표현
{
  "serviceName": string,
  "operations": [
    {
      object (Operation)
    }
  ],
  "serviceConfigId": string
}
필드
serviceName

string

서비스 구성에 지정된 서비스 이름입니다. 예를 들면 "pubsub.googleapis.com"입니다.

서비스 이름의 정의는 google.api.Service를 참고하세요.

operations[]

object (Operation)

보고할 작업입니다.

일반적으로 서비스는 요청당 하나의 작업을 보고해야 합니다. 단일 요청에 여러 작업을 넣는 것은 허용되지만 보고 시점에 여러 작업을 자연스럽게 사용할 수 있는 경우에만 사용해야 합니다.

동일한 ReportRequest의 작업 수에는 제한이 없지만 ReportRequest 크기는 1MB를 초과해서는 안 됩니다. 부분 실패 동작은 ReportResponse.report_errors를 참고하세요.

serviceConfigId

string

요청을 처리하는 데 사용할 서비스 구성의 버전을 지정합니다.

지정되지 않았거나 일치하는 버전을 찾을 수 없는 경우 최신 버전이 사용됩니다.

작업

작업에 관한 정보를 나타냅니다.

JSON 표현
{
  "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)
    }
  ]
}
필드
operationId

string

작업의 ID입니다. 이 값은 작업을 생성한 서비스 범위 내에서 고유해야 합니다. 서비스가 동일한 작업에서 services.check() 및 services.report()를 호출하는 경우 두 호출은 동일한 ID를 전달해야 합니다.

UUID 버전 4가 권장되지만 필수는 아닙니다. 기존 정보에서 작업이 계산되고 중복 삭제 목적으로 동일한 ID가 필요한 시나리오에서는 UUID 버전 5가 권장됩니다. 자세한 내용은 RFC 4122를 참고하세요.

operationName

string

작업의 정규화된 이름입니다. 나중에 사용하기 위해 예약되어 있습니다.

consumerId

string

서비스를 사용하는 소비자의 ID입니다. 이 필드는 소비자가 시작한 작업에 대해 작성해야 하지만 특정 소비자와 관련이 없는 서비스에서 시작한 작업에는 작성하지 않아야 합니다.

  • 다음 형식 중 하나일 수 있습니다.
    • project:PROJECT_ID,
    • project_number:PROJECT_NUMBER,
    • projects/PROJECT_ID 또는 PROJECT_NUMBER
    • folders/FOLDER_NUMBER,
    • organizations/ORGANIZATION_NUMBER,
    • api_key:API_KEY.
startTime

string (Timestamp format)

필수 항목입니다. 작업의 시작 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

endTime

string (Timestamp format)

작업의 종료 시간입니다. 작업이 ServiceController.Report에서 사용되는 경우 필수이지만 작업이 ServiceController.Check에서 사용되는 경우 선택사항입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

labels

map (key: string, value: string)

작업을 설명하는 라벨입니다. 다음 라벨만 허용됩니다.

  • 서비스 구성에 정의된 모니터링 리소스를 설명하는 라벨입니다.
  • 측정항목 값의 기본 라벨입니다. 지정된 경우 측정항목 값에 정의된 라벨이 이러한 기본값을 재정의합니다.
  • Google Cloud Platform에서 정의한 라벨은 다음과 같습니다.
    • cloud.googleapis.com/location 작업이 발생한 위치를 설명합니다.
    • servicecontrol.googleapis.com/userAgent API 요청의 사용자 에이전트를 설명합니다.
    • API 요청을 처리하는 데 사용된 서비스 (예: ESP)를 설명하는 servicecontrol.googleapis.com/service_agent
    • servicecontrol.googleapis.com/platform API가 제공되는 플랫폼(예: App Engine, Compute Engine, Kubernetes Engine)을 설명합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

metricValueSets[]

object (MetricValueSet)

이 작업에 관한 정보를 나타냅니다. 각 MetricValueSet은 서비스 구성에 정의된 측정항목에 해당합니다. MetricValueSet에 사용된 데이터 유형은 측정항목 정의에 지정된 데이터 유형과 일치해야 합니다.

단일 작업 내에서 측정항목 이름이 동일하고 라벨 값 조합이 동일한 MetricValue 인스턴스를 두 개 이상 사용할 수 없습니다. 요청에 중복된 MetricValue 인스턴스가 있으면 잘못된 인수 오류와 함께 전체 요청이 거부됩니다.

logEntries[]

object (LogEntry)

로깅할 정보를 나타냅니다.

quotaProperties

object (QuotaProperties)

할당량 확인에 필요한 속성을 나타냅니다. 이 작업이 할당량 확인 요청인 경우에만 적용됩니다. 지정하지 않으면 할당량 검사가 실행되지 않습니다.

importance

enum (Importance)

사용하지 않습니다. 실험용 필드입니다.

userLabels

map (key: string, value: string)

비공개 미리보기 이 기능은 승인된 서비스에서만 사용할 수 있습니다.

이 작업과 연결된 리소스의 사용자 정의 라벨입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

resources[]

object (ResourceInfo)

작업과 관련된 리소스입니다. 이 필드에서 지원되는 최대 항목 수는 100개입니다.

traceSpans[]

object (TraceSpan)

구현되지 않음. Cloud Trace 스팬 목록입니다. 스팬 이름에는 생산자 또는 소비자 프로젝트일 수 있는 대상 프로젝트의 ID가 포함되어야 합니다.

MetricValueSet

동일한 측정항목의 측정항목 값 집합을 나타냅니다. 세트의 각 측정항목 값에는 시작 시간, 종료 시간, 라벨 값의 고유한 조합이 있어야 합니다.

JSON 표현
{
  "metricName": string,
  "metricValues": [
    {
      object (MetricValue)
    }
  ]
}
필드
metricName

string

서비스 구성에 정의된 측정항목 이름입니다.

metricValues[]

object (MetricValue)

이 측정항목의 값입니다.

MetricValue

단일 측정항목 값을 나타냅니다.

JSON 표현
{
  "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.
}
필드
labels

map (key: string, value: string)

측정항목 값을 설명하는 라벨입니다. 재정의 관계에 관한 google.api.servicecontrol.v1.Operation.labels의 주석을 참고하세요. 이 맵에는 모니터링 리소스 라벨이 포함되어서는 안 됩니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

startTime

string (Timestamp format)

이 측정항목 값의 측정이 적용되는 기간의 시작입니다. 기간은 측정항목 유형 (누적, 델타, 게이지)에 따라 의미가 다릅니다. 자세한 내용은 서비스 구성의 측정항목 정의 문서를 참고하세요. 지정하지 않으면 google.api.servicecontrol.v1.Operation.start_time이 사용됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

endTime

string (Timestamp format)

이 측정항목 값의 측정이 적용되는 기간의 종료입니다. 지정하지 않으면 google.api.servicecontrol.v1.Operation.end_time이 사용됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

통합 필드 value. 값입니다. 요청에 사용된 값의 유형은 서비스 구성의 측정항목 정의와 일치해야 합니다. 그렇지 않으면 MetricValue가 거부됩니다. value은 다음 중 하나여야 합니다.
boolValue

boolean

부울 값

int64Value

string (int64 format)

부호 있는 64비트 정수 값입니다.

doubleValue

number

배정밀도 부동 소수점 값입니다.

stringValue

string

텍스트 문자열 값입니다.

distributionValue

object (Distribution)

분포 값입니다.

moneyValue

object (Money)

금액 값입니다.

분포

분포는 double 값 샘플 포인트의 빈도 분포를 나타냅니다. 여기에는 샘플 포인트의 인구 크기와 추가 선택적 정보가 포함됩니다.

  • 샘플의 산술 평균
  • 샘플의 최소값과 최대값
  • 분산을 계산하는 데 사용되는 샘플의 제곱 편차 합계
  • 샘플 포인트 값의 히스토그램
JSON 표현
{
  "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.
}
필드
count

string (int64 format)

분포의 총 샘플 수입니다. 0 이상이어야 합니다.

mean

number

분포에 있는 샘플의 산술 평균입니다. count이 0이면 이 필드는 0이어야 합니다.

minimum

number

값 모집단의 최솟값입니다. count이 0이면 무시됩니다.

maximum

number

값 모집단의 최댓값입니다. count이 0이면 무시됩니다.

sumOfSquaredDeviation

number

평균에서 편차 제곱의 합계입니다. 각 x_i는 샘플 값입니다. count이 0이면 이 필드는 0이어야 합니다. 그렇지 않으면 요청의 유효성 검사가 실패합니다.

bucketCounts[]

string (int64 format)

각 히스토그램 버킷의 샘플 수입니다. bucketCounts은 선택사항입니다. 값이 있는 경우 합계가 count 값과 같아야 합니다.

버킷은 아래 bucket_option에 정의되어 있습니다. N개의 버킷이 있습니다. bucketCounts[0]는 언더플로 버킷의 샘플 수입니다. bucketCounts[1]~bucketCounts[N-1]은 각 유한 버킷의 샘플 수입니다. bucketCounts[N]는 오버플로 버킷의 샘플 수입니다. 자세한 내용은 아래 bucket_option의 주석을 참고하세요.

뒤에 오는 0의 접미사는 생략할 수 있습니다.

exemplars[]

object (Exemplar)

예시 포인트 value 필드의 오름차순이어야 합니다.

통합 필드 bucket_option. 히스토그램의 버킷을 정의합니다. bucket_optionbucket_counts는 모두 설정되거나 모두 설정되지 않아야 합니다.

버킷은 [0, N] 범위로 번호가 매겨지며 총 N+1개의 버킷이 있습니다. 버킷이 두 개 이상 있어야 합니다 (단일 버킷 히스토그램은 count에서 이미 제공된 정보 외에 다른 정보를 제공하지 않음).

첫 번째 버킷은 하한이 -inf인 언더플로 버킷입니다. 마지막 버킷은 상한이 +inf인 오버플로 버킷입니다. 다른 모든 버킷 (있는 경우)은 하한과 상한이 유한하므로 '유한' 버킷이라고 합니다. 아래에 설명된 대로 유한 버킷을 정의하는 방법은 세 가지가 있습니다.

(1) 너비가 일정한 버킷 (2) 너비가 기하급수적으로 증가하는 버킷 (3) 사용자가 제공한 임의 너비의 버킷

어떤 경우든 버킷은 전체 실수선 (-inf, +inf)을 포함합니다. 버킷 상한은 제외되고 하한은 포함됩니다. 언더플로 버킷의 상한은 가장 작은 유한 버킷의 하한과 같고, 오버플로 버킷의 하한은 가장 큰 유한 버킷의 상한과 같습니다. bucket_option는 다음 중 하나여야 합니다.

linearBuckets

object (LinearBuckets)

너비가 일정한 버킷입니다.

exponentialBuckets

object (ExponentialBuckets)

너비가 기하급수적으로 증가하는 버킷입니다.

explicitBuckets

object (ExplicitBuckets)

사용자가 제공한 임의 너비의 버킷입니다.

LinearBuckets

너비가 일정한 버킷을 설명합니다.

JSON 표현
{
  "numFiniteBuckets": integer,
  "width": number,
  "offset": number
}
필드
numFiniteBuckets

integer

유한 버킷의 개수입니다. 언더플로 및 오버플로 버킷을 포함하면 총 버킷 수는 numFiniteBuckets + 2입니다. 자세한 내용은 bucketOptions에 관한 의견을 참고하세요.

width

number

i번째 선형 버킷은 [offset + (i-1) * width, offset + i * width) 구간을 포함하며 여기서 i는 1부터 numFiniteBuckets까지의 정수입니다. 엄격하게 양수여야 합니다.

offset

number

i번째 선형 버킷은 [offset + (i-1) * width, offset + i * width) 간격을 포함하며 여기서 i는 1부터 numFiniteBuckets까지의 정수입니다.

ExponentialBuckets

너비가 기하급수적으로 증가하는 버킷을 설명합니다.

JSON 표현
{
  "numFiniteBuckets": integer,
  "growthFactor": number,
  "scale": number
}
필드
numFiniteBuckets

integer

유한 버킷의 개수입니다. 언더플로 및 오버플로 버킷을 포함하면 총 버킷 수는 numFiniteBuckets + 2입니다. 자세한 내용은 bucketOptions에 관한 의견을 참고하세요.

growthFactor

number

i번째 지수 버킷은 [scale * growthFactor^(i-1), scale * growthFactor^i) 구간을 포함하며, 여기서 i는 1부터 numFiniteBuckets까지의 정수입니다. 1.0보다 커야 합니다.

scale

number

i번째 지수 버킷은 [scale * growthFactor^(i-1), scale * growthFactor^i) 구간을 포함하며, 여기서 i는 1부터 numFiniteBuckets까지의 정수입니다. 0보다 커야 합니다.

ExplicitBuckets

사용자가 제공한 임의 너비로 버킷을 설명합니다.

JSON 표현
{
  "bounds": [
    number
  ]
}
필드
bounds[]

number

'bound'는 버킷 간의 엄격하게 증가하는 경계 목록입니다. 길이가 N-1인 목록은 펜스포스팅으로 인해 N개의 버킷을 정의합니다. 자세한 내용은 bucketOptions에 관한 의견을 참고하세요.

i번째 유한 버킷은 [bound[i-1], bound[i]) 구간을 포함하며 여기서 i는 1부터 bound_size() - 1까지입니다. 'bound'에 단일 요소만 포함된 경우에는 유한 버킷이 전혀 없습니다. 이 특별한 경우 단일 경계는 언더플로 버킷과 오버플로 버킷 사이의 경계를 정의합니다.

버킷 번호 하한값 상한값 i == 0 (언더플로) -inf bound[i] 0 < i < bound_size() bound[i-1] bound[i] i == bound_size() (오버플로) bound[i-1] +inf

Exemplar

특히 집계된 분포 값을 주석으로 처리하는 데 사용할 수 있는 예시가 있습니다. 분포 버킷에 추가된 특정 값에 관한 정보를 제공하는 메타데이터입니다(예: 값이 추가될 때 활성 상태였던 추적 ID). 예시 값, 타임스탬프, 출처 등 추가 정보가 포함될 수 있습니다.

JSON 표현
{
  "value": number,
  "timestamp": string,
  "attachments": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
필드
value

number

예시 포인트의 값입니다. 이 값은 예시가 속한 버킷을 결정합니다.

timestamp

string (Timestamp format)

위 값의 관측 (샘플링) 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

attachments[]

object

예시 값에 관한 컨텍스트 정보입니다. 예를 들면 다음과 같습니다.

추적: type.googleapis.com/google.monitoring.v3.SpanContext

리터럴 문자열: type.googleapis.com/google.protobuf.StringValue

집계 중에 삭제된 라벨: type.googleapis.com/google.monitoring.v3.DroppedLabels

단일 예시에는 특정 메시지 유형의 첨부파일이 하나만 있을 수 있으며 이는 시스템에 의해 적용됩니다.

임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"은 유형을 식별하는 URI를 포함합니다. 예: { "id": 1234, "@type": "types.example.com/standard/id" }

금액

금액과 통화 유형을 나타냅니다.

JSON 표현
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
필드
currencyCode

string

ISO 4217에 정의된 3자리 통화 코드입니다.

units

string (int64 format)

금액의 전체 단위입니다. 예를 들어 currencyCode"USD"이면 1단위는 1달러(USD)입니다.

nanos

integer

금액의 나노 (10^-9) 단위 수입니다. 이 값은 -999,999,999~+999,999,999(끝값 포함) 사이여야 합니다. units가 양수이면 nanos는 양수 또는 0이어야 합니다. units가 0이면 nanos는 양수, 0 또는 음수일 수 있습니다. units가 음수이면 nanos는 음수 또는 0이어야 합니다. 예를 들어 $-1.75는 units=-1 및 nanos=-750,000,000으로 나타냅니다.

LogEntry

개별 로그 항목입니다.

JSON 표현
{
  "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.
}
필드
name

string

필수 항목입니다. 이 로그 항목이 속한 로그입니다. 예시: "syslog", "book_log".

timestamp

string (Timestamp format)

로그 항목에서 설명하는 이벤트가 발생한 시간입니다. 생략할 경우 기본값은 작업 시작 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

severity

enum (LogSeverity)

로그 항목의 심각도입니다. 기본값은 LogSeverity.DEFAULT입니다.

httpRequest

object (HttpRequest)

선택사항입니다. 이 로그 항목과 연결된 HTTP 요청에 관한 정보입니다(해당하는 경우).

trace

string

선택사항입니다. 로그 항목과 연결된 trace의 리소스 이름입니다(있는 경우). 이 필드에 상대적 리소스 이름이 포함된 경우 이름이 //tracing.googleapis.com을 기준으로 한 이름이라고 가정할 수 있습니다. 예를 들면 projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824입니다.

insertId

string

중복 삭제에 사용되는 로그 항목의 고유 ID입니다. 생략하면 구현에서 operationId를 기반으로 생성합니다.

labels

map (key: string, value: string)

로그 항목에 관한 추가 정보를 제공하는 사용자 정의 (키, 값) 데이터 집합입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

operation

object (LogEntryOperation)

선택사항입니다. 로그 항목과 연결된 작업에 관한 정보입니다(해당하는 경우).

sourceLocation

object (LogEntrySourceLocation)

선택사항입니다. 로그 항목과 연결된 소스 코드 위치 정보(있는 경우)

통합 필드 payload. 로그 항목 페이로드로, 여러 유형 중 하나일 수 있습니다. payload은 다음 중 하나여야 합니다.
protoPayload

object

JSON 객체로 표현되는 프로토콜 버퍼인 로그 항목 페이로드입니다. 현재 허용되는 유일한 유형은 AuditLog입니다.

임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"은 유형을 식별하는 URI를 포함합니다. 예: { "id": 1234, "@type": "types.example.com/standard/id" }

textPayload

string

유니코드 문자열 (UTF-8)로 표현되는 로그 항목 페이로드입니다.

structPayload

object (Struct format)

JSON 객체로 표현되는 구조인 로그 항목 페이로드입니다.

HttpRequest

HTTP 요청을 로깅하는 데 사용되는 공통 프로토콜입니다. HTTP 사양에 정의된 시맨틱스만 포함합니다. 제품별 로깅 정보는 별도의 메시지에 정의해야 합니다(MUST).

JSON 표현
{
  "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
}
필드
requestMethod

string

요청 메서드입니다. 예시: "GET", "HEAD", "PUT", "POST".

requestUrl

string

요청된 URL의 스키마 (http, https), 호스트 이름, 경로, 쿼리 부분 예: "http://example.com/some/info?color=red"

requestSize

string (int64 format)

요청 헤더와 요청 본문을 포함한 HTTP 요청 메시지의 크기(바이트)입니다.

status

integer

응답 상태를 나타내는 응답 코드입니다. 예: 200, 404

responseSize

string (int64 format)

응답 헤더와 응답 본문을 포함하여 클라이언트로 다시 전송되는 HTTP 응답 메시지의 크기(바이트)입니다.

userAgent

string

클라이언트가 보낸 사용자 에이전트입니다. 예: "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"

remoteIp

string

HTTP 요청을 실행한 클라이언트의 IP 주소(IPv4 또는 IPv6)입니다. 예시: "192.168.1.1", "FE80::0202:B3FF:FE1E:8329".

serverIp

string

요청을 전송한 원본 서버의 IP 주소(IPv4 또는 IPv6)입니다.

referer

string

HTTP/1.1 헤더 필드 정의에 정의된 요청의 리퍼러 URL입니다.

latency

string (Duration format)

요청이 수신된 시점부터 응답이 전송될 때까지 서버의 요청 처리 지연 시간입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

cacheLookup

boolean

캐시 조회를 시도했는지 여부입니다.

cacheHit

boolean

캐시에서 항목이 제공되었는지 여부(검증 유무에 관계없음)

cacheValidatedWithOriginServer

boolean

캐시에서 제공되기 전에 원본 서버로 응답이 검증되었는지 여부입니다. 이 필드는 cacheHit이 True인 경우에만 의미가 있습니다.

cacheFillBytes

string (int64 format)

캐시에 삽입된 HTTP 응답 바이트 수입니다. 캐시 채우기를 시도한 경우에만 설정됩니다.

protocol

string

요청에 사용된 프로토콜 예시: 'HTTP/1.1', 'HTTP/2', 'websocket'

LogEntryOperation

로그 항목과 연결된 잠재적으로 장기 실행되는 작업에 관한 추가 정보입니다.

JSON 표현
{
  "id": string,
  "producer": string,
  "first": boolean,
  "last": boolean
}
필드
id

string

선택사항입니다. 임의 작업 식별자입니다. 식별자가 동일한 로그 항목은 동일한 작업의 일부로 간주됩니다.

producer

string

선택사항입니다. 임의의 생산자 식별자입니다. idproducer의 조합은 전역적으로 고유해야 합니다. producer의 예: "MyDivision.MyBigCompany.com", "github.com/MyProject/MyApplication"

first

boolean

선택사항입니다. 작업의 첫 번째 로그 항목인 경우 True로 설정합니다.

last

boolean

선택사항입니다. 작업의 마지막 로그 항목인 경우 True로 설정합니다.

LogEntrySourceLocation

로그 항목을 생성한 소스 코드 위치에 관한 추가 정보입니다.

JSON 표현
{
  "file": string,
  "line": string,
  "function": string
}
필드
file

string

선택사항입니다. 소스 파일 이름입니다. 런타임 환경에 따라 간단한 이름 또는 정규화된 이름일 수 있습니다.

line

string (int64 format)

선택사항입니다. 소스 파일 내 줄입니다. 1 기반입니다. 0은 사용할 수 있는 행 번호가 없음을 나타냅니다.

function

string

선택사항입니다. 호출되는 함수 또는 메서드의 사람이 읽을 수 있는 이름입니다. 클래스 또는 패키지 이름과 같은 컨텍스트는 선택사항입니다. 이 정보는 파일과 줄 번호가 덜 의미 있는 로그 뷰어와 같은 컨텍스트에서 사용될 수 있습니다. 형식은 언어에 따라 다를 수 있습니다. 예: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python)

QuotaProperties

할당량 작업에 필요한 속성을 나타냅니다.

JSON 표현
{
  "quotaMode": enum (QuotaMode)
}
필드
quotaMode

enum (QuotaMode)

이 작업의 할당량 모드입니다.

ResourceInfo

이 작업과 연결된 리소스를 설명합니다.

JSON 표현
{
  "resourceContainer": string,
  "resourceName": string,
  "resourceLocation": string,
  "permission": string
}
필드
resourceContainer

string

이 리소스 인스턴스의 상위 항목 식별자입니다. projects/<project-id or project-number>, folders/<folder-id>, organizations/<organization-id> 형식 중 하나여야 합니다.

resourceName

string

리소스의 이름입니다. 감사 목적으로 사용됩니다.

resourceLocation

string

리소스의 위치입니다. 비어 있지 않으면 리소스가 위치 정책에 대해 확인됩니다. 값은 유효한 영역, 리전 또는 멀티 리전이어야 합니다. 예: 'europe-west4' 또는 'northamerica-northeast1-a'

permission

string

이 요청에 필요한 리소스 권한입니다.

TraceSpan

스팬은 트레이스 내의 단일 작업을 나타냅니다. 스팬은 중첩되어 트레이스 트리를 형성할 수 있습니다. 일반적으로 트레이스에는 엔드 투 엔드 지연 시간을 설명하는 루트 스팬과 하위 작업의 하위 스팬이 하나 이상 포함됩니다. 트레이스에는 여러 루트 스팬이 포함될 수도 있고 전혀 포함되지 않을 수도 있습니다. 스팬은 연속적일 필요가 없습니다. 트레이스에서 스팬 사이에 간격이 있거나 스팬이 겹칠 수 있습니다.

JSON 표현
{
  "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)
}
필드
name

string

다음 형식의 스팬 리소스 이름입니다.

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

[TRACE_ID] 는 프로젝트 내 trace의 고유 식별자이며 16바이트 배열의 32자 16진수 인코딩입니다.

[SPAN_ID] 는 트레이스 내 스팬의 고유 식별자이며 8바이트 배열의 16자 16진수 인코딩입니다.

spanId

string

스팬 리소스 이름의 [SPAN_ID] 부분입니다.

parentSpanId

string

이 스팬의 상위 스팬의 [SPAN_ID] 입니다. 루트 스팬인 경우 이 필드는 비어 있어야 합니다.

displayName

object (TruncatableString)

스팬 작업에 대한 설명입니다 (최대 128바이트). Stackdriver Trace는 Google Cloud Platform Console에 설명을 표시합니다. 예를 들어 표시 이름은 정규화된 메서드 이름이거나 작업이 호출되는 파일 이름과 줄 번호일 수 있습니다. 애플리케이션 내에서 그리고 동일한 호출 지점에서 동일한 표시 이름을 사용하는 것이 좋습니다. 이렇게 하면 서로 다른 트레이스에서 스팬을 더 쉽게 상호 연관시킬 수 있습니다.

startTime

string (Timestamp format)

스팬의 시작 시간입니다. 클라이언트 측에서는 스팬 실행이 시작되는 로컬 머신에서 유지되는 시간입니다. 서버 측에서는 서버의 애플리케이션 핸들러가 실행되기 시작한 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

endTime

string (Timestamp format)

스팬의 종료 시간입니다. 클라이언트 측에서는 스팬 실행이 종료되는 로컬 머신에서 유지되는 시간입니다. 서버 측에서는 서버 애플리케이션 핸들러가 실행을 중지하는 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

attributes

object (Attributes)

스팬의 속성 집합입니다. 스팬당 최대 32개의 속성을 사용할 수 있습니다.

status

object (Status)

이 스팬의 최종 상태입니다(선택사항).

sameProcessAsParentSpan

boolean

(선택사항) 이 스팬이 상위 스팬과 동일한 프로세스에 있는지 여부를 나타내도록 이 매개변수를 설정합니다. 이 매개변수를 설정하지 않으면 Stackdriver Trace에서 이 유용한 정보를 활용할 수 없습니다.

childSpanCount

integer

이 스팬이 활성 상태일 때 생성된 선택적 하위 스팬 수입니다. 설정된 경우 구현에서 누락된 하위 스팬을 감지할 수 있습니다.

spanKind

enum (SpanKind)

특정 컨텍스트에서 생성된 스팬을 구분합니다. 예를 들어 동일한 이름의 두 스팬은 CLIENT (호출자) 및 SERVER (피호출자)를 사용하여 RPC 호출을 식별할 수 있습니다.

TruncatableString

지정된 길이로 단축될 수 있는 문자열을 나타냅니다.

JSON 표현
{
  "value": string,
  "truncatedByteCount": integer
}
필드
value

string

단축된 문자열입니다. 예를 들어 원래 문자열의 길이가 500바이트이고 문자열의 제한이 128바이트인 경우 value에는 500바이트 문자열의 처음 128바이트가 포함됩니다.

잘림은 항상 UTF8 문자 경계에서 발생합니다. 문자열에 멀티바이트 문자가 있으면 단축된 문자열의 길이가 크기 제한보다 작을 수 있습니다.

truncatedByteCount

integer

원래 문자열에서 삭제된 바이트 수입니다. 이 값이 0이면 문자열이 단축되지 않은 것입니다.

속성

각각 [KEY]:[VALUE] 형식인 속성 집합입니다.

JSON 표현
{
  "attributeMap": {
    string: {
      object (AttributeValue)
    },
    ...
  },
  "droppedAttributesCount": integer
}
필드
attributeMap

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

속성 집합입니다. 각 속성의 키는 최대 128바이트까지 가능합니다. 값은 최대 256바이트의 문자열, 부호 있는 64비트 정수 또는 불리언 값 truefalse일 수 있습니다. 예를 들면 다음과 같습니다.

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

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

droppedAttributesCount

integer

삭제된 속성 수입니다. 속성의 키가 너무 길거나 속성이 너무 많으면 속성이 삭제될 수 있습니다. 이 값이 0이면 모든 속성이 유효합니다.

속성 값

[KEY]:[VALUE] 속성의 [VALUE] 에 허용되는 유형입니다.

JSON 표현
{

  // 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.
}
필드
통합 필드 value. 값 유형입니다. value은 다음 중 하나여야 합니다.
stringValue

object (TruncatableString)

최대 256바이트 길이의 문자열입니다.

intValue

string (int64 format)

부호 있는 64비트 정수입니다.

boolValue

boolean

true 또는 false로 표시되는 불리언 값입니다.