One telemetry delivery did not get through: the transport produced no answer,
or the server answered a non-2xx. The delivery put its batch back into the
process store first, with the same identities, so the next flush sends the
same events rather than logging new ones.
The error is channel-neutral: it names the channel whose delivery failed, so
a flush over several channels can report the first one that failed. Events of
a channel delivered before the failure stay sent — they are not returned to
the store. The two shapes carry the tag of their class
(TelemetryDeliveryHttpError, TelemetryDeliveryTransportError) and
reason repeats the shape: an http failure always carries the server's
status, a transport failure always carries the request layer's cause.
A delivery run before the process started its session is not one of them:
the caller broke the order of its own calls, so it dies with
TelemetryDeliverySessionError.
One telemetry delivery did not get through: the transport produced no answer, or the server answered a non-2xx. The delivery put its batch back into the process store first, with the same identities, so the next flush sends the same events rather than logging new ones.
The error is channel-neutral: it names the channel whose delivery failed, so a flush over several channels can report the first one that failed. Events of a channel delivered before the failure stay sent — they are not returned to the store. The two shapes carry the tag of their class (
TelemetryDeliveryHttpError,TelemetryDeliveryTransportError) andreasonrepeats the shape: anhttpfailure always carries the server'sstatus, atransportfailure always carries the request layer'scause. A delivery run before the process started its session is not one of them: the caller broke the order of its own calls, so it dies withTelemetryDeliverySessionError.