Struct relay_event_schema::protocol::Metrics

source ·
pub struct Metrics {
Show 14 fields pub bytes_ingested_event: Annotated<u64>, pub bytes_ingested_event_minidump: Annotated<u64>, pub bytes_ingested_event_applecrashreport: Annotated<u64>, pub bytes_ingested_event_attachment: Annotated<u64>, pub bytes_stored_event: Annotated<u64>, pub bytes_stored_event_minidump: Annotated<u64>, pub bytes_stored_event_applecrashreport: Annotated<u64>, pub bytes_stored_event_attachment: Annotated<u64>, pub ms_processing_symbolicator: Annotated<u64>, pub ms_processing_proguard: Annotated<u64>, pub ms_processing_jvm: Annotated<u64>, pub ms_processing_sourcemaps: Annotated<u64>, pub flag_processing_error: Annotated<bool>, pub flag_processing_fatal: Annotated<bool>,
}
Expand description

Metrics captured during event ingestion and processing.

These values are collected in Relay and Sentry and finally persisted into the event payload. A value of 0 is equivalent to N/A and should not be considered in aggregations and analysis.

Fields§

§bytes_ingested_event: Annotated<u64>

The size of the original event payload ingested into Sentry.

The size is measured after applying all content- and transfer-encodings and thus independent of compression over the wire.

For security reports, this is the size of the JSON request sent by the browser and not of the event payload we extract from it. For ingested envelopes, this is only the size of the “event” item.

This metric is measured in Relay during ingestion.

§bytes_ingested_event_minidump: Annotated<u64>

The size of the minidump ingested into Sentry.

The size is measured after applying all content- and transfer-encodings and thus independent of compression over the wire.

This metric is measured in Relay during ingestion.

§bytes_ingested_event_applecrashreport: Annotated<u64>

The size of an apple crash report ingested into Sentry.

The size is measured after applying all content- and transfer-encodings and thus independent of compression over the wire.

This metric is measured in Relay during ingestion.

§bytes_ingested_event_attachment: Annotated<u64>

The cumulative size of all additional attachments ingested into Sentry.

This is a sum of all all generic attachment payloads (excluding headers). These attachments are never processed and only potentially stored. Minidumps and apple crash reports are counted separately in their respective metrics.

This metric is measured in Relay during ingestion.

§bytes_stored_event: Annotated<u64>

The size of the event payload as it is saved in node store.

For security reports, this is the size of the event derived from the original JSON. For processed events, such as native or javascript, this includes information derived during symbolication and internal meta data.

This metric is measured in Sentry after all processing has completed and when it is posted into node store.

§bytes_stored_event_minidump: Annotated<u64>

The size of the minidump as it is saved in blob store.

Minidumps are not saved in two conditions. In this case, this number will be zero (missing):

  1. The attachment feature is not enabled for an organization.
  2. The option “Store Native Crash Reports” is disabled (default).

This metric is measured in Sentry after all processing has completed and when it is posted into node store.

§bytes_stored_event_applecrashreport: Annotated<u64>

The size of the apple crash report as it is saved in blob store.

Apple crash reports are not saved in two conditions. In this case, this number will be zero (missing):

  1. The attachment feature is not enabled for an organization.
  2. The option “Store Native Crash Reports” is disabled (default).

This metric is measured in Sentry after all processing has completed and when it is posted into node store.

§bytes_stored_event_attachment: Annotated<u64>

The cumulative size of all additional attachments as saved in blob store.

Attachments are not saved if the attachment feature is not enabled for the organization. In this case, this number will be zero (missing).

This metric is measured in Sentry after all processing has completed and when it is posted into node store.

§ms_processing_symbolicator: Annotated<u64>

The number of milliseconds Symbolicator spent processing the native event.

This metric is measured in Symbolicator and reported in the native processing task. There are additional overheads polling symbolicator for the response, but the time reported from symbolicator reflects used resources most accurately.

§ms_processing_proguard: Annotated<u64>

The number of milliseconds Sentry spent resolving proguard mappings for a java event.

This metric is measured in Sentry and reported in the java processing task.

§ms_processing_jvm: Annotated<u64>

The number of milliseconds Sentry spent resolving sources for a java event.

This metric is measured in Sentry and reported in the java processing task.

§ms_processing_sourcemaps: Annotated<u64>

The number of milliseconds sentry spent resolving minified stack traces for a javascript event.

This metric is measured in Sentry and reported in the javascript processing task.

§flag_processing_error: Annotated<bool>

Whether there has been a processing error that likely impacts the usefulness of an event.

Example: malformed/unparseable debug information files.

This metric is measured in Sentry and should be reported in all processing tasks.

§flag_processing_fatal: Annotated<bool>

Whether there has been a processing error that almost certainly renders the event unusuable.

Example: Minidump could not be parsed, but we do not drop the event as it may still contain context data and attachments, and we already billed the user anyway.

This metric is measured in Sentry and should be reported in all processing tasks.

Trait Implementations§

source§

impl Clone for Metrics

source§

fn clone(&self) -> Metrics

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 Metrics

source§

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

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

impl Default for Metrics

source§

fn default() -> Metrics

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

impl Empty for Metrics

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 Metrics

source§

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

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

impl IntoValue for Metrics

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 Metrics

source§

fn eq(&self, other: &Metrics) -> 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 Metrics

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 Metrics

Auto Trait Implementations§

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