Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(settings ServerSettings) logdog.ServicesServer

New creates a new authenticating ServicesServer instance.

Panics if `settings` is invalid.

func RawArchiveQueueName

func RawArchiveQueueName(queueNumber int32) string

RawArchiveQueueName returns the raw name for the queueNumber'th queue used for ArchiveTasks.

Types

type ServerSettings

type ServerSettings struct {
	// NumQueues is the number of queues to use for Archival tasks.
	//
	// Note that cloud task queues have a maximum throughput of 1000 qps on
	// average. Each log STREAM in LogDog will require processing AT LEAST two
	// tasks. It is recommended that you monitor the queue throughput of the
	// logdog deployment and increase this value when getting close to the qps
	// limit.
	//
	// NOTE:
	//   * Decreasing this value will cause some tasks to be un-issued.
	//     DO NOT DO THIS without coding some other workaround (for example, in
	//     LeaseArchiveTasks, inspect ALL available queues and issue randomly from
	//     all of them; Could be done by maintaining a `maxNumQueues` alongside
	//     `numQueues` where `maxNumQueues` is kept high while draining the higher
	//     queues).
	//   * Increasing this value is OK. Leased tasks embed their queue number into
	//     their TaskName field, which is round-tripped through the Archivist.
	//     When the DeleteArchiveTasks RPC is invoked, each task will be removed
	//     from the queue number embedded in TaskName.
	//
	// Reqired. Must be >0.
	NumQueues int
}

ServerSettings are settings for the LogDog RPC service.