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

包文件

expvar.go

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。