rawpresentation

package
v0.0.0-...-8ff35f7 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

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 *annopb.Step, build *ui.MiloBuildLegacy)

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 string, path types.StreamPath) (*ui.MiloBuildLegacy, *ui.BuildPage, error)

GetBuild returns either a MiloBuildLegacy or a Build from a raw datagram stream.

The type of return value is determined by the content type of the 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) (*annopb.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 []*annopb.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 string
	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.

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 an annopb.Step. False implies that this is a
	// text log.
	IsDatagram bool
	// Data is the annopb.Step of the Stream, if IsDatagram is true.  Otherwise
	// this is nil.
	Data *annopb.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 annopb.Step) 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 *annopb.AnnotationLink) *ui.Link
}

URLBuilder constructs URLs for various link types.

type ViewerURLBuilder

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

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 *annopb.AnnotationLink) *ui.Link

BuildLink implements URLBuilder.

Jump to

Keyboard shortcuts

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