Documentation ¶
Overview ¶
包gmetric提供了指标功能的接口定义和简单API。 md5:077853b1642a75e8
Index ¶
- Constants
- func IsEnabled() bool
- func SetGlobalAttributes(attrs X类型_Attributes, option X结构_SetGlobalAttributesOption)
- func SetGlobalProvider(provider Provider)
- type Attribute
- type Callback
- type Counter
- type CounterPerformer
- type GlobalProvider
- type Histogram
- type HistogramPerformer
- type InstrumentInfo
- type Meter
- type MeterPerformer
- type Metric
- type MetricCallback
- type MetricInfo
- type MetricInitializer
- type MetricObserver
- type ObservableCounter
- type ObservableCounterPerformer
- type ObservableGauge
- type ObservableGaugePerformer
- type ObservableMetric
- type ObservableUpDownCounter
- type ObservableUpDownCounterPerformer
- type Observer
- type PerformerExporter
- type Provider
- type UpDownCounter
- type UpDownCounterPerformer
- type X类型_AttributeKey
- type X类型_AttributeMap
- type X类型_Attributes
- type X类型_MetricType
- type X结构_CallbackItem
- type X结构_GetGlobalAttributesOption
- type X结构_MeterOption
- type X结构_MetricOption
- type X结构_SetGlobalAttributesOption
- type X结构_选项
Constants ¶
const (
// X常量_MetricNamePattern 是用于验证指标名称的正则表达式模式。 md5:740e4cb3a2c2c55f
X常量_MetricNamePattern = `[\w\.\-\/]`
)
Variables ¶
This section is empty.
Functions ¶
func SetGlobalAttributes ¶
func SetGlobalAttributes(attrs X类型_Attributes, option X结构_SetGlobalAttributesOption)
SetGlobalAttributes 根据 `SetGlobalAttributesOption` 添加全局属性。如果给定的 `SetGlobalAttributesOption` 为空,它将向所有指标添加全局属性。如果提供了特定的 `SetGlobalAttributesOption`,它将向指定的度量添加全局属性。 md5:5ba03a1e3d761b95
func SetGlobalProvider ¶
func SetGlobalProvider(provider Provider)
SetGlobalProvider 将 `provider` 注册为全局提供者, 这意味着后续创建的指标将基于全局提供者。 md5:ca9b6936745e89a3
Types ¶
type Attribute ¶
type Attribute interface { Key() string // 这个属性的键。 md5:0ddb614f69d6d447 Value() any // 此属性的值。 md5:855798b766242495 }
Attribute是Metric的键值对项。 md5:d998f30eea2094b2
func NewAttribute ¶
NewAttribute通过给定的`key`和`value`创建并返回一个Attribute。 md5:dc10aeeb3e9da0df
type Callback ¶
Callback 是一个函数,它向Meter注册并为与其关联的一组仪器做出观察。 参数 Observer 用于记录这些仪器的测量观察值。 md5:b00a662ef19a704e
type Counter ¶
type Counter interface { Metric CounterPerformer }
Counter是一个度量指标,它表示一个只能不断增加的单个数值。 md5:109ed10af8f638da
type CounterPerformer ¶
type CounterPerformer interface { // Inc 通过1递增计数器。使用Add方法可以按任意非负值进行递增。 // md5:63d13b20691c041f Inc(ctx context.Context, option ...X结构_选项) // Add将给定的值添加到计数器中。如果值小于0,则会引发恐慌。 md5:d0e547634cd9c23f Add(ctx context.Context, increment float64, option ...X结构_选项) }
CounterPerformer 为 Counter 指标执行操作。 md5:6dbc874005efa26f
type GlobalProvider ¶
type GlobalProvider interface { // Meter 使用MeterOption创建并返回Meter。 md5:d1e5c4bca1f6e03c Meter(option X结构_MeterOption) Meter }
GlobalProvider 用于创建Meter和Metric的入口。GlobalProvider 只有一个用于Meter创建的函数,设计目的是方便使用。 md5:25431281857b5d86
func GetGlobalProvider ¶
func GetGlobalProvider() GlobalProvider
GetGlobalProvider 获取GetGlobalProvider实例。 md5:88505f26db856ed4
type Histogram ¶
type Histogram interface { Metric HistogramPerformer // Buckets 返回Histogram的桶数组。 md5:b0cdc9def1273944 Buckets() []float64 }
直方图在可配置的静态桶中对来自事件或样本流的单个观测值进行计数(或者作为实验性Native直方图的一部分,使用动态稀疏桶,详情请见下文)。与Summary相似,它也提供了观测值的总和及观测计数。 md5:fff6786ef225e994
type HistogramPerformer ¶
type HistogramPerformer interface { // Record 将一个值添加到直方图中。这个值通常是正数或零。 // md5:01f7e56a23c793fb Record(increment float64, option ...X结构_选项) }
HistogramPerformer 为 Histogram 指标执行操作。 md5:ff12684d951e55fc
type InstrumentInfo ¶
type InstrumentInfo interface { Name() string // Name返回度量的仪器名称。 md5:a45a5bfd2d0859c1 Version() string // Version 返回指标的仪器版本。 md5:de1a566af4fc0f5a }
InstrumentInfo导出指标的仪器信息。 md5:4789d30f855066d1
type Meter ¶
type Meter interface { // Counter 创建并返回一个新的 Counter.. md5:84e33be2f1339329 Counter(name string, option X结构_MetricOption) (Counter, error) // UpDownCounter 创建并返回一个新的UpDownCounter.. md5:17cdda79297f292f UpDownCounter(name string, option X结构_MetricOption) (UpDownCounter, error) // Histogram 创建并返回一个新的 Histogram.. md5:8a66ea5ba65143f0 Histogram(name string, option X结构_MetricOption) (Histogram, error) // ObservableCounter 创建并返回一个新的 ObservableCounter。 md5:1fb1055edede2f1e ObservableCounter(name string, option X结构_MetricOption) (ObservableCounter, error) // ObservableUpDownCounter 创建并返回一个新的ObservableUpDownCounter。 md5:a7f48b253e6c2099 ObservableUpDownCounter(name string, option X结构_MetricOption) (ObservableUpDownCounter, error) // ObservableGauge 创建并返回一个新的可观察计量表。 md5:406f093f6a405dd4 ObservableGauge(name string, option X结构_MetricOption) (ObservableGauge, error) // MustCounter 创建并返回一个新的计数器。 // 如果发生任何错误,它将引发恐慌。 // md5:8ca39b864372ccfe MustCounter(name string, option X结构_MetricOption) Counter // MustUpDownCounter 创建并返回一个新的UpDownCounter。 // 如果发生任何错误,它将引发恐慌。 // md5:9bb6fb57771f0266 MustUpDownCounter(name string, option X结构_MetricOption) UpDownCounter // MustHistogram 创建并返回一个新的直方图。 // 如果发生任何错误,它将引发恐慌。 // md5:fc31a9bb5a94fd34 MustHistogram(name string, option X结构_MetricOption) Histogram // MustObservableCounter 创建并返回一个新的可观察计数器。如果发生任何错误,它将 panic。 // md5:d12041c97b0c5aa2 MustObservableCounter(name string, option X结构_MetricOption) ObservableCounter // MustObservableUpDownCounter 创建并返回一个新的 ObservableUpDownCounter。 // 如果发生任何错误,它将引发 panic。 // md5:04565499baba4d44 MustObservableUpDownCounter(name string, option X结构_MetricOption) ObservableUpDownCounter // MustObservableGauge 创建并返回一个新的 ObservableGauge。 // 如果发生任何错误,它将引发恐慌。 // md5:f45a16dcd373e219 MustObservableGauge(name string, option X结构_MetricOption) ObservableGauge // RegisterCallback 在某些指标上注册回调函数。 // 回调函数与特定的组件和版本绑定,当关联的指标被读取时会被调用。 // 同一个组件和版本可以注册多个回调函数,它们将按照注册的顺序被调用。 // md5:89a5acee144aeb40 RegisterCallback(callback Callback, canBeCallbackMetrics ...ObservableMetric) error // MustRegisterCallback 类似于 RegisterCallback,但是如果发生任何错误,它会直接 panic。 md5:41b35f310c8c461d MustRegisterCallback(callback Callback, canBeCallbackMetrics ...ObservableMetric) }
Meter 存放了创建各种指标功能的函数。 md5:ecfd04354d47531f
type MeterPerformer ¶
type MeterPerformer interface { // CounterPerformer 创建并返回一个 CounterPerformer,用于执行 Counter 指标的操作。 // md5:01ef2c0f7cee9b52 CounterPerformer(name string, option X结构_MetricOption) (CounterPerformer, error) // UpDownCounterPerformer 创建并返回一个UpDownCounterPerformer,用于执行UpDownCounter指标的操作。 // md5:8d0a2d6b5cb6c7e2 UpDownCounterPerformer(name string, option X结构_MetricOption) (UpDownCounterPerformer, error) // HistogramPerformer 创建并返回一个HistogramPerformer,用于执行Histogram指标的操作。 // md5:aef82f85510796c2 HistogramPerformer(name string, option X结构_MetricOption) (HistogramPerformer, error) // ObservableCounterPerformer 创建并返回一个 ObservableCounterPerformer,它执行 ObservableCounter 指标所需的运算。 // md5:fe300c3bfd8a3d0d ObservableCounterPerformer(name string, option X结构_MetricOption) (ObservableCounterPerformer, error) // ObservableUpDownCounterPerformer 创建并返回一个 ObservableUpDownCounterPerformer,用于执行 ObservableUpDownCounter 指标的相关操作。 // md5:71a2690321ac6e11 ObservableUpDownCounterPerformer(name string, option X结构_MetricOption) (ObservableUpDownCounterPerformer, error) // ObservableGaugePerformer 创建并返回一个 ObservableGaugePerformer,它执行 // ObservableGauge 度量指标的相关操作。 // md5:02fbd42914a0e2c8 ObservableGaugePerformer(name string, option X结构_MetricOption) (ObservableGaugePerformer, error) // RegisterCallback 在某些指标上注册回调函数。 // 回调函数与特定的组件和版本绑定,当关联的指标被读取时会被调用。 // 同一个组件和版本可以注册多个回调函数,它们将按照注册的顺序被调用。 // md5:89a5acee144aeb40 RegisterCallback(callback Callback, canBeCallbackMetrics ...ObservableMetric) error }
MeterPerformer 管理所有指标表演者创建。 md5:5a71d1ffbf1a7a87
type Metric ¶
type Metric interface { // Info 返回一个Metric的基本信息。 md5:d521e5fdeb6e591f Info() MetricInfo }
Metric 表示一个带有其元数据的单个样本值,用于导出。 md5:9886e1ff863b8aaa
type MetricCallback ¶
type MetricCallback func(ctx context.Context, obs MetricObserver) error
MetricCallback在metric reader开始读取指标值时自动调用。 md5:fbdeeeecfd4a085e
type MetricInfo ¶
type MetricInfo interface { Key() string // Key 返回指标的唯一字符串键。 md5:944b693fe2dee89f Name() string // Name 返回度量指标的名称。 md5:d3300c9b003bf9e9 Help() string // Help 返回度量指标的帮助描述。 md5:af48acbd53473872 Unit() string // Unit 返回度量的单位名称。 md5:985c39bd14c3f833 Type() X类型_MetricType // Type返回度量的类型。 md5:5ceeadaee6d55192 Attributes() X类型_Attributes // Attributes 返回度量指标的常量属性切片。 md5:ca84de54457cab11 Instrument() InstrumentInfo // InstrumentInfo 返回指标的仪表盘信息。 md5:674bd5d4b4646fe0 }
MetricInfo 导出Metric的信息。 md5:757372004c377817
type MetricInitializer ¶
type MetricInitializer interface { // Init 在创建提供者时初始化指标。 // 它设置了真正执行操作的指标执行者。 // md5:99dffc37e63f54c1 Init(provider Provider) error }
MetricInitializer 管理Metric的初始化。 它在实现metric接口时被内部调用。 md5:ae21a8f190b60a04
type MetricObserver ¶
type MetricObserver interface { // Observe 观察已初始化的 Metric 的值。如果观察到的 Metrics 类型为 Counter,它会将值添加到总结果中。如果观察到的 Metrics 类型为 Gauge,它会将值设置为结果。 // md5:c1a20cb2ada29935 Observe(value float64, option ...X结构_选项) }
MetricObserver 设置绑定Metric的值。 md5:9a9b8c76fa6b893c
type ObservableCounter ¶
type ObservableCounter interface { Metric ObservableCounterPerformer }
ObservableCounter 是一种用于异步记录浮点数测量值的工具, 每次收集周期记录一次。观测操作仅在此工具的回调中进行。 观测到的值被认为是计数的累计总和。 md5:6e0cd2e0e8e7f991
type ObservableCounterPerformer ¶
type ObservableCounterPerformer = ObservableMetric
ObservableCounterPerformer 是可观察计数器的表演者。 md5:5bd18cf71c0c3331
type ObservableGauge ¶
type ObservableGauge interface { Metric ObservableGaugePerformer }
ObservableGauge是一种用于异步记录每次收集周期内的浮点64位测量值的工具。对于这种工具,只在回调中进行观察。 md5:8dc864280c4807f0
type ObservableGaugePerformer ¶
type ObservableGaugePerformer = ObservableMetric
`ObservableGaugePerformer` 是用于可观察 `ObservableGauge` 的执行者。 md5:c3b3497dd317d711
type ObservableMetric ¶
type ObservableMetric interface {
// contains filtered or unexported methods
}
ObservableMetric是一种用于异步记录每次收集周期内的浮点64测量值的工具。 md5:c0d995ca6881db3b
type ObservableUpDownCounter ¶
type ObservableUpDownCounter interface { Metric ObservableUpDownCounterPerformer }
ObservableUpDownCounter 用于在计算操作中同步记录浮点数测量值。 md5:35e24209bc52ccd8
type ObservableUpDownCounterPerformer ¶
type ObservableUpDownCounterPerformer = ObservableMetric
ObservableUpDownCounterPerformer 是可观测的 ObservableUpDownCounter 的执行者。 md5:4bf423dbe75e51b8
type Observer ¶
type Observer interface { // Observe 观察已初始化的 Metric 的值。如果观察到的 Metrics 类型为 Counter,它会将值添加到总结果中。如果观察到的 Metrics 类型为 Gauge,它会将值设置为结果。 // md5:c1a20cb2ada29935 Observe(m ObservableMetric, value float64, option ...X结构_选项) }
Observer 为特定初始化的 Metric 设置值。 md5:6cd07eda38c4e418
type PerformerExporter ¶
type PerformerExporter interface { // Performer导出Metric的内部实现Performer。 // 这通常被metric实现者使用。 // md5:5c2fb8da83b93435 Performer() any }
PerformerExporter 导出内部的 Metric Performer。 它在 metric 接口的实现中被内部调用。 md5:203c3a063f4a9d3c
type Provider ¶
type Provider interface { // SetAsGlobal 将当前提供者设置为当前进程的全局度量提供者,这使得后续在这个Provider上创建的指标(特别是运行时创建的指标)将使用此提供者。 // md5:ebeb141536d72db3 SetAsGlobal() // MeterPerformer 创建并返回一个MeterPerformer,它可以生成各种类型的度量表演者。 md5:bb1b20c9299cdfc0 MeterPerformer(config X结构_MeterOption) MeterPerformer // ForceFlush 强制刷新所有待处理的指标。 // // 此方法会考虑 ctx 的截止时间或取消状态。在这些情况下,将返回适当的错误。但无法保证在这些情况下所有指标都已被刷新或所有资源已释放。 // md5:ea6068dfe51298a9 ForceFlush(ctx context.Context) error // Shutdown 关闭提供者,刷新所有待处理的指标并释放占用的计算资源。 // md5:ac9c3ba411885fee Shutdown(ctx context.Context) error }
Provider 负责管理所有的 Metrics 导出。 注意,如果Histogram在Provider创建之前创建,那么它的桶(buckets)无法自定义。 md5:f7dc1979ef3a25f7
type UpDownCounter ¶
type UpDownCounter interface { Metric UpDownCounterPerformer }
UpDownCounter 是一个度量指标,表示可以向上或向下变动的单个数值。 md5:040100a8543058fb
type UpDownCounterPerformer ¶
type UpDownCounterPerformer interface { // Inc 通过1递增计数器。使用Add方法可以按任意非负值进行递增。 // md5:63d13b20691c041f Inc(ctx context.Context, option ...X结构_选项) // Dec 减少标度器的值 by 1。使用 Sub 函数可以减少任意数值。 md5:b095db72185faf82 Dec(ctx context.Context, option ...X结构_选项) // Add将给定的值添加到计数器中。如果值小于0,则会引发恐慌。 md5:d0e547634cd9c23f Add(ctx context.Context, increment float64, option ...X结构_选项) }
UpDownCounterPerformer为UpDownCounter指标执行操作。 md5:84129079abbaa297
type X类型_AttributeMap ¶
X类型_AttributeMap 是一个属性键值对的映射,便于轻松过滤。 md5:77c3a3707b06188f
func (X类型_AttributeMap) Pick ¶
func (m X类型_AttributeMap) Pick(keys ...string) X类型_Attributes
Pick根据给定的属性键选择和返回属性。 md5:345fd91cbaf4ea48
func (X类型_AttributeMap) PickEx ¶
func (m X类型_AttributeMap) PickEx(keys ...string) X类型_Attributes
PickEx 选取并返回那些属性键不在给定`keys`中的属性。 md5:cf773d7747da56d7
func (X类型_AttributeMap) Sets ¶
func (m X类型_AttributeMap) Sets(attrMap map[string]any)
Sets 将给定的属性映射添加到当前映射中。 md5:a21a166cb89d74a0
type X类型_Attributes ¶
type X类型_Attributes []Attribute
X类型_Attributes 是一个 Attribute 类型的切片。 md5:5e8ed6feb0b054bf
func CommonAttributes ¶
func CommonAttributes() X类型_Attributes
CommonAttributes 返回乐器常用的属性。 md5:a3240e3fe755b09a
func GetGlobalAttributes ¶
func GetGlobalAttributes(option X结构_GetGlobalAttributesOption) X类型_Attributes
GetGlobalAttributes 通过 `GetGlobalAttributesOption` 获取并返回全局属性。 如果给定的 `GetGlobalAttributesOption` 为空,它将返回所有全局属性。 如果 `GetGlobalAttributesOption` 不为空,它将返回特定仪器的全局属性。 md5:8327524dc9d44419
func (X类型_Attributes) MarshalJSON ¶
func (attrs X类型_Attributes) MarshalJSON() ([]byte, error)
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (X类型_Attributes) String ¶
func (attrs X类型_Attributes) String() string
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
type X类型_MetricType ¶
type X类型_MetricType string
X类型_MetricType是指标的类型。 md5:12c2b0ec2071549b
const ( X常量_MetricTypeCounter X类型_MetricType = `Counter` // Counter. X常量_MetricTypeUpDownCounter X类型_MetricType = `UpDownCounter` // UpDownCounter. X常量_MetricTypeHistogram X类型_MetricType = `Histogram` // Histogram. X常量_MetricTypeObservableCounter X类型_MetricType = `ObservableCounter` // ObservableCounter. X常量_MetricTypeObservableUpDownCounter X类型_MetricType = `ObservableUpDownCounter` // 可观察的上/下计数器。 md5:d5bb673623b35d30 X常量_MetricTypeObservableGauge X类型_MetricType = `ObservableGauge` // ObservableGauge. )
type X结构_CallbackItem ¶
type X结构_CallbackItem struct { Callback Callback // Global callback. Metrics []ObservableMetric // 在特定指标上回调。 md5:1b8f919fb6f66516 MeterOption X结构_MeterOption // MeterOption 是度量器所持有的选项。 md5:7cbdb72b93713b5d Provider Provider // Provider 是回调项绑定到的 Provider。 md5:5ad4c5696a74f008 }
X结构_CallbackItem 是已注册的全局回调项。 md5:afee0a9b376754c0
func GetRegisteredCallbacks ¶
func GetRegisteredCallbacks() []X结构_CallbackItem
GetRegisteredCallbacks 获取并返回已注册的全局回调函数。 如果返回回调函数,会截断回调函数切片。 md5:22e1858dfd047cb0
type X结构_GetGlobalAttributesOption ¶
type X结构_GetGlobalAttributesOption struct { Instrument string // Instrument 指定乐器名称。 md5:9d3f75d7c5acf5ce InstrumentVersion string // Instrument 指定仪器版本。 md5:08f1ad86326ce5c0 }
X结构_GetGlobalAttributesOption 将全局属性绑定到特定的仪表。 md5:b534095d7e4c28c6
type X结构_MeterOption ¶
type X结构_MeterOption struct { // Instrument 是将此 Metric 绑定到全局度量提供程序的指标名称。这是指标的可选配置。 // md5:c68d90eb2e2a5738 Instrument string // InstrumentVersion 是用于将此指标绑定到全局 MeterProvider 的仪器版本。 // 这是指标的一个可选配置。 // md5:9e0f63bfaddf4047 InstrumentVersion string // Attributes 保存了计量器(Meter)中所有指标的常量键值对描述元数据。 // 这是一个可选的仪表配置。 // md5:b57d2f1c17951d62 Attributes X类型_Attributes }
X结构_MeterOption 是用于创建Meter的创建选项。 md5:aeec4cb6c20611f7
type X结构_MetricOption ¶
type X结构_MetricOption struct { // Help提供关于这个直方图的信息。 // 这是度量的可选配置。 // md5:f8de096bb00ba08e Help string // Unit 是指标值的单位。 // 这是指标的一个可选配置。 // md5:98a35ee224664140 Unit string // Attributes 保存了该指标的常量键值对描述元数据。 // 这是度量的可选配置。 // md5:5610f8005466f637 Attributes X类型_Attributes // Buckets 定义了观察值计数的桶。 // 仅适用于Histogram度量。 // 如果没有显式配置桶,Histogram度量将使用默认桶。 // md5:fc23bdae2b93e65c Buckets []float64 // 当指标值发生变化时调用的回调函数。仅适用于可观察的指标。 // 如果可观察的指标没有配置Callback属性或全局回调,它将不会做任何事情。 // md5:ad172c2ef3bda0a0 Callback MetricCallback }
X结构_MetricOption用于创建度量的基本选项。 md5:51fa64763a3de0e2
type X结构_SetGlobalAttributesOption ¶
type X结构_SetGlobalAttributesOption struct { // Instrument 指定乐器名称。 md5:9d3f75d7c5acf5ce Instrument string // Instrument 指定仪器版本。 md5:08f1ad86326ce5c0 InstrumentVersion string // InstrumentPattern 通过正则表达式指定要操作的Instrument名称。 // 示例: // 1. 如果设置为`.+`,将匹配所有Instrument。 // 2. 如果设置为`github.com/gogf/gf.+`,将匹配所有goframe相关的Instrument。 // md5:a3225129ad31cbb0 InstrumentPattern string }
X结构_SetGlobalAttributesOption 将全局属性绑定到特定的仪表。 md5:5cba96bea01d2134
type X结构_选项 ¶
type X结构_选项 struct { // Attributes保存动态的键值对元数据。 md5:837d5c5300f22ee1 Attributes X类型_Attributes }
X结构_选项包含执行度量操作的选项。 md5:1a7865b57252c62c
Source Files ¶
- gmetric.go
- gmetric_attribute.go
- gmetric_attribute_map.go
- gmetric_global_attributes.go
- gmetric_meter.go
- gmetric_meter_callback.go
- gmetric_meter_counter.go
- gmetric_meter_histogram.go
- gmetric_meter_metric_info.go
- gmetric_meter_metric_instrument.go
- gmetric_meter_observable_counter.go
- gmetric_meter_observable_gauge.go
- gmetric_meter_observable_updown_counter.go
- gmetric_meter_updown_counter.go
- gmetric_metric.go
- gmetric_noop_counter_performer.go
- gmetric_noop_histogram_performer.go
- gmetric_noop_observable_counter_performer.go
- gmetric_noop_observable_gauge_performer.go
- gmetric_noop_observable_updown_counter_performer.go
- gmetric_noop_updown_counter_performer.go
- gmetric_provider.go