Documentation

Overview

Package ctrlz implements Istio's introspection facility. When components integrate with ControlZ, they automatically gain an IP port which allows operators to visualize and control a number of aspects of each process, including controlling logging scopes, viewing command-line options, memory use, etc. Additionally, the port implements a REST API allowing access and control over the same state.

ControlZ is designed around the idea of "topics". A topic corresponds to the different parts of the UI. There are a set of built-in topics representing the core introspection functionality, and each component that uses ControlZ can add new topics specialized for their purpose.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RegisterTopic

func RegisterTopic(t fw.Topic)

RegisterTopic registers a new Control-Z topic for the current process.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

Types

type Options

type Options struct {
	// The IP port to use for ctrlz.
	Port uint16

	// The IP address to listen on for ctrlz.
	Address string
}

Options defines the set of options supported by Istio's ControlZ component introspection package.

func DefaultOptions

func DefaultOptions() *Options

DefaultOptions returns a new set of options, initialized to the defaults

func (*Options) AttachCobraFlags

func (o *Options) AttachCobraFlags(cmd *cobra.Command)

AttachCobraFlags attaches a set of Cobra flags to the given Cobra command.

Cobra is the command-line processor that Istio uses. This command attaches the necessary set of flags to expose a CLI to let the user control all introspection options.

type Server

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

Server represents a running ControlZ instance.

func Run

func Run(o *Options, customTopics []fw.Topic) (*Server, error)

Run starts up the ControlZ listeners.

ControlZ uses the set of standard core topics, the supplied custom topics, as well as any topics registered via the RegisterTopic function.

func (*Server) Close

func (s *Server) Close()

Close terminates ControlZ.

Close is not normally used by programs that expose ControlZ, it is primarily intended to be used by tests.

Directories

Path Synopsis
fw
topics Package topics defines several canonical ControlZ topics.