Spec-Zone.ru › Go

Пакет expvar

  • import "expvar"
  • Обзор
  • Указатель

Обзор

Пакет expvar предоставляет стандартизированный интерфейс для общедоступных переменных, например счётчиков операций на серверах. Он предоставляет доступ к этим переменным через HTTP по адресу /debug/vars в формате JSON. Начиная с Go 1.22, для запроса /debug/vars необходимо использовать GET.

Операции установки или изменения этих общедоступных переменных атомарны.

Помимо добавления 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() any
  • 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) Delete(key string)
  • 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))

Do вызывает f для каждой экспортированной переменной. На время итерации глобальная карта переменных заблокирована, однако существующие записи могут обновляться параллельно.

func Handler 1.8

func Handler() http.Handler

Handler возвращает HTTP-обработчик expvar.

Он нужен только для установки обработчика в нестандартном месте.

func Publish

func Publish(name string, v Var)

Publish объявляет именованную экспортированную переменную. Его следует вызывать из функции init пакета при создании его переменных Var. Если имя уже зарегистрировано, будет вызван log.Panic.

type Float

Float — это 64-разрядная переменная с плавающей точкой, реализующая интерфейс Var.

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

func NewFloat

func NewFloat(name string) *Float

func (*Float) Add

func (v *Float) Add(delta float64)

Add прибавляет delta к v.

func (*Float) Set

func (v *Float) Set(value float64)

Set присваивает v значение value.

func (*Float) String

func (v *Float) String() string

func (*Float) Value 1.8

func (v *Float) Value() float64

type Func

Func реализует интерфейс Var, вызывая функцию и форматируя возвращённое значение с помощью JSON.

type Func func() any

func (Func) String

func (f Func) String() string

func (Func) Value 1.8

func (f Func) Value() any

type Int

Int — это 64-разрядная целочисленная переменная, реализующая интерфейс Var.

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

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 1.8

func (v *Int) Value() int64

type KeyValue

KeyValue представляет одну запись в Map.

type KeyValue struct {
    Key   string
    Value Var
}

type Map

Map — это переменная-карта, сопоставляющая строки значениям Var и реализующая интерфейс Var.

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

func NewMap

func NewMap(name string) *Map

func (*Map) Add

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

Add прибавляет delta к значению *Int, хранящемуся по указанному ключу карты.

func (*Map) AddFloat

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

AddFloat прибавляет delta к значению *Float, хранящемуся по указанному ключу карты.

func (*Map) Delete 1.12

func (v *Map) Delete(key string)

Delete удаляет указанный ключ из карты.

func (*Map) Do

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

Do вызывает 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

String — это строковая переменная, реализующая интерфейс Var.

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

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 реализует интерфейс Var. Чтобы получить строку без кавычек, используйте String.Value.

func (*String) Value 1.8

func (v *String) Value() string

type Var

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
}

func Get

func Get(name string) Var

Get получает именованную экспортированную переменную. Если имя не зарегистрировано, возвращается nil.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/expvar/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API