EdotRequestTrace class

One outbound request being traced, whatever transport made it.

Integrations drive this rather than building spans of their own. The Elastic Mobile Attribute Set (ADR-0003), the sanitiser, both exclusion rules and the Trace Context decision are the same for every transport, and a second copy of them is a second thing to keep in step — the two would drift the first time one of them gained an attribute.

A transport is left with only what is genuinely transport-specific: reading the method, URL and sizes out of its own request type, putting the returned headers on it, and saying how the request finished.

A traced request is normally two spans: the client span, and the Request Transaction it hangs under (ADR-0016) - the same pair, carrying the same values, that the iOS Agent manufactures on its own. Requests started inside EdotTracer.runWithParent are one, the ambient span being the transaction already.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

end() → void
Ends both spans. Ignored if already called.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
outgoingHeaders() → Future<Map<String, String>>
Every header a transport must put on this request.
recordFailure(Object error, {StackTrace? stackTrace, String? type}) → void
Records a request that failed before any answer arrived.
recordRequestSize(int size) → void
Records the request body's size, for a transport that learns it only once the request has been dispatched.
recordResponse({int? statusCode, int? responseSize, String? reasonPhrase}) → void
Records a request the service answered.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

begin({required String method, required String url, required String client, int? requestSize}) → EdotRequestTrace?
Starts tracing a request, or returns null when it must not be traced.