docker: github.com/docker/docker/vendor/github.com/docker/libnetwork/diagnostic Index | Files

package diagnostic

import "github.com/docker/docker/vendor/github.com/docker/libnetwork/diagnostic"

Index

Package Files

server.go types.go

func DebugHTTPForm Uses

func DebugHTTPForm(r *http.Request)

DebugHTTPForm helper to print the form url parameters

func HTTPReply Uses

func HTTPReply(w http.ResponseWriter, r *HTTPResult, j *JSONOutput) (int, error)

HTTPReply helper function that takes care of sending the message out

type ErrorCmd Uses

type ErrorCmd struct {
    Error string `json:"error"`
}

ErrorCmd command with error

func (*ErrorCmd) String Uses

func (e *ErrorCmd) String() string

type HTTPHandlerFunc Uses

type HTTPHandlerFunc func(interface{}, http.ResponseWriter, *http.Request)

HTTPHandlerFunc TODO

type HTTPResult Uses

type HTTPResult struct {
    Message string          `json:"message"`
    Details StringInterface `json:"details"`
}

HTTPResult Diagnostic Server HTTP result operation

func CommandSucceed Uses

func CommandSucceed(result StringInterface) *HTTPResult

CommandSucceed creates a success message

func FailCommand Uses

func FailCommand(err error) *HTTPResult

FailCommand creates a failure message with error

func WrongCommand Uses

func WrongCommand(message, usage string) *HTTPResult

WrongCommand creates a wrong command response

func (*HTTPResult) String Uses

func (h *HTTPResult) String() string

type JSONOutput Uses

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

JSONOutput contains details on JSON output printing

func ParseHTTPFormOptions Uses

func ParseHTTPFormOptions(r *http.Request) (bool, *JSONOutput)

ParseHTTPFormOptions easily parse the JSON printing options

type NetworkStatsResult Uses

type NetworkStatsResult struct {
    Entries  int `json:"entries"`
    QueueLen int `jsoin:"qlen"`
}

NetworkStatsResult network db stats related to entries and queue len for a network

func (*NetworkStatsResult) String Uses

func (n *NetworkStatsResult) String() string

type PeerEntryObj Uses

type PeerEntryObj struct {
    Index int    `json:"-"`
    Name  string `json:"-=name"`
    IP    string `json:"ip"`
}

PeerEntryObj entry in the networkdb peer table

func (*PeerEntryObj) String Uses

func (p *PeerEntryObj) String() string

type Server Uses

type Server struct {
    sync.Mutex
    // contains filtered or unexported fields
}

Server when the debug is enabled exposes a This data structure is protected by the Agent mutex so does not require and additional mutex here

func New Uses

func New() *Server

New creates a new diagnostic server

func (*Server) DisableDiagnostic Uses

func (s *Server) DisableDiagnostic()

DisableDiagnostic stop the dubug and closes the tcp socket

func (*Server) EnableDiagnostic Uses

func (s *Server) EnableDiagnostic(ip string, port int)

EnableDiagnostic opens a TCP socket to debug the passed network DB

func (*Server) Init Uses

func (s *Server) Init()

Init initialize the mux for the http handling and register the base hooks

func (*Server) IsDiagnosticEnabled Uses

func (s *Server) IsDiagnosticEnabled() bool

IsDiagnosticEnabled returns true when the debug is enabled

func (*Server) RegisterHandler Uses

func (s *Server) RegisterHandler(ctx interface{}, hdlrs map[string]HTTPHandlerFunc)

RegisterHandler allows to register new handlers to the mux and to a specific path

func (*Server) ServeHTTP Uses

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP this is the method called bu the ListenAndServe, and is needed to allow us to use our custom mux

type StringCmd Uses

type StringCmd struct {
    Info string `json:"info"`
}

StringCmd command with info string

func (*StringCmd) String Uses

func (s *StringCmd) String() string

type StringInterface Uses

type StringInterface interface {
    String() string
}

StringInterface interface that has to be implemented by messages

type TableEndpointsResult Uses

type TableEndpointsResult struct {
    TableObj
    Elements []TableEntryObj `json:"entries"`
}

TableEndpointsResult fully typed message for proper unmarshaling on the client side

type TableEntryObj Uses

type TableEntryObj struct {
    Index int    `json:"-"`
    Key   string `json:"key"`
    Value string `json:"value"`
    Owner string `json:"owner"`
}

TableEntryObj network db table entry object

func (*TableEntryObj) String Uses

func (t *TableEntryObj) String() string

type TableObj Uses

type TableObj struct {
    Length   int               `json:"size"`
    Elements []StringInterface `json:"entries"`
}

TableObj network db table object

func (*TableObj) String Uses

func (t *TableObj) String() string

type TablePeersResult Uses

type TablePeersResult struct {
    TableObj
    Elements []PeerEntryObj `json:"entries"`
}

TablePeersResult fully typed message for proper unmarshaling on the client side

type UsageCmd Uses

type UsageCmd struct {
    Usage string `json:"usage"`
}

UsageCmd command with usage field

func (*UsageCmd) String Uses

func (u *UsageCmd) String() string

Package diagnostic imports 9 packages (graph). Updated 2019-03-16. Refresh now. Tools for package owners. This is an inactive package (no imports and no commits in at least two years).