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 Copy for DirectWriteProfile

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 Eq for DirectWriteProfile

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 StructuralPartialEq for DirectWriteProfile

Auto Trait Implementations§

Blanket Implementations§

Source§

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

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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