core: v2ray.com/core/features/stats Index | Files

package stats

import "v2ray.com/core/features/stats"

Index

Package Files

errors.generated.go stats.go

func ManagerType Uses

func ManagerType() interface{}

ManagerType returns the type of Manager interface. Can be used to implement common.HasType.

v2ray:api:stable

type Counter Uses

type Counter interface {
    // Value is the current value of the counter.
    Value() int64
    // Set sets a new value to the counter, and returns the previous one.
    Set(int64) int64
    // Add adds a value to the current counter value, and returns the previous value.
    Add(int64) int64
}

Counter is the interface for stats counters.

v2ray:api:stable

func GetOrRegisterCounter Uses

func GetOrRegisterCounter(m Manager, name string) (Counter, error)

GetOrRegisterCounter tries to get the StatCounter first. If not exist, it then tries to create a new counter.

type Manager Uses

type Manager interface {
    features.Feature

    // RegisterCounter registers a new counter to the manager. The identifier string must not be emtpy, and unique among other counters.
    RegisterCounter(string) (Counter, error)
    // GetCounter returns a counter by its identifier.
    GetCounter(string) Counter
}

Manager is the interface for stats manager.

v2ray:api:stable

type NoopManager Uses

type NoopManager struct{}

NoopManager is an implementation of Manager, which doesn't has actual functionalities.

func (NoopManager) Close Uses

func (NoopManager) Close() error

Close implements common.Closable.

func (NoopManager) GetCounter Uses

func (NoopManager) GetCounter(string) Counter

GetCounter implements Manager.

func (NoopManager) RegisterCounter Uses

func (NoopManager) RegisterCounter(string) (Counter, error)

RegisterCounter implements Manager.

func (NoopManager) Start Uses

func (NoopManager) Start() error

Start implements common.Runnable.

func (NoopManager) Type Uses

func (NoopManager) Type() interface{}

Type implements common.HasType.

Package stats imports 2 packages (graph) and is imported by 12 packages. Updated 2019-03-30. Refresh now. Tools for package owners.