target

package
v0.0.0-...-a0a3655 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package target contains information about the thing that is sending metrics - either a NetworkDevice (a machine) or a Task (a service). There is a default target that is usually configured with commandline flags (flags.go), but a target can also be passed through the Context (context.go) if you need to set metric values for a different target.

Index

Constants

View Source
const (
	// DeviceType is a device target type.
	DeviceType = Type("device")
	// TaskType represents a task target type.
	TaskType = Type("task")
)

Variables

This section is empty.

Functions

func Get

func Get(ctx context.Context) types.Target

Get returns the target set in this context.

func GetWithDefault

func GetWithDefault(ctx context.Context, def types.Target) types.Target

GetWithDefault is like Get, except it returns the given default value if there is no target set in the context.

func NewFromFlags

func NewFromFlags(fl *Flags) (types.Target, error)

NewFromFlags returns a Target configured from commandline flags.

func Set

Set returns a new context with the given target set. If this context is passed to metric Set, Get or Incr methods the metrics for that target will be affected. A nil target means to use the default target.

Types

type Flags

type Flags struct {
	TargetType      Type
	DeviceHostname  string
	DeviceRegion    string
	DeviceRole      string
	DeviceNetwork   string
	TaskServiceName string
	TaskJobName     string
	TaskRegion      string
	TaskHostname    string
	TaskNumber      int
	AutoGenHostname bool

	// If nil, system info is computed from the actual host. Used
	// in tests.
	SysInfo *SysInfo
}

Flags defines command line flags related to tsmon targets. Use NewFlags() to get a Flags struct with sensible default values.

func NewFlags

func NewFlags() Flags

NewFlags returns a Flags struct with sensible default values. Hostname, region and network flags are expensive to compute, so get assigned default values later in SetDefaultsFromHostname.

func (*Flags) Register

func (fl *Flags) Register(f *flag.FlagSet)

Register adds tsmon target related flags to a FlagSet.

func (*Flags) SetDefaultsFromHostname

func (fl *Flags) SetDefaultsFromHostname()

SetDefaultsFromHostname computes the expensive default values for hostname, region and network fields.

type NetworkDevice

type NetworkDevice struct {
	Metro     string
	Role      string
	Hostname  string
	Hostgroup string
}

A NetworkDevice is a machine that has a hostname.

func (*NetworkDevice) Clone

func (t *NetworkDevice) Clone() types.Target

Clone returns a copy of this object.

func (*NetworkDevice) Hash

func (t *NetworkDevice) Hash() uint64

Hash returns a uint64 hash of this target.

func (*NetworkDevice) PopulateProto

func (t *NetworkDevice) PopulateProto(d *pb.MetricsCollection)

PopulateProto implements Target.

type SysInfo

type SysInfo struct {
	Hostname string
	Region   string
}

SysInfo overrides system's hostname and region for tests.

type Task

type Task struct {
	ServiceName string
	JobName     string
	DataCenter  string
	HostName    string
	TaskNum     int32
}

A Task is a process or a service running on one or more machine.

func (*Task) Clone

func (t *Task) Clone() types.Target

Clone returns a copy of this object.

func (*Task) Hash

func (t *Task) Hash() uint64

Hash returns a uint64 hash of this target.

func (*Task) PopulateProto

func (t *Task) PopulateProto(d *pb.MetricsCollection)

PopulateProto implements Target.

type Type

type Type string

Type is a target type enumeration.

func (*Type) Set

func (tt *Type) Set(v string) error

Set implements flag.Value.

func (*Type) String

func (tt *Type) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL