Distribution

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

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

무한대 또는 NaN과 같은 유한하지 않은 값을 값 모집단에 포함하는 것은 금지되어 있지는 않지만 일반적으로 좋지 않습니다. 이렇게 하면 mean 및 sumOfSquaredDeviation 필드가 무의미해지기 때문입니다.

JSON 표현
{
  "count": string,
  "mean": number,
  "sumOfSquaredDeviation": number,
  "range": {
    object (Range)
  },
  "bucketOptions": {
    object (BucketOptions)
  },
  "bucketCounts": [
    string
  ],
  "exemplars": [
    {
      object (Exemplar)
    }
  ]
}
필드
count

string (int64 format)

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

mean

number

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

sumOfSquaredDeviation

number

모집단에 있는 값의 평균에서 제곱 편차의 합계입니다. 값 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

object (Range)

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

bucketOptions

object (BucketOptions)

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

bucketCounts[]

string (int64 format)

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

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

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

exemplars[]

object (Exemplar)

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

범위

모집단 값의 범위입니다.

JSON 표현
{
  "min": number,
  "max": number
}
필드
min

number

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

max

number

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

BucketOptions

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

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

JSON 표현
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "linearBuckets": {
    object (Linear)
  },
  "exponentialBuckets": {
    object (Exponential)
  },
  "explicitBuckets": {
    object (Explicit)
  }
  // End of mutually exclusive fields.
}
필드
이 세 필드 중 하나를 정확히 설정해야 합니다. 다음은 상호 배타적인 필드 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
linearBuckets

object (Linear)

선형 버킷입니다.

exponentialBuckets

object (Exponential)

지수 버킷입니다.

explicitBuckets

object (Explicit)

명시적 버킷입니다.

상호 배타적 필드의 끝입니다.

선형

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

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

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

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

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

integer

0보다 커야 합니다.

width

number

0보다 커야 합니다.

offset

number

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

지수

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

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

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

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

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

integer

0보다 커야 합니다.

growthFactor

number

1보다 커야 합니다.

scale

number

0보다 커야 합니다.

명시적

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

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

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

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

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

number

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

Exemplar

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

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

Trace: 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" }