Documentation
¶
Index ¶
- Variables
- func DefaultDomain() string
- func DomainToHost(domain string) string
- func GetUserAgent() string
- func NewFrontClient(host string, cli akid.ClientID) *frontClientImpl
- func NewLearnClient(host string, cli akid.ClientID, svc akid.ServiceID) *learnClientImpl
- func SetAPIErrorHandler(f APIErrorHandler)
- type APIErrorHandler
- type BaseClient
- type CreateServiceErrorResponse
- type CreateServiceResponse
- type CreateSpecOptions
- type FrontClient
- type GetSpecOptions
- type HTTPError
- type LearnClient
- type PostmanMetaData
- type Service
- type User
Constants ¶
This section is empty.
Variables ¶
View Source
var Domain string
View Source
var ExpectedServerName string
Accept a server name other than the expected one in the TLS handshake
View Source
var ( // Shared client to maximize connection re-use. // TODO: make this private to the package once kgx package is removed. HTTPClient *retryablehttp.Client )
View Source
var PermitInvalidCertificate bool
Connect even if the certificate does not validate.
View Source
var ProxyAddress string
Use a proxy, "" is none. (This is because the flags package doesn't support Optional) May be a URL, a domain name, or an IP address. HTTP is assumed as the protocol if none is provided.
Functions ¶
func DefaultDomain ¶ added in v0.26.1
func DefaultDomain() string
Return the default domain, given the settings in use
func DomainToHost ¶ added in v0.26.1
Convert domain to the specific host to contact.
func GetUserAgent ¶
func GetUserAgent() string
func NewFrontClient ¶
func NewLearnClient ¶
func SetAPIErrorHandler ¶ added in v0.21.9
func SetAPIErrorHandler(f APIErrorHandler)
Types ¶
type APIErrorHandler ¶ added in v0.21.9
Error handling (to call into the telemetry library without creating a circular dependency.)
type BaseClient ¶ added in v0.26.1
type BaseClient struct {
// contains filtered or unexported fields
}
func NewBaseClient ¶ added in v0.26.1
func NewBaseClient(rawHost string, cli akid.ClientID) BaseClient
func (BaseClient) Get ¶ added in v0.26.1
func (c BaseClient) Get(ctx context.Context, path string, resp interface{}) error
Sends GET request and parses the response as JSON.
func (BaseClient) GetWithQuery ¶ added in v0.26.1
type CreateServiceErrorResponse ¶ added in v0.27.1
type CreateServiceResponse ¶ added in v0.26.2
type CreateSpecOptions ¶
type FrontClient ¶
type FrontClient interface {
GetServices(context.Context) ([]Service, error)
CreateService(context.Context, string, string) (CreateServiceResponse, error)
DaemonHeartbeat(ctx context.Context, daemonName string) error
// Long-polls for changes to the set of active traces for a service.
// Callers specify what they think the current set of active traces is. When
// the cloud has a different set, this method returns options for capturing
// new traces and a set of deactivated traces. An error is returned if the
// connection is dropped (e.g., due to timing out).
LongPollActiveTracesForService(context context.Context, daemonName string, serviceID akid.ServiceID, currentTraces []akid.LearnSessionID) (daemon.ActiveTraceDiff, error)
}
type GetSpecOptions ¶
type GetSpecOptions struct {
EnableRelatedTypes bool
}
type LearnClient ¶
type LearnClient interface {
ListLearnSessions(
ctx context.Context,
serviceID akid.ServiceID,
tags map[tags.Key]string,
limit int,
offset int,
) ([]*kgxapi.ListedLearnSession, error)
ListLearnSessionsWithStats(context.Context, akid.ServiceID, int) ([]*kgxapi.ListedLearnSession, error)
GetLearnSession(context.Context, akid.ServiceID, akid.LearnSessionID) (*kgxapi.LearnSession, error)
CreateLearnSession(context.Context, *kgxapi.APISpecReference, string, map[tags.Key]string) (akid.LearnSessionID, error)
// Uploads a batch of reports to Akita Cloud. This method is responsible for
// filling in the ClientID in the given ReportsUploadRequest.
AsyncReportsUpload(context.Context, akid.LearnSessionID, *kgxapi.UploadReportsRequest) error
// Creates a spec from a set of learn sessions.
CreateSpec(context.Context, string, []akid.LearnSessionID, CreateSpecOptions) (akid.APISpecID, error)
GetSpec(context.Context, akid.APISpecID, GetSpecOptions) (kgxapi.GetSpecResponse, error)
GetSpecVersion(context.Context, string) (kgxapi.APISpecVersion, error)
UploadSpec(context.Context, kgxapi.UploadSpecRequest) (*kgxapi.UploadSpecResponse, error)
// Resolve names.
GetAPISpecIDByName(context.Context, string) (akid.APISpecID, error)
GetLearnSessionIDByName(context.Context, string) (akid.LearnSessionID, error)
// Spec diff
GetSpecDiffTrie(context.Context, akid.APISpecID, akid.APISpecID) (*path_trie.PathTrie, error)
// Telemetry
PostClientPacketCaptureStats(context.Context, akid.ServiceID, string, kgxapi.PostClientPacketCaptureStatsRequest) error
PostInitialClientTelemetry(context.Context, akid.ServiceID, string, kgxapi.PostInitialClientTelemetryRequest) error
}
type PostmanMetaData ¶ added in v0.26.1
type Service ¶
type Service struct {
ID akid.ServiceID `json:"id"`
Name string `json:"name"`
PostmanMetaData PostmanMetaData `json:"postman_meta_data"`
}
TODO: shouldn't this be in akita-cli/api_schema?
type User ¶ added in v0.21.9
type User = api_schema.UserResponse
Click to show internal directories.
Click to hide internal directories.