Report

@SerialVersionUID(0L)
final case class Report(header: Option[ReportHeader], tracesPerQuery: Map[String, TracesAndStats], endTime: Option[Timestamp], unknownFields: UnknownFieldSet) extends GeneratedMessage with Updatable[Report]

This is the top-level message used by the new traces ingress. This is designed for the apollo-engine-reporting TypeScript agent and will eventually be documented as a public ingress API. This message consists solely of traces; the equivalent of the StatsReport is automatically generated server-side from this message. Agent should either send a trace or include it in the stats for every request in this report. Generally, buffering up until a large size has been reached (say, 4MB) or 5-10 seconds has passed is appropriate. This message used to be know as FullTracesReport, but got renamed since it isn't just for traces anymore

Value parameters:
endTime

This is the time that the requests in this trace are considered to have taken place If this field is not present the max of the end_time of each trace will be used instead. If there are no traces and no end_time present the report will not be able to be processed. Note: This will override the end_time from traces. required if no traces in this message

tracesPerQuery

key is statsReportKey (# operationName&92;nsignature) Note that the nested traces will not have a signature or details.operationName (because the key is adequate). We also assume that traces don't have legacy_per_query_implicit_operation_name, and we don't require them to have details.raw_query (which would consume a lot of space and has privacy/data access issues, and isn't currently exposed by our app anyway).

Companion:
object
trait Updatable[Report]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

def addAllTracesPerQuery(`__vs`: Iterable[(String, TracesAndStats)]): Report
def addTracesPerQuery(`__vs`: (String, TracesAndStats)*): Report
def companion: Report.type
def getEndTime: Timestamp
def getField(`__field`: FieldDescriptor): PValue
def getFieldByNumber(`__fieldNumber`: Int): Any
override def serializedSize: Int
Definition Classes
GeneratedMessage
def toProtoString: String
def withEndTime(`__v`: Timestamp): Report
def withTracesPerQuery(`__v`: Map[String, TracesAndStats]): Report
def withUnknownFields(`__v`: UnknownFieldSet): Report
def writeTo(`_output__`: CodedOutputStream): Unit

Inherited methods

def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product
final def toByteArray: Array[Byte]

Serializes the message and returns a byte array containing its raw bytes

Serializes the message and returns a byte array containing its raw bytes

Inherited from:
GeneratedMessage
final def toByteString: ByteString

Serializes the message and returns a ByteString containing its raw bytes

Serializes the message and returns a ByteString containing its raw bytes

Inherited from:
GeneratedMessage
final def toPMessage: PMessage
Inherited from:
GeneratedMessage
def update(ms: Lens[Report, Report] => () => Report*): Report
Inherited from:
Updatable
final def writeDelimitedTo(output: OutputStream): Unit
Inherited from:
GeneratedMessage
final def writeTo(output: OutputStream): Unit

Serializes the message into the given output stream

Serializes the message into the given output stream

Inherited from:
GeneratedMessage