relay_event_schema::protocol

Struct Replay

source
pub struct Replay {
Show 19 fields pub event_id: Annotated<EventId>, pub replay_id: Annotated<EventId>, pub replay_type: Annotated<String>, pub segment_id: Annotated<u64>, pub timestamp: Annotated<Timestamp>, pub replay_start_timestamp: Annotated<Timestamp>, pub urls: Annotated<Array<String>>, pub error_ids: Annotated<Array<Uuid>>, pub trace_ids: Annotated<Array<Uuid>>, pub contexts: Annotated<Contexts>, pub platform: Annotated<String>, pub release: Annotated<LenientString>, pub dist: Annotated<String>, pub environment: Annotated<String>, pub tags: Annotated<Tags>, pub ty: Annotated<String>, pub user: Annotated<User>, pub request: Annotated<Request>, pub sdk: Annotated<ClientSdkInfo>,
}

Fields§

§event_id: Annotated<EventId>

Unique identifier of this event.

Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. Has to be lowercase.

Even though this field is backfilled on the server with a new uuid4, it is strongly recommended to generate that uuid4 clientside. There are some features like user feedback which are easier to implement that way, and debugging in case events get lost in your Sentry installation is also easier.

Example:

{
  "event_id": "fc6d8c0c43fc4630ad850ee518f1b9d0"
}
§replay_id: Annotated<EventId>

Replay identifier.

Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. Has to be lowercase.

Example:

{
  "replay_id": "fc6d8c0c43fc4630ad850ee518f1b9d0"
}
§replay_type: Annotated<String>

The type of sampling that captured the replay.

A string enumeration. One of “session” or “error”.

Example:

{
  "replay_type": "session"
}
§segment_id: Annotated<u64>

Segment identifier.

A number representing a unique segment identifier in the chain of replay segments. Segment identifiers are temporally ordered but can be received by the Relay service in any order.

Example:

{
  "segment_id": 10
}
§timestamp: Annotated<Timestamp>

Timestamp when the event was created.

Indicates when the segment was created in the Sentry SDK. The format is either a string as defined in RFC 3339 or a numeric (integer or float) value representing the number of seconds that have elapsed since the Unix epoch.

Timezone is assumed to be UTC if missing.

Sub-microsecond precision is not preserved with numeric values due to precision limitations with floats (at least in our systems). With that caveat in mind, just send whatever is easiest to produce.

All timestamps in the event protocol are formatted this way.

§Example

All of these are the same date:

{ "timestamp": "2011-05-02T17:41:36Z" }
{ "timestamp": "2011-05-02T17:41:36" }
{ "timestamp": "2011-05-02T17:41:36.000" }
{ "timestamp": 1304358096.0 }
§replay_start_timestamp: Annotated<Timestamp>

Timestamp when the replay was created. Typically only specified on the initial segment.

§urls: Annotated<Array<String>>

A list of URLs visted during the lifetime of the segment.

§error_ids: Annotated<Array<Uuid>>

A list of error-ids discovered during the lifetime of the segment.

§trace_ids: Annotated<Array<Uuid>>

A list of trace-ids discovered during the lifetime of the segment.

§contexts: Annotated<Contexts>

Contexts describing the environment (e.g. device, os or browser).

§platform: Annotated<String>

Platform identifier of this event (defaults to “other”).

A string representing the platform the SDK is submitting from. This will be used by the Sentry interface to customize various components in the interface.

§release: Annotated<LenientString>

The release version of the application.

Release versions must be unique across all projects in your organization. This value can be the git SHA for the given project, or a product identifier with a semantic version.

§dist: Annotated<String>

Program’s distribution identifier.

The distribution of the application.

Distributions are used to disambiguate build or deployment variants of the same release of an application. For example, the dist can be the build number of an XCode build or the version code of an Android build.

§environment: Annotated<String>

The environment name, such as production or staging.

{ "environment": "production" }
§tags: Annotated<Tags>

Custom tags for this event.

A map or list of tags for this event. Each tag must be less than 200 characters.

§ty: Annotated<String>

Static value. Should always be “replay_event”.

§user: Annotated<User>

Information about the user who triggered this event.

§request: Annotated<Request>

Information about a web request that occurred during the event.

§sdk: Annotated<ClientSdkInfo>

Information about the Sentry SDK that generated this event.

Implementations§

source§

impl Replay

source

pub fn context<C: DefaultContext>(&self) -> Option<&C>

Returns a reference to the context if it exists in its default key.

source

pub fn user_agent(&self) -> Option<&str>

Returns the raw user agent string.

Returns Some if the event’s request interface contains a user-agent header. Returns None otherwise.

Trait Implementations§

source§

impl Clone for Replay

source§

fn clone(&self) -> Replay

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Replay

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Replay

source§

fn default() -> Replay

Returns the “default value” for a type. Read more
source§

impl Empty for Replay

source§

fn is_empty(&self) -> bool

Returns whether this value is empty.
source§

fn is_deep_empty(&self) -> bool

Returns whether this value is empty or all of its descendants are empty. Read more
source§

impl FromValue for Replay

source§

fn from_value(__value: Annotated<Value>) -> Annotated<Self>

Creates a meta structure from an annotated boxed value.
source§

impl Getter for Replay

source§

fn get_value(&self, path: &str) -> Option<Val<'_>>

Returns the serialized value of a field pointed to by a path.
§

fn get_iter(&self, _path: &str) -> Option<GetterIter<'_>>

Returns an iterator over the array pointed to by a path. Read more
source§

impl IntoValue for Replay

source§

fn into_value(self) -> Value

Boxes the meta structure back into a value.
source§

fn serialize_payload<S>( &self, __serializer: S, __behavior: SkipSerialization, ) -> Result<S::Ok, S::Error>
where Self: Sized, S: Serializer,

Efficiently serializes the payload directly.
source§

fn extract_child_meta(&self) -> MetaMap
where Self: Sized,

Extracts children meta map out of a value.
§

fn extract_meta_tree(value: &Annotated<Self>) -> MetaTree
where Self: Sized,

Extracts the meta tree out of annotated value. Read more
source§

impl PartialEq for Replay

source§

fn eq(&self, other: &Replay) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl ProcessValue for Replay

source§

fn value_type(&self) -> EnumSet<ValueType>

Returns the type of the value.
source§

fn process_value<P>( &mut self, __meta: &mut Meta, __processor: &mut P, __state: &ProcessingState<'_>, ) -> ProcessingResult
where P: Processor,

Executes a processor on this value.
source§

fn process_child_values<P>( &mut self, __processor: &mut P, __state: &ProcessingState<'_>, ) -> ProcessingResult
where P: Processor,

Recurses into children of this value.
source§

impl StructuralPartialEq for Replay

Auto Trait Implementations§

§

impl Freeze for Replay

§

impl RefUnwindSafe for Replay

§

impl Send for Replay

§

impl Sync for Replay

§

impl Unpin for Replay

§

impl UnwindSafe for Replay

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T