expvar
expvar包
import "expvar"
概述
索引
概述
软件包 expvar 为公共变量提供了标准化接口,如服务器中的操作计数器。它以 JSON 格式在 /debug/vars 中通过 HTTP 公开这些变量。
设置或修改这些公共变量的操作是原子操作。
除了添加 HTTP 处理程序之外,该程序包还会注册以下变量:
cmdline os.Args
memstats runtime.Memstats
该包有时只是为了注册 HTTP 处理程序和上述变量的副作用而导入。要以这种方式使用,请将此程序包链接到您的程序中:
import _ "expvar"
索引
- func Do(f func(KeyValue))
- func Handler() http.Handler
- func Publish(name string, v Var)
- type Float
- func NewFloat(name string) *Float
- func (v *Float) Add(delta float64)
- func (v *Float) Set(value float64)
- func (v *Float) String() string
- func (v *Float) Value() float64
- type Func
- func (f Func) String() string
- func (f Func) Value() interface{}
- type Int
- func NewInt(name string) *Int
- func (v *Int) Add(delta int64)
- func (v *Int) Set(value int64)
- func (v *Int) String() string
- func (v *Int) Value() int64
- type KeyValue
- type Map
- func NewMap(name string) *Map
- func (v *Map) Add(key string, delta int64)
- func (v *Map) AddFloat(key string, delta float64)
- func (v *Map) Do(f func(KeyValue))
- func (v *Map) Get(key string) Var
- func (v *Map) Init() *Map
- func (v *Map) Set(key string, av Var)
- func (v *Map) String() string
- type String
- func NewString(name string) *String
- func (v *String) Set(value string)
- func (v *String) String() string
- func (v *String) Value() string
- type Var
- func Get(name string) Var
包文件
func Do(查看源代码)
func Do(f func(KeyValue))
对每个导出的变量都调用 f 。全局变量映射在迭代期间被锁定,但现有条目可能会同时更新。
func Handler(查看源代码)
func Handler() http.Handler
处理程序返回 expvar HTTP 处理程序。
这只需要将处理程序安装在非标准位置。
func Publish(查看源代码)
func Publish(name string, v Var)
发布声明一个命名的导出变量。这应该在创建其变量时从包的 init 函数中调用。如果名称已经注册,那么这将会 log.Panic。
type Float(查看源代码)
Float 是一个满足 Var 接口的64位浮点型变量。
type Float struct {
// 包含已过滤或未导出的字段
}
func NewFloat(查看源代码)
func NewFloat(name string) *Float
func (*Float) Add(查看源代码)
func (v *Float) Add(delta float64)
添加将增量添加到v。
func (*Float) Set(查看源代码)
func (v *Float) Set(value float64)
将v设置为值。
func (*Float) String(查看源代码)
func (v *Float) String() string
func (*Float) Value(查看源代码)
func (v *Float) Value() float64
type Func(查看源代码)
Func 通过调用函数并使用 JSON 格式化返回的值来实现 Var。
type Func func() interface{}
func (Func) String(查看源代码)
func (f Func) String() string
func (Func) Value(查看源代码)
func (f Func) Value() interface{}
type Int(查看源代码)
Int 是一个满足 Var 接口的64位整数变量。
type Int struct {
// 包含已过滤或未导出的字段
}
func NewInt(查看源代码)
func NewInt(name string) *Int
func (*Int) Add(查看源代码)
func (v *Int) Add(delta int64)
func (*Int) Set(查看源代码)
func (v *Int) Set(value int64)
func (*Int) String(查看源代码)
func (v *Int) String() string
func (*Int) Value(查看源代码)
func (v *Int) Value() int64
type KeyValue(查看源代码)
KeyValue 表示 Map 中的单个条目。
type KeyValue struct {
Key string
Value Var
}
type Map(查看源代码)
Map 是一个满足 Var 接口的字符串到 Var 映射变量。
type Map struct {
// 包含已过滤或未导出的字段
}
func NewMap(查看源代码)
func NewMap(name string) *Map
func (*Map) Add(查看源代码)
func (v *Map) Add(key string, delta int64)
添加将增量添加到存储在给定映射键下的 *Int 值。
func (*Map) AddFloat(查看源代码)
func (v *Map) AddFloat(key string, delta float64)
AddFloat 将增量添加到存储在给定映射关键字下的 *Float值。
func (*Map) Do(查看源代码)
func (v *Map) Do(f func(KeyValue))
请为地图中的每个条目调用 f 。迭代期间地图被锁定,但现有条目可能会同时更新。
func (*Map) Get(查看源代码)
func (v *Map) Get(key string) Var
func (*Map) Init(查看源代码)
func (v *Map) Init() *Map
Init 从地图上删除所有密钥。
func (*Map) Set(查看源代码)
func (v *Map) Set(key string, av Var)
func (*Map) String(查看源代码)
func (v *Map) String() string
type String(查看源代码)
字符串是一个字符串变量,并且满足 Var 接口。
type String struct {
// 包含已过滤或未导出的字段
}
func NewString(查看源代码)
func NewString(name string) *String
func (*String) Set(查看源代码)
func (v *String) Set(value string)
func (*String) String(查看源代码)
func (v *String) String() string
字符串实现 Val 接口。要获取未加引号的字符串,请使用 Value。
func (*String) Value(查看源代码)
func (v *String) Value() string
type Var(查看源代码)
Var是所有导出变量的抽象类型。
type Var interface {
// String返回变量的有效JSON值。
// 具有不返回有效JSON的String方法的类型
// (例如time.Time)不能用作Var。
String() string
}
func Get(查看源代码)
func Get(name string) Var
获取一个命名的导出变量。如果名称尚未注册,则返回 nil。