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)
  • тип 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
  • тип Func
  • func (f Func) String() string
  • func (f Func) Value() any
  • тип 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
  • тип KeyValue
  • тип 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
  • тип String
  • func NewString(name string) *String
  • func (v *String) Set(value string)
  • func (v *String) String() string
  • func (v *String) Value() string
  • тип 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 пакета, когда он создаёт свои переменные. Если имя уже зарегистрировано, это вызовет log.Panic.

тип 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

тип 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

тип 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

тип KeyValue

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

type KeyValue struct {
    Key   string
    Value Var
}

тип Map

Map — это карта string-to-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

тип 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

тип 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