Distribution

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

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

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

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에는 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 표현
{

  // Union field options can be only one of the following:
  "linearBuckets": {
    object (Linear)
  },
  "exponentialBuckets": {
    object (Exponential)
  },
  "explicitBuckets": {
    object (Explicit)
  }
  // End of list of possible types for union field options.
}
필드
통합 필드 options. 이 세 필드 중 정확히 하나를 설정해야 합니다. options은 다음 중 하나여야 합니다.
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

특히 집계된 분포 값을 주석으로 처리하는 데 사용할 수 있는 예시가 있습니다. 분포 버킷에 추가된 특정 값에 관한 정보를 제공하는 메타데이터입니다(예: 값이 추가될 때 활성 상태였던 추적 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" }