github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/runtime/metrics/description.go (about)

     1  // Copyright 2020 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package metrics
     6  
     7  // Descriptionはランタイムメトリクスを説明します。
     8  type Description struct {
     9  
    10  	// Nameは単位を含むメトリクスのフルネームです。
    11  	//
    12  	// メトリクスの形式は以下の正規表現で表されます。
    13  	//
    14  	// 	^(?P<name>/[^:]+):(?P<unit>[^:*/]+(?:[*/][^:*/]+)*)$
    15  	//
    16  	// この形式は、名前をコロンで区切られた2つのコンポーネントに分割します。1つは常に/で始まるパスであり、もう1つは機械で解釈可能な単位です。名前は/文字の間に任意の有効なUnicodeコードポイントを含むことができますが、慣例として小文字の英字とハイフンを使用することが推奨されています。このようなパスの例としては、"/memory/heap/free"があります。
    17  	//
    18  	// 単位は、*または/で区切られた接頭辞のない小文字の英語の単位名(単数形または複数形)の連続です。単位名には、区切り文字でない有効なUnicodeコードポイントを含めることができます。単位の例には、"seconds"、"bytes"、"bytes/second"、"cpu-seconds"、"byte*cpu-seconds"、および"bytes/second/second"があります。
    19  	//
    20  	// ヒストグラムの場合、複数の単位が適用される場合があります。たとえば、バケットの単位とカウントの単位です。ヒストグラムの場合、カウントの単位は常に"samples"であり、サンプルのタイプはメトリクスの名前で明示されますが、名前の単位はバケットの単位を指定します。
    21  	//
    22  	// 完全な名前の例としては、"/memory/heap/free:bytes"があります。
    23  	Name string
    24  
    25  	// Descriptionはメトリックを説明する英文です。
    26  	Description string
    27  
    28  	// Kindはこのメトリックの値の種類です。
    29  	//
    30  	// このフィールドの目的は、アプリケーションが理解できない型の値を持つメトリックをフィルタリングできるようにすることです。
    31  	Kind ValueKind
    32  
    33  	// Cumulativeはメトリクスが累積的かどうかを示します。累積メトリクスが単一の数値である場合、それは単調に増加します。メトリクスが分布である場合、各バケットのカウントが単調に増加します。
    34  	//
    35  	// したがって、このフラグはこの値からレートを計算することが有用かどうかを示します。
    36  	Cumulative bool
    37  }
    38  
    39  // Allは、サポートされているすべてのメトリックの説明を含むスライスを返します。
    40  func All() []Description