Help us shape the future of Go! Take the 2026 Go Developer Survey

debugutils

package
v0.8.24 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: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultLogCollector

func DefaultLogCollector() (*logCollector, error)

func DefaultResourceCollector

func DefaultResourceCollector() (*resourceCollector, error)

func NewLogCollector

func NewLogCollector(logRequestBuilder *LogRequestBuilder) *logCollector

Types

type Aggregator

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

func DefaultAggregator

func DefaultAggregator() (*Aggregator, error)

func NewAggregator

func NewAggregator(resourceCollector ResourceCollector, logCollector LogCollector, storageClient StorageClient, fs afero.Fs, dir string) *Aggregator

func (*Aggregator) StreamFromManifest

func (a *Aggregator) StreamFromManifest(manifest helmchart.Manifests, namespace, filename string) error

type FileStorageClient

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

func DefaultFileStorageClient

func DefaultFileStorageClient() *FileStorageClient

func NewFileStorageClient

func NewFileStorageClient(fs afero.Fs) *FileStorageClient

func (*FileStorageClient) Save

func (fsc *FileStorageClient) Save(location string, resources ...*StorageObject) error

type GcsStorageClient

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

func DefaultGcsStorageClient

func DefaultGcsStorageClient(ctx context.Context) (*GcsStorageClient, error)

func NewGcsStorageClient

func NewGcsStorageClient(client *storage.Client, ctx context.Context) *GcsStorageClient

func (*GcsStorageClient) Save

func (gsc *GcsStorageClient) Save(location string, resources ...*StorageObject) error

type LabelPodFinder

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

func DefaultLabelPodFinder

func DefaultLabelPodFinder() (*LabelPodFinder, error)

func NewLabelPodFinder

func NewLabelPodFinder(client kubernetes.Interface) *LabelPodFinder

func (*LabelPodFinder) GetPods

func (lpf *LabelPodFinder) GetPods(resources kuberesource.UnstructuredResources) ([]*corev1.PodList, error)

type LogCollector

type LogCollector interface {
	GetLogRequests(resources kuberesource.UnstructuredResources) ([]*LogsRequest, error)
	SaveLogs(client StorageClient, location string, requests []*LogsRequest) error
}

type LogMeta

type LogMeta struct {
	PodMeta       metav1.ObjectMeta
	ContainerName string
}

func (LogMeta) ResourceId

func (lr LogMeta) ResourceId() string

func (LogMeta) ResourcePath

func (lr LogMeta) ResourcePath(dir string) string

type LogRequestBuilder

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

func DefaultLogRequestBuilder

func DefaultLogRequestBuilder() (*LogRequestBuilder, error)

func NewLogRequestBuilder

func NewLogRequestBuilder(clientset corev1client.CoreV1Interface, podFinder PodFinder) *LogRequestBuilder

func (*LogRequestBuilder) LogsFromUnstructured

func (lrb *LogRequestBuilder) LogsFromUnstructured(resources kuberesource.UnstructuredResources, opts ...LogRequestOptions) ([]*LogsRequest, error)

func (*LogRequestBuilder) RetrieveLogs

func (lrb *LogRequestBuilder) RetrieveLogs(pods *corev1.PodList, opts ...LogRequestOptions) []*LogsRequest

func (LogRequestBuilder) StreamLogs

func (lc LogRequestBuilder) StreamLogs(requests []*LogsRequest) ([]*LogsResponse, error)

type LogRequestOptions

type LogRequestOptions func(options *corev1.PodLogOptions)
var (
	FollowLogs LogRequestOptions = func(options *corev1.PodLogOptions) {
		options.Follow = true
	}
	PreviousLogs LogRequestOptions = func(options *corev1.PodLogOptions) {
		options.Previous = true

	}
	LogsSince = func(since time.Time) LogRequestOptions {
		return func(options *corev1.PodLogOptions) {
			options.SinceTime = &metav1.Time{Time: since}
		}
	}
)

type LogsRequest

type LogsRequest struct {
	LogMeta
	Request rest.ResponseWrapper
}

func NewLogsRequest

func NewLogsRequest(podMeta metav1.ObjectMeta, containerName string, request *rest.Request) *LogsRequest

type LogsResponse

type LogsResponse struct {
	LogMeta
	Response io.ReadCloser
}

type PodFinder

type PodFinder interface {
	GetPods(resources kuberesource.UnstructuredResources) ([]*corev1.PodList, error)
}

type ResourceCollector

type ResourceCollector interface {
	RetrieveResources(resources kuberesource.UnstructuredResources, namespace string, opts metav1.ListOptions) ([]kuberesource.VersionedResources, error)
	SaveResources(client StorageClient, location string, versionedResources []kuberesource.VersionedResources) error
}

type StorageClient

type StorageClient interface {
	Save(location string, resources ...*StorageObject) error
}

type StorageObject

type StorageObject struct {
	Resource io.Reader
	Name     string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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