Struct near_vm_logic::profile::ProfileDataV3
source · pub struct ProfileDataV3 { /* private fields */ }
Expand description
Profile of gas consumption.
Implementations§
source§impl ProfileDataV3
impl ProfileDataV3
pub fn new() -> ProfileDataV3
sourcepub fn test() -> ProfileDataV3
pub fn test() -> ProfileDataV3
Test instance with unique numbers in each field.
pub fn merge(&mut self, other: &ProfileDataV3)
pub fn add_action_cost(&mut self, action: ActionCosts, value: u64)
pub fn add_ext_cost(&mut self, ext: ExtCosts, value: u64)
sourcepub fn compute_wasm_instruction_cost(&mut self, total_gas_burnt: u64)
pub fn compute_wasm_instruction_cost(&mut self, total_gas_burnt: u64)
WasmInstruction is the only cost we don’t explicitly account for. Instead, we compute it at the end of contract call as the difference between total gas burnt and what we’ve explicitly accounted for in the profile.
This is because WasmInstruction is the hottest cost and is implemented with the help on the VM side, so we don’t want to have profiling logic there both for simplicity and efficiency reasons.
pub fn get_action_cost(&self, action: ActionCosts) -> u64
pub fn get_ext_cost(&self, ext: ExtCosts) -> u64
pub fn get_wasm_cost(&self) -> u64
pub fn action_gas(&self) -> u64
Trait Implementations§
source§impl BorshDeserialize for ProfileDataV3
impl BorshDeserialize for ProfileDataV3
source§fn deserialize(buf: &mut &[u8]) -> Result<ProfileDataV3, Error>
fn deserialize(buf: &mut &[u8]) -> Result<ProfileDataV3, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
source§impl BorshSerialize for ProfileDataV3
impl BorshSerialize for ProfileDataV3
source§impl Clone for ProfileDataV3
impl Clone for ProfileDataV3
source§fn clone(&self) -> ProfileDataV3
fn clone(&self) -> ProfileDataV3
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ProfileDataV3
impl Debug for ProfileDataV3
source§impl Default for ProfileDataV3
impl Default for ProfileDataV3
source§fn default() -> ProfileDataV3
fn default() -> ProfileDataV3
Returns the “default value” for a type. Read more
source§impl PartialEq<ProfileDataV3> for ProfileDataV3
impl PartialEq<ProfileDataV3> for ProfileDataV3
source§fn eq(&self, other: &ProfileDataV3) -> bool
fn eq(&self, other: &ProfileDataV3) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for ProfileDataV3
impl StructuralEq for ProfileDataV3
impl StructuralPartialEq for ProfileDataV3
Auto Trait Implementations§
impl RefUnwindSafe for ProfileDataV3
impl Send for ProfileDataV3
impl Sync for ProfileDataV3
impl Unpin for ProfileDataV3
impl UnwindSafe for ProfileDataV3
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request