import "expvar"

expvarパッケージは、サーバ上の操作カウンタといったパブリック変数への標準化されたインタフェースを提供します。これは、HTTPサーバ上の/debug/varsにJSONフォーマットで公開されます。

これらパブリック変数への設定、および変更操作はアトミックに行われます。

このパッケージはHTTPハンドラを登録した上で、以下の変数を登録します。

cmdline   os.Args
memstats  runtime.Memstats

このパッケージではHTTPハンドラおよび上の変数を自動的登録するので、通常はインポートだけを行います。

import _ "expvar"

パッケージファイル

expvar.go

Iter関数

func Iter() <-chan KeyValue

Publish関数

func Publish(name string, v Var)

Publishは、指定した名前のエクスポート変数を宣言します。これはVarを作成したときに、パッケージのinit関数から呼び出さなくてはなりません。nameがすでに登録されているときはlog.Panicが呼び出されます。

RemoveAll関数

func RemoveAll()

RemoveAllは、すべてのエクスポートしている変数を削除します。これはテスト用であり、実際のサーバ上で呼び出してはいけません。

Int型

Intは、Varインタフェースを満たす64ビット整数型変数です。

type Int struct {
    // contains unexported fields
}

NewInt関数

func NewInt(name string) *Int

(*Int) Add関数

func (v *Int) Add(delta int64)

(*Int) Set関数

func (v *Int) Set(value int64)

(*Int) String関数

func (v *Int) String() string

IntFunc型

IntFuncは、Varインタフェースを満たす値を作成するためにfunc() int64関数をラップします。この関数はVarが評価されるたびに呼び出されます。

type IntFunc func() int64

(IntFunc) String関数

func (v IntFunc) String() string

KeyValue型

KeyValueは、マップ内のひとつのエントリを表します。

type KeyValue struct {
    Key   string
    Value Var
}

Map型

Mapは、Varインタフェースを満たし、文字列とVarをマップする変数です。

type Map struct {
    // contains unexported fields
}

NewMap関数

func NewMap(name string) *Map

(*Map) Add関数

func (v *Map) Add(key string, delta int64)

func (*Map) Get

func (v *Map) Get(key string) Var

(*Map) Init関数

func (v *Map) Init() *Map

(*Map) Iter関数

func (v *Map) Iter() <-chan KeyValue

(*Map) Set関数

func (v *Map) Set(key string, av Var)

(*Map) String関数

func (v *Map) String() string

String型

Stringは、Varインタフェースを満たす文字列変数です。

type String struct {
    // contains unexported fields
}

NewString関数

func NewString(name string) *String

(*String) Set関数

func (v *String) Set(value string)

(*String) String関数

func (v *String) String() string

StringFunc型

StringFuncは、Varインタフェースを満たす値を作成するためにfunc() string関数をラップします。この関数はVarが評価されるたびに呼び出されます。

type StringFunc func() string

(StringFunc) String関数

func (f StringFunc) String() string

Var型

Varは、エクスポートするすべての変数のための抽象型です。

type Var interface {
    String() string
}

Get関数

func Get(name string) Var

Getは、指定した名前でエクスポートされている変数を取得します。