Documentation

Overview

    Package expvar provides a standardized interface to public variables, such as operation counters in servers. It exposes these variables via HTTP at /debug/vars in JSON format.

    Operations to set or modify these public variables are atomic.

    In addition to adding the HTTP handler, this package registers the following variables:

    cmdline   os.Args
    memstats  runtime.Memstats
    

    The package is sometimes only imported for the side effect of registering its HTTP handler and the above variables. To use it this way, link this package into your program:

    import _ "expvar"
    

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func Do

    func Do(f func(KeyValue))

      Do calls f for each exported variable. The global variable map is locked during the iteration, but existing entries may be concurrently updated.

      func Handler

      func Handler() http.Handler

        Handler returns the expvar HTTP Handler.

        This is only needed to install the handler in a non-standard location.

        func Publish

        func Publish(name string, v Var)

          Publish declares a named exported variable. This should be called from a package's init function when it creates its Vars. If the name is already registered then this will log.Panic.

          Types

          type Float

          type Float struct {
          	// contains filtered or unexported fields
          }

            Float is a 64-bit float variable that satisfies the Var interface.

            func NewFloat

            func NewFloat(name string) *Float

            func (*Float) Add

            func (v *Float) Add(delta float64)

              Add adds delta to v.

              func (*Float) Set

              func (v *Float) Set(value float64)

                Set sets v to value.

                func (*Float) String

                func (v *Float) String() string

                func (*Float) Value

                func (v *Float) Value() float64

                type Func

                type Func func() interface{}

                  Func implements Var by calling the function and formatting the returned value using JSON.

                  func (Func) String

                  func (f Func) String() string

                  func (Func) Value

                  func (f Func) Value() interface{}

                  type Int

                  type Int struct {
                  	// contains filtered or unexported fields
                  }

                    Int is a 64-bit integer variable that satisfies the Var interface.

                    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

                    type KeyValue struct {
                    	Key   string
                    	Value Var
                    }

                      KeyValue represents a single entry in a Map.

                      type Map

                      type Map struct {
                      	// contains filtered or unexported fields
                      }

                        Map is a string-to-Var map variable that satisfies the Var interface.

                        func NewMap

                        func NewMap(name string) *Map

                        func (*Map) Add

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

                          Add adds delta to the *Int value stored under the given map key.

                          func (*Map) AddFloat

                          func (v *Map) AddFloat(key string, delta float64)

                            AddFloat adds delta to the *Float value stored under the given map key.

                            func (*Map) Delete

                            func (v *Map) Delete(key string)

                              Delete deletes the given key from the map.

                              func (*Map) Do

                              func (v *Map) Do(f func(KeyValue))

                                Do calls f for each entry in the map. The map is locked during the iteration, but existing entries may be concurrently updated.

                                func (*Map) Get

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

                                func (*Map) Init

                                func (v *Map) Init() *Map

                                  Init removes all keys from the map.

                                  func (*Map) Set

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

                                  func (*Map) String

                                  func (v *Map) String() string

                                  type String

                                  type String struct {
                                  	// contains filtered or unexported fields
                                  }

                                    String is a string variable, and satisfies the Var interface.

                                    func NewString

                                    func NewString(name string) *String

                                    func (*String) Set

                                    func (v *String) Set(value string)

                                    func (*String) String

                                    func (v *String) String() string

                                      String implements the Var interface. To get the unquoted string use Value.

                                      func (*String) Value

                                      func (v *String) Value() string

                                      type Var

                                      type Var interface {
                                      	// String returns a valid JSON value for the variable.
                                      	// Types with String methods that do not return valid JSON
                                      	// (such as time.Time) must not be used as a Var.
                                      	String() string
                                      }

                                        Var is an abstract type for all exported variables.

                                        func Get

                                        func Get(name string) Var

                                          Get retrieves a named exported variable. It returns nil if the name has not been registered.

                                          Source Files