Skip to main content

DirectWriteProfile

Struct DirectWriteProfile 

Source
pub struct DirectWriteProfile {
Show 80 fields pub measure_batch: Duration, pub row_range_split: Duration, pub append_encode: Duration, pub send_total: Duration, pub rows: u64, pub batches: u64, pub row_ranges: u64, pub encoded_bytes: u64, pub max_row_range_bytes: u64, pub nvarchar_utf16_bytes: u64, pub varbinary_bytes: u64, pub null_cells: u64, pub packet_write_calls: u64, pub packets_written: u64, pub packet_payload_bytes: u64, pub max_packet_payload_bytes: u64, pub max_buffered_bytes_before_write: u64, pub buffered_bytes_after_last_write: u64, pub finalized_packet_payload_bytes: u64, pub bulk_write_packets_elapsed: Duration, pub bulk_write_to_wire_calls: u64, pub bulk_write_to_wire_elapsed: Duration, pub bulk_write_to_wire_payload_bytes: u64, pub bulk_max_write_to_wire_elapsed: Duration, pub bulk_max_write_to_wire_payload_bytes: u64, pub bulk_flush_calls: u64, pub bulk_flush_elapsed: Duration, pub bulk_max_flush_elapsed: Duration, pub bulk_finalize_elapsed: Duration, pub bulk_finalize_write_to_wire_elapsed: Duration, pub bulk_finalize_flush_elapsed: Duration, pub bulk_finalize_result_elapsed: Duration, pub bulk_connection_write_calls: u64, pub bulk_connection_write_payload_bytes: u64, pub bulk_connection_write_ready_elapsed: Duration, pub bulk_connection_write_encode_elapsed: Duration, pub bulk_connection_write_flush_elapsed: Duration, pub bulk_connection_write_max_ready_elapsed: Duration, pub bulk_connection_write_max_encode_elapsed: Duration, pub bulk_connection_write_max_flush_elapsed: Duration, pub bulk_connection_write_max_payload_bytes: u64, pub bulk_direct_packet_write_calls: u64, pub bulk_direct_packet_payload_bytes: u64, pub bulk_direct_packet_header_bytes: u64, pub bulk_direct_packet_max_payload_bytes: u64, pub bulk_direct_packet_final_calls: u64, pub bulk_direct_packet_final_payload_bytes: u64, pub bulk_direct_packet_final_header_bytes: u64, pub bulk_direct_packet_raw_stream_calls: u64, pub bulk_direct_packet_tls_stream_calls: u64, pub bulk_direct_packet_low_level_write_calls: u64, pub bulk_direct_packet_low_level_write_bytes: u64, pub bulk_direct_packet_max_low_level_write_bytes: u64, pub bulk_direct_packet_write_elapsed: Duration, pub bulk_direct_packet_max_write_elapsed: Duration, pub bulk_direct_packet_header_write_calls: u64, pub bulk_direct_packet_header_write_bytes: u64, pub bulk_direct_packet_header_max_write_bytes: u64, pub bulk_direct_packet_header_write_elapsed: Duration, pub bulk_direct_packet_header_max_write_elapsed: Duration, pub bulk_direct_packet_header_partial_writes: u64, pub bulk_direct_packet_payload_write_calls: u64, pub bulk_direct_packet_payload_write_bytes: u64, pub bulk_direct_packet_payload_max_write_bytes: u64, pub bulk_direct_packet_payload_write_elapsed: Duration, pub bulk_direct_packet_payload_max_write_elapsed: Duration, pub bulk_direct_packet_payload_partial_writes: u64, pub bulk_direct_packet_poll_write_polls: u64, pub bulk_direct_packet_poll_write_pending_count: u64, pub bulk_direct_packet_poll_write_pending_elapsed: Duration, pub bulk_direct_packet_poll_write_max_pending_elapsed: Duration, pub bulk_direct_packet_poll_write_ready_count: u64, pub bulk_direct_packet_poll_write_ready_elapsed: Duration, pub bulk_direct_packet_poll_write_max_ready_elapsed: Duration, pub bulk_direct_packet_flush_calls: u64, pub bulk_direct_packet_flush_elapsed: Duration, pub bulk_direct_packet_max_flush_elapsed: Duration, pub bulk_direct_packet_flush_pending_count: u64, pub bulk_direct_packet_flush_pending_elapsed: Duration, pub bulk_direct_packet_flush_max_pending_elapsed: Duration,
}
Expand description

Accumulated timings for the direct raw writer path.

Fields§

§measure_batch: Duration

Time spent measuring runtime batches before encoding.

§row_range_split: Duration

Time spent splitting measured batches into bounded row ranges.

§append_encode: Duration

Time spent encoding/appending raw rows before Tiberius writes packets.

§send_total: Duration

Total time spent in raw-row send calls, including append encoding.

§rows: u64

Number of rows accepted by the direct writer.

§batches: u64

Number of batches accepted by the direct writer.

§row_ranges: u64

Number of raw row ranges sent.

§encoded_bytes: u64

Total encoded raw row bytes sent or appended.

§max_row_range_bytes: u64

Largest encoded row range in bytes.

§nvarchar_utf16_bytes: u64

Non-null SQL Server nvarchar payload bytes after UTF-16 encoding.

§varbinary_bytes: u64

Non-null SQL Server varbinary payload bytes.

§null_cells: u64

Number of null cells observed by the profiled direct writer path.

§packet_write_calls: u64

Number of bulk packet drain attempts inside Tiberius.

§packets_written: u64

Number of full TDS bulk-load packets written before finalization.

§packet_payload_bytes: u64

Total packet payload bytes written before finalization.

§max_packet_payload_bytes: u64

Largest full packet payload written before finalization.

§max_buffered_bytes_before_write: u64

Largest buffered bulk-load byte count before a packet drain attempt.

§buffered_bytes_after_last_write: u64

Buffered bulk-load tail left after the latest packet drain attempt.

§finalized_packet_payload_bytes: u64

Final EndOfMessage packet payload bytes written during finalization.

§bulk_write_packets_elapsed: Duration

Time spent inside bulk-load packet drain attempts.

§bulk_write_to_wire_calls: u64

Number of lower-level connection writes issued by bulk load.

§bulk_write_to_wire_elapsed: Duration

Time spent awaiting lower-level connection writes from bulk load.

§bulk_write_to_wire_payload_bytes: u64

Payload bytes passed to lower-level connection writes from bulk load.

§bulk_max_write_to_wire_elapsed: Duration

Slowest lower-level connection write awaited by bulk load.

§bulk_max_write_to_wire_payload_bytes: u64

Largest lower-level connection write payload from bulk load.

§bulk_flush_calls: u64

Number of explicit bulk-load flushes.

§bulk_flush_elapsed: Duration

Time spent awaiting explicit bulk-load flushes.

§bulk_max_flush_elapsed: Duration

Slowest explicit bulk-load flush.

§bulk_finalize_elapsed: Duration

Time spent finalizing the bulk-load request.

§bulk_finalize_write_to_wire_elapsed: Duration

Time spent awaiting the final EndOfMessage packet write.

§bulk_finalize_flush_elapsed: Duration

Time spent awaiting the final explicit flush.

§bulk_finalize_result_elapsed: Duration

Time spent waiting for the server result after final bulk flush.

§bulk_connection_write_calls: u64

Number of bulk-load packets passed through the framed connection sink.

§bulk_connection_write_payload_bytes: u64

Payload bytes passed through the framed connection sink.

§bulk_connection_write_ready_elapsed: Duration

Time spent waiting for the framed connection sink to accept packets.

§bulk_connection_write_encode_elapsed: Duration

Time spent encoding packets into the framed connection sink.

§bulk_connection_write_flush_elapsed: Duration

Time spent flushing packets through the framed connection sink.

§bulk_connection_write_max_ready_elapsed: Duration

Slowest framed connection sink readiness wait.

§bulk_connection_write_max_encode_elapsed: Duration

Slowest packet encode into the framed connection sink.

§bulk_connection_write_max_flush_elapsed: Duration

Slowest framed connection sink flush.

§bulk_connection_write_max_payload_bytes: u64

Largest payload passed through the framed connection sink.

§bulk_direct_packet_write_calls: u64

Number of bulk-load packets written through the direct packet path.

§bulk_direct_packet_payload_bytes: u64

Payload bytes written through the direct packet path.

§bulk_direct_packet_header_bytes: u64

Header bytes written through the direct packet path.

§bulk_direct_packet_max_payload_bytes: u64

Largest packet payload written through the direct packet path.

§bulk_direct_packet_final_calls: u64

Number of final EndOfMessage direct packets.

§bulk_direct_packet_final_payload_bytes: u64

Payload bytes in final EndOfMessage direct packets.

§bulk_direct_packet_final_header_bytes: u64

Header bytes in final EndOfMessage direct packets.

§bulk_direct_packet_raw_stream_calls: u64

Direct packet writes observed on raw, non-TLS streams.

§bulk_direct_packet_tls_stream_calls: u64

Direct packet writes observed on TLS streams.

§bulk_direct_packet_low_level_write_calls: u64

Low-level write calls issued by the direct packet path.

§bulk_direct_packet_low_level_write_bytes: u64

Low-level bytes written by the direct packet path.

§bulk_direct_packet_max_low_level_write_bytes: u64

Largest low-level write accepted by the direct packet path.

§bulk_direct_packet_write_elapsed: Duration

Time spent in low-level writes for the direct packet path.

§bulk_direct_packet_max_write_elapsed: Duration

Slowest low-level write in the direct packet path.

§bulk_direct_packet_header_write_calls: u64

Low-level write calls used for direct packet headers.

§bulk_direct_packet_header_write_bytes: u64

Header bytes accepted by low-level writes.

§bulk_direct_packet_header_max_write_bytes: u64

Largest header byte count accepted by one low-level write.

§bulk_direct_packet_header_write_elapsed: Duration

Time spent in low-level header writes.

§bulk_direct_packet_header_max_write_elapsed: Duration

Slowest low-level header write.

§bulk_direct_packet_header_partial_writes: u64

Low-level header writes that accepted fewer bytes than remained.

§bulk_direct_packet_payload_write_calls: u64

Low-level write calls used for direct packet payloads.

§bulk_direct_packet_payload_write_bytes: u64

Payload bytes accepted by low-level writes.

§bulk_direct_packet_payload_max_write_bytes: u64

Largest payload byte count accepted by one low-level write.

§bulk_direct_packet_payload_write_elapsed: Duration

Time spent in low-level payload writes.

§bulk_direct_packet_payload_max_write_elapsed: Duration

Slowest low-level payload write.

§bulk_direct_packet_payload_partial_writes: u64

Low-level payload writes that accepted fewer bytes than remained.

§bulk_direct_packet_poll_write_polls: u64

Number of low-level poll_write attempts.

§bulk_direct_packet_poll_write_pending_count: u64

Number of low-level poll_write attempts that returned Pending.

§bulk_direct_packet_poll_write_pending_elapsed: Duration

Time spent waiting after low-level poll_write returned Pending.

§bulk_direct_packet_poll_write_max_pending_elapsed: Duration

Slowest wait after low-level poll_write returned Pending.

§bulk_direct_packet_poll_write_ready_count: u64

Number of low-level poll_write attempts that returned ready.

§bulk_direct_packet_poll_write_ready_elapsed: Duration

Time spent in ready low-level poll_write attempts.

§bulk_direct_packet_poll_write_max_ready_elapsed: Duration

Slowest ready low-level poll_write attempt.

§bulk_direct_packet_flush_calls: u64

Explicit flush calls issued by the direct packet path.

§bulk_direct_packet_flush_elapsed: Duration

Time spent flushing the direct packet path.

§bulk_direct_packet_max_flush_elapsed: Duration

Slowest flush in the direct packet path.

§bulk_direct_packet_flush_pending_count: u64

Number of direct packet flush polls that returned Pending.

§bulk_direct_packet_flush_pending_elapsed: Duration

Time spent waiting after direct packet flush polls returned Pending.

§bulk_direct_packet_flush_max_pending_elapsed: Duration

Slowest wait after a direct packet flush poll returned Pending.

Implementations§

Source§

impl DirectWriteProfile

Source

pub fn send_without_append_encode(&self) -> Duration

Returns approximate send time outside the append/encode closure.

Trait Implementations§

Source§

impl Clone for DirectWriteProfile

Source§

fn clone(&self) -> DirectWriteProfile

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DirectWriteProfile

Source§

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

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

impl Default for DirectWriteProfile

Source§

fn default() -> DirectWriteProfile

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

impl PartialEq for DirectWriteProfile

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Copy for DirectWriteProfile

Source§

impl Eq for DirectWriteProfile

Source§

impl StructuralPartialEq for DirectWriteProfile

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, dest: *mut u8)

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

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,