Package google.api

색인

분포

Distribution에는 값의 모집단에 대한 요약 통계가 포함됩니다. 선택적으로 버킷 집합에 대한 값의 분포를 나타내는 히스토그램이 포함되어 있습니다.

요약 통계는 값 모집단 집합의 개수, 평균, 평균으로부터의 제곱 편차 합계, 최솟값, 최댓값입니다. 히스토그램은 버킷 시퀀스를 기반으로 하며 각 버킷에 속하는 값의 개수를 제공합니다. 버킷의 경계는 명시적으로 지정되거나 너비가 고정되거나 기하급수적으로 증가하는 버킷의 공식으로 지정됩니다.

금지되지는 않지만 값 모집단에 유한하지 않은 값 (무한대 또는 NaN)을 포함하면 meansum_of_squared_deviation 필드가 무의미해지므로 일반적으로 좋지 않습니다.

필드
count

int64

모집단의 값 수입니다. Must be non-negative. 히스토그램이 제공된 경우 이 값은 bucket_counts의 값 합계와 같아야 합니다.

mean

double

모집단에 있는 값의 산술 평균입니다. count이 0이면 이 필드는 0이어야 합니다.

sum_of_squared_deviation

double

모집단에 있는 값의 평균에서 제곱 편차의 합계 값 x_i의 경우 다음과 같습니다.

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

Knuth, 'The Art of Computer Programming', Vol. 2, page 232, 3rd edition에서는 한 번의 패스로 이 합계를 누적하는 Welford의 방법을 설명합니다.

count이 0이면 이 필드는 0이어야 합니다.

range

Range

지정된 경우 모집단 값의 범위를 포함합니다. count이 0이면 이 필드가 없어야 합니다.

bucket_options

BucketOptions

히스토그램 버킷 경계를 정의합니다. 분포에 히스토그램이 포함되지 않은 경우 이 필드를 생략합니다.

bucket_counts[]

int64

bucket_options에 설명된 대로 히스토그램의 각 버킷에 있는 값의 수입니다. 분포에 히스토그램이 없으면 이 필드를 생략합니다. 히스토그램이 있는 경우 bucket_counts의 값 합계는 분포의 count 필드 값과 같아야 합니다.

이 값이 있는 경우 bucket_counts에는 N개의 값이 포함되어야 합니다. 여기서 N은 bucket_options에 지정된 버킷 수입니다. N개 미만의 값을 제공하면 나머지 값은 0으로 간주됩니다.

bucket_counts의 값 순서는 세 가지 버킷 유형에 설명된 버킷 번호 지정 체계를 따릅니다. 첫 번째 값은 언더플로 버킷 (숫자 0)의 개수여야 합니다. 다음 N-2 값은 유한 버킷 (1~N-2)의 개수입니다. bucket_counts의 N번째 값은 오버플로 버킷 (숫자 N-1)의 개수입니다.

exemplars[]

Exemplar

value 필드의 오름차순이어야 합니다.

BucketOptions

BucketOptions는 분포의 히스토그램을 만드는 데 사용되는 버킷 경계를 설명합니다. 버킷은 선형 시퀀스, 지수 시퀀스일 수 있으며 각 버킷을 명시적으로 지정할 수도 있습니다. BucketOptions에는 각 버킷의 값 수가 포함되지 않습니다.

버킷에는 해당 버킷에 대해 집계되는 값의 하한값(포함)과 상한값(제외)이 있습니다. 버킷의 상한은 하한보다 엄격하게 커야 합니다. 분포의 N 버킷 시퀀스는 언더플로 버킷 (번호 0), 0개 이상의 유한 버킷 (번호 1~N-2), 오버플로 버킷 (번호 N-1)으로 구성됩니다. 버킷은 연속적입니다. 버킷 i (i > 0)의 하한은 버킷 i - 1의 상한과 동일합니다. 버킷은 유한 값의 전체 범위를 포함합니다. 언더플로 버킷의 하한은 -무한대이고 오버플로 버킷의 상한은 +무한대입니다. 유한 버킷은 두 경계가 모두 유한하기 때문에 이러한 이름이 붙었습니다.

필드
통합 필드 options. 이 세 필드 중 정확히 하나를 설정해야 합니다. options은 다음 중 하나여야 합니다.
linear_buckets

Linear

선형 버킷입니다.

exponential_buckets

Exponential

지수 버킷입니다.

explicit_buckets

Explicit

명시적 버킷입니다.

명시적

임의 너비의 버킷 집합을 지정합니다.

버킷은 size(bounds) + 1 (= N)개입니다. 버킷 i의 경계는 다음과 같습니다.

상한값 (0 <= i < N-1): bounds[i] 하한값 (1 <= i < N): bounds[i - 1]

bounds 필드는 하나 이상의 요소를 포함해야 합니다. bounds에 요소가 하나만 있으면 유한 버킷이 없으며 해당 단일 요소가 오버플로 및 언더플로 버킷의 공통 경계입니다.

필드
bounds[]

double

값은 단조롭게 증가해야 합니다.

지수

하한 값에 비례하는 너비가 있는 버킷의 지수 시퀀스를 지정합니다. 각 버킷은 버킷의 특정 값에 대한 일정한 상대적 불확실성을 나타냅니다.

버킷은 num_finite_buckets + 2 (= N)개입니다. 버킷 i의 경계는 다음과 같습니다.

상한값 (0 <= i < N-1): scale * (growth_factor ^ i)

하한값 (1 <= i < N): scale * (growth_factor ^ (i - 1))

필드
num_finite_buckets

int32

0보다 커야 합니다.

growth_factor

double

1보다 커야 합니다.

scale

double

0보다 커야 합니다.

선형

오버플로와 언더플로를 제외하고 너비가 모두 동일한 버킷의 선형 시퀀스를 지정합니다. 각 버킷은 버킷의 특정 값에 대한 일정한 절대 불확실성을 나타냅니다.

버킷은 num_finite_buckets + 2 (= N)개입니다. 버킷 i의 경계는 다음과 같습니다.

상한값 (0 <= i < N-1): 오프셋 + (너비 * i)

하한값 (1 <= i < N): 오프셋 + (너비 * (i - 1))

필드
num_finite_buckets

int32

0보다 커야 합니다.

width

double

0보다 커야 합니다.

offset

double

첫 번째 버킷의 하한입니다.

Exemplar

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

필드
value

double

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

timestamp

Timestamp

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

attachments[]

Any

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

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

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

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

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

범위

모집단 값의 범위입니다.

필드
min

double

모집단 값의 최솟값입니다.

max

double

모집단 값의 최댓값입니다.

HttpBody

임의의 HTTP 본문을 나타내는 메시지입니다. 원시 바이너리나 HTML 페이지와 같이 JSON으로 표현할 수 없는 페이로드 형식에만 사용해야 합니다.

이 메시지는 요청과 응답에서 스트리밍 및 스트리밍이 아닌 API 메서드에 모두 사용될 수 있습니다.

또한 최상위 요청 필드로 사용할 수 있으며, URL 또는 HTTP 템플릿에서 요청 필드로 매개변수를 추출하려는 경우와 원시 HTTP 본문에 액세스하려는 경우에 편리하게 사용할 수 있습니다.

예를 들면 다음과 같습니다.

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

}

스트리밍 메서드의 예시:

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

}

이 유형을 사용하면 요청 및 응답 본문을 처리하는 방법만 변경되며, 다른 모든 기능은 변경되지 않고 계속 작동합니다.

필드
content_type

string

본문의 콘텐츠 유형을 지정하는 HTTP Content-Type 헤더 값입니다.

data

bytes

원시 바이너리인 HTTP 요청/응답 본문입니다.

extensions[]

Any

애플리케이션별 응답 메타데이터입니다. 스트리밍 API의 첫 번째 응답에서 설정되어야 합니다.

측정항목

MetricDescriptor의 모든 라벨 값을 지정하여 식별되는 특정 측정항목입니다.

필드
type

string

기존 측정항목 유형입니다(google.api.MetricDescriptor 참고). 예를 들면 custom.googleapis.com/invoice/paid/amount입니다.

labels

map<string, string>

이 측정항목을 고유하게 식별하는 라벨 값 집합입니다. MetricDescriptor에 나열된 모든 라벨에 값을 할당해야 합니다.

MetricDescriptor

이 유형에는 필드가 없습니다.

측정항목 유형과 스키마를 정의합니다. 측정항목 설명자가 생성되면 이를 삭제하거나 변경하면 데이터 수집이 중지되고 측정항목 유형의 기존 데이터를 사용할 수 없게 됩니다.

MetricKind

측정 종류입니다. 데이터가 보고되는 방식을 설명합니다. MetricKind에 따라 시작 시간과 종료 시간을 설정하는 방법에 대한 자세한 내용은 TimeInterval를 참고하세요.

열거형
METRIC_KIND_UNSPECIFIED 이 기본값을 사용하지 마세요.
GAUGE 값의 순간 측정입니다.
DELTA 시간 간격 동안의 값 변화입니다.
CUMULATIVE 시간 간격 동안 누적된 값입니다. 시계열의 누적 측정값은 이벤트가 누적 값을 0으로 재설정하고 새 시작 시간을 다음 포인트로 설정할 때까지 동일한 시작 시간과 증가하는 종료 시간을 가져야 합니다.

ValueType

측정항목의 값 유형입니다.

열거형
VALUE_TYPE_UNSPECIFIED 이 기본값을 사용하지 마세요.
BOOL 값은 불리언입니다. 이 값 유형은 측정항목 종류가 GAUGE인 경우에만 사용할 수 있습니다.
INT64 값은 부호 있는 64비트 정수입니다.
DOUBLE 값은 배정밀도 부동 소수점 수입니다.
STRING 값은 텍스트 문자열입니다. 이 값 유형은 측정항목 종류가 GAUGE인 경우에만 사용할 수 있습니다.
DISTRIBUTION 값은 Distribution입니다.
MONEY 값은 금액입니다.

MonitoredResource

모니터링, 로깅, 청구 또는 기타 용도로 사용할 수 있는 리소스를 나타내는 객체입니다. 예를 들면 가상 머신 인스턴스, 데이터베이스 및 디스크와 같은 저장 기기가 있습니다. type 필드는 리소스의 스키마를 설명하는 MonitoredResourceDescriptor 객체를 식별합니다. labels 필드의 정보는 스키마에 따라 실제 리소스와 속성을 식별합니다. 예를 들어 "gce_instance"MonitoredResourceDescriptor에 라벨 "project_id", "instance_id", "zone"이 있으므로 특정 Compute Engine VM 인스턴스는 다음 객체로 나타낼 수 있습니다.

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

string

필수. 모니터링 리소스 유형입니다. 이 필드는 MonitoredResourceDescriptor 객체의 type 필드와 일치해야 합니다. 예를 들어 Compute Engine VM 인스턴스의 유형은 gce_instance입니다. 일부 설명자에는 유형에 서비스 이름이 포함됩니다. 예를 들어 Datastream 스트림의 유형은 datastream.googleapis.com/Stream입니다.

labels

map<string, string>

필수 항목입니다. 관련 모니터링 리소스 설명자에 나열된 모든 라벨의 값입니다. 예를 들어 Compute Engine VM 인스턴스는 "project_id", "instance_id", "zone" 라벨을 사용합니다.

MonitoredResourceMetadata

MonitoredResource 객체의 보조 메타데이터입니다. MonitoredResource 객체에는 모니터링 리소스 인스턴스를 고유하게 식별하는 최소한의 정보가 포함됩니다. 다른 유용한 보조 메타데이터가 있습니다. Monitoring 및 Logging은 내부 데이터화 파이프라인을 사용하여 모든 유형의 클라우드 리소스에 대한 메타데이터를 추출하고 이 메시지에 메타데이터를 저장합니다.

필드
system_labels

Struct

출력 전용. 미리 정의된 시스템 메타데이터 라벨의 값입니다. 시스템 라벨은 Google에서 추출한 메타데이터의 종류로, 'machine_image', 'vpc', 'subnet_id', 'security_group', 'name' 등이 있습니다. 시스템 라벨 값에는 문자열, 부울 값 또는 문자열 목록만 허용됩니다. 예를 들면 다음과 같습니다.

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

map<string, string>

출력 전용. 사용자 정의 메타데이터 라벨의 맵입니다.