Struct relay_event_schema::protocol::SpanData

source ·
pub struct SpanData {
Show 52 fields pub app_start_type: Annotated<Value>, pub ai_total_tokens_used: Annotated<Value>, pub ai_prompt_tokens_used: Annotated<Value>, pub ai_completion_tokens_used: Annotated<Value>, pub browser_name: Annotated<String>, pub code_filepath: Annotated<Value>, pub code_lineno: Annotated<Value>, pub code_function: Annotated<Value>, pub code_namespace: Annotated<Value>, pub db_operation: Annotated<Value>, pub db_system: Annotated<Value>, pub db_collection_name: Annotated<Value>, pub environment: Annotated<String>, pub release: Annotated<LenientString>, pub http_decoded_response_content_length: Annotated<Value>, pub http_request_method: Annotated<Value>, pub http_response_content_length: Annotated<Value>, pub http_response_transfer_size: Annotated<Value>, pub resource_render_blocking_status: Annotated<Value>, pub server_address: Annotated<Value>, pub cache_hit: Annotated<Value>, pub cache_key: Annotated<Value>, pub cache_item_size: Annotated<Value>, pub http_response_status_code: Annotated<Value>, pub ai_pipeline_name: Annotated<Value>, pub ai_model_id: Annotated<Value>, pub ai_input_messages: Annotated<Value>, pub ai_responses: Annotated<Value>, pub thread_name: Annotated<String>, pub thread_id: Annotated<ThreadId>, pub segment_name: Annotated<String>, pub ui_component_name: Annotated<Value>, pub url_scheme: Annotated<Value>, pub user: Annotated<Value>, pub replay_id: Annotated<Value>, pub sdk_name: Annotated<String>, pub sdk_version: Annotated<String>, pub frames_slow: Annotated<Value>, pub frames_frozen: Annotated<Value>, pub frames_total: Annotated<Value>, pub frames_delay: Annotated<Value>, pub messaging_destination_name: Annotated<String>, pub messaging_message_retry_count: Annotated<Value>, pub messaging_message_receive_latency: Annotated<Value>, pub messaging_message_body_size: Annotated<Value>, pub messaging_message_id: Annotated<String>, pub user_agent_original: Annotated<String>, pub url_full: Annotated<String>, pub client_address: Annotated<String>, pub route: Annotated<Route>, pub previous_route: Annotated<Route>, pub other: Object<Value>,
}
Expand description

Arbitrary additional data on a span.

Besides arbitrary user data, this type also contains SDK-provided fields used by the product (see https://develop.sentry.dev/sdk/performance/span-data-conventions/).

Fields§

§app_start_type: Annotated<Value>

Mobile app start variant.

Can be either “cold” or “warm”.

§ai_total_tokens_used: Annotated<Value>

The total tokens that were used by an LLM call

§ai_prompt_tokens_used: Annotated<Value>

The input tokens used by an LLM call (usually cheaper than output tokens)

§ai_completion_tokens_used: Annotated<Value>

The output tokens used by an LLM call (the ones the LLM actually generated)

§browser_name: Annotated<String>

The client’s browser name.

§code_filepath: Annotated<Value>

The source code file name that identifies the code unit as uniquely as possible.

§code_lineno: Annotated<Value>

The line number in code.filepath best representing the operation.

§code_function: Annotated<Value>

The method or function name, or equivalent.

Usually rightmost part of the code unit’s name.

§code_namespace: Annotated<Value>

The “namespace” within which code.function is defined.

Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.

§db_operation: Annotated<Value>

The name of the operation being executed.

E.g. the MongoDB command name such as findAndModify, or the SQL keyword. Based on OpenTelemetry’s call level db attributes.

§db_system: Annotated<Value>

An identifier for the database management system (DBMS) product being used.

See OpenTelemetry docs for a list of well-known identifiers.

§db_collection_name: Annotated<Value>

The name of a collection (table, container) within the database.

See OpenTelemetry’s database span semantic conventions.

§environment: Annotated<String>

The sentry environment.

§release: Annotated<LenientString>

The release version of the project.

§http_decoded_response_content_length: Annotated<Value>

The decoded body size of the response (in bytes).

§http_request_method: Annotated<Value>

The HTTP method used.

§http_response_content_length: Annotated<Value>

The encoded body size of the response (in bytes).

§http_response_transfer_size: Annotated<Value>

The transfer size of the response (in bytes).

§resource_render_blocking_status: Annotated<Value>

The render blocking status of the resource.

§server_address: Annotated<Value>

Name of the web server host.

§cache_hit: Annotated<Value>

Whether cache was hit or miss on a read operation.

§cache_key: Annotated<Value>

The name of the cache key.

§cache_item_size: Annotated<Value>

The size of the cache item.

§http_response_status_code: Annotated<Value>

The status HTTP response.

§ai_pipeline_name: Annotated<Value>

The ‘name’ field of the ancestor span with op ai.pipeline.*

§ai_model_id: Annotated<Value>

The Model ID of an AI pipeline, e.g., gpt-4

§ai_input_messages: Annotated<Value>

The input messages to an AI model call

§ai_responses: Annotated<Value>

The responses to an AI model call

§thread_name: Annotated<String>

Label identifying a thread from where the span originated.

§thread_id: Annotated<ThreadId>

ID of thread from where the span originated.

§segment_name: Annotated<String>

Name of the segment that this span belongs to (see segment_id).

This corresponds to the transaction name in the transaction-based model.

For INP spans, this is the route name where the interaction occurred.

§ui_component_name: Annotated<Value>

Name of the UI component (e.g. React).

§url_scheme: Annotated<Value>

The URL scheme, e.g. "https".

§user: Annotated<Value>

User Display

§replay_id: Annotated<Value>

Replay ID

§sdk_name: Annotated<String>

The sentry SDK (see crate::protocol::ClientSdkInfo).

§sdk_version: Annotated<String>

The sentry SDK version (see crate::protocol::ClientSdkInfo).

§frames_slow: Annotated<Value>

Slow Frames

§frames_frozen: Annotated<Value>

Frozen Frames

§frames_total: Annotated<Value>

Total Frames

§frames_delay: Annotated<Value>§messaging_destination_name: Annotated<String>§messaging_message_retry_count: Annotated<Value>

Message Retry Count

§messaging_message_receive_latency: Annotated<Value>

Message Receive Latency

§messaging_message_body_size: Annotated<Value>

Message Body Size

§messaging_message_id: Annotated<String>

Message ID

§user_agent_original: Annotated<String>

Value of the HTTP User-Agent header sent by the client.

§url_full: Annotated<String>

Absolute URL of a network resource.

§client_address: Annotated<String>

The client’s IP address.

§route: Annotated<Route>

The current route in the application.

Set by React Native SDK.

§previous_route: Annotated<Route>

The previous route in the application

Set by React Native SDK.

§other: Object<Value>

Other fields in span.data.

Trait Implementations§

source§

impl Clone for SpanData

source§

fn clone(&self) -> SpanData

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 SpanData

source§

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

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

impl Default for SpanData

source§

fn default() -> SpanData

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

impl Empty for SpanData

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 SpanData

source§

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

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

impl Getter for SpanData

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 SpanData

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 SpanData

source§

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

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

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

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

impl ProcessValue for SpanData

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 SpanData

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§

default 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,

§

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>,

§

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>,

§

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