rawpresentation

package
v0.0.0-...-d60a78d Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2023 License: Apache-2.0 Imports: 24 Imported by: 4

Documentation

Index

Constants

View Source
const (

	// DefaultLogDogHost is the default LogDog host, if one isn't specified via
	// query string.
	DefaultLogDogHost = chromeinfra.LogDogHost
)

Variables

This section is empty.

Functions

func AddLogDogToBuild

func AddLogDogToBuild(
	c context.Context, ub URLBuilder, mainAnno *miloProto.Step, build *ui.MiloBuild)

AddLogDogToBuild takes a set of logdog streams and populate a milo build. build.Summary.Finished must be set.

func GetBuild

func GetBuild(c context.Context, host string, project types.ProjectName, path types.StreamPath) (*ui.MiloBuild, error)

GetBuild returns a build from a raw annotation stream.

func InjectFakeLogdogClient

func InjectFakeLogdogClient(c context.Context, client logdog.LogsClient) context.Context

InjectFakeLogdogClient adds the given logdog.LogsClient to the context.

You can obtain a fake logs client from

go.chromium.org/luci/logdog/api/endpoints/coordinator/logs/v1/fakelogs

Injecting a nil logs client will panic.

func NewClient

func NewClient(c context.Context, host string) (*coordinator.Client, error)

NewClient generates a new LogDog client that issues requests on behalf of the current user.

func ReadAnnotations

func ReadAnnotations(c context.Context, addr *types.StreamAddr) (*miloProto.Step, error)

ReadAnnotations synchronously reads and decodes the latest Step information from the provided StreamAddr.

func SubStepsToUI

func SubStepsToUI(c context.Context, ub URLBuilder, substeps []*miloProto.Step_Substep) ([]*ui.BuildComponent, []*ui.PropertyGroup)

SubStepsToUI converts a slice of annotation substeps to ui.BuildComponent and slice of ui.PropertyGroups.

Types

type AnnotationStream

type AnnotationStream struct {
	Project types.ProjectName
	Path    types.StreamPath

	// Client is the HTTP client to use for LogDog communication.
	Client *coordinator.Client
	// contains filtered or unexported fields
}

AnnotationStream represents a LogDog annotation protobuf stream.

func (*AnnotationStream) Fetch

Fetch loads the annotation stream from LogDog.

If the stream does not exist, or is invalid, Fetch will return a Milo error. Otherwise, it will return the Step that was loaded.

Fetch caches the step, so multiple calls to Fetch will return the same Step value.

func (*AnnotationStream) Normalize

func (as *AnnotationStream) Normalize() error

Normalize validates and normalizes the stream's parameters.

type Stream

type Stream struct {
	// Server is the LogDog server this stream originated from.
	Server string
	// Prefix is the LogDog prefix for the Stream.
	Prefix string
	// Path is the final part of the LogDog path of the Stream.
	Path string
	// IsDatagram is true if this is a MiloProto. False implies that this is a text log.
	IsDatagram bool
	// Data is the miloProto.Step of the Stream, if IsDatagram is true.  Otherwise
	// this is nil.
	Data *miloProto.Step
	// Text is the text of the Stream, if IsDatagram is false.  Otherwise
	// this is an empty string.
	Text string

	// Closed specifies whether Text or Data may change in the future.
	// If Closed, they may not.
	Closed bool
}

Stream represents a single LogDog style stream, which can contain either annotations (assumed to be MiloProtos) or text. Other types of annotations are not supported.

type Streams

type Streams struct {
	// MainStream is a pointer to the primary stream for this group of streams.
	MainStream *Stream
	// Streams is the full map streamName->stream referenced by MainStream.
	// It includes MainStream.
	Streams map[string]*Stream
}

Streams represents a group of LogDog Streams with a single entry point. Generally all of the streams are referenced by the entry point.

type URLBuilder

type URLBuilder interface {
	// LinkURL returns the URL associated with the supplied Link.
	//
	// If no URL could be built for that Link, nil will be returned.
	BuildLink(l *miloProto.Link) *ui.Link
}

URLBuilder constructs URLs for various link types.

type ViewerURLBuilder

type ViewerURLBuilder struct {
	Host    string
	Prefix  types.StreamName
	Project types.ProjectName
}

ViewerURLBuilder is a URL builder that constructs LogDog viewer URLs.

func NewURLBuilder

func NewURLBuilder(addr *types.StreamAddr) *ViewerURLBuilder

NewURLBuilder creates a new URLBuilder that can generate links to LogDog pages given a LogDog StreamAddr.

func (b *ViewerURLBuilder) BuildLink(l *miloProto.Link) *ui.Link

BuildLink implements URLBuilder.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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