Spec-Zone.ru › Tokio

Структура LogHistogramBuilder

pub struct LogHistogramBuilder { /* private fields */ }
Доступно только для tokio_unstable и функции крейта rt.

Конфигурация для LogHistogram

Гистограмма с логарифмической шкалой реализует гистограмму H2, в которой первая корзина охватывает диапазон от 0 до LogHistogramBuilder::min_value, а последняя корзина охватывает значения от LogHistogramBuilder::max_value до бесконечности. Точность ограничена заданным значением LogHistogramBuilder::max_error. В частности, точность равна наименьшему следующему значению 2^-p, которое меньше запрошенной максимальной погрешности. Можно также напрямую задать p с помощью LogHistogramBuilder::precision_exact.

В зависимости от выбранных параметров необходимое количество корзин меняется. Чтобы убедиться, что размер гистограммы допустим, вызывающий код может вызвать LogHistogramBuilder::max_buckets. Если для полученной гистограммы потребуется больше корзин, метод вернёт ошибку.

Значения по умолчанию

Конфигурация по умолчанию задаёт следующие параметры:

  1. min_value: 100 нс
  2. max_value: 68 секунд. Последняя корзина охватывает все значения >68 секунд
  3. precision: максимальная погрешность 25%

Для этого используются 237 64-разрядных корзин.

Реализации

impl LogHistogramBuilder

pub fn max_error(self, max_error: f64) -> Self

Задаёт точность этой гистограммы

Эта функция определяет наименьшее значение p, удовлетворяющее запрошенной точности, при котором 2^-p меньше precision. Чтобы напрямую задать p, используйте LogHistogramBuilder::precision_exact.

Точность определяет размер «групп корзин» (последовательных корзин с одинаковыми диапазонами). Если p равно 0, каждая корзина будет вдвое больше предыдущей. Чтобы повторить поведение устаревшей реализации логарифмической гистограммы, используйте builder.precision_exact(0).

Значение по умолчанию — 25% (2^-2)

Максимальная поддерживаемая точность — 0.0977% (2^-10). Меньшие переданные значения будут усечены.

Паника
  • max_error <= 0
  • max_error >= 1

pub fn precision_exact(self, p: u32) -> Self

Напрямую задаёт точность этой гистограммы.

Точность (то есть отношение n/bucket_range(n) для заданного n) будет равна 2^-p.

Точность определяет количество последовательных корзин с диапазонами одинакового размера. Если p равно 0, каждая корзина будет вдвое больше предыдущей (группы корзин будут состоять всего из одной корзины).

Чтобы повторить поведение устаревшей реализации (HistogramScale::Log), используйте builder.precision_exact(0).

Паника
  • p > 10

pub fn min_value(self, duration: Duration) -> Self

Задаёт минимальную длительность, которую эта гистограмма может хранить с высокой точностью.

Это задаёт разрешение. Размер первой корзины не будет превышать указанную длительность. Задание этого значения уменьшит необходимое количество корзин, иногда весьма существенно.

pub fn max_value(self, duration: Duration) -> Self

Задаёт максимальное значение, которое может быть представлено этой гистограммой без усечения

Значения, превышающие его, попадают в последнюю корзину, простирающуюся до u64::MAX.

Паника

Указанное значение равно 0

pub fn max_buckets( &mut self, max_buckets: usize, ) -> Result<LogHistogram, InvalidHistogramConfiguration>

Создаёт логарифмическую гистограмму, соблюдая ограничение на максимальное количество корзин

pub fn build(&self) -> LogHistogram

Создаёт логарифмическую гистограмму

Реализации трейтов

impl Clone for LogHistogramBuilder

fn clone(&self) -> LogHistogramBuilder

Возвращает копию значения. Подробнее
1.0.0 (const: нестабильно) ·

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

Выполняет присваивание копированием из source. Подробнее

impl Copy for LogHistogramBuilder

impl Debug for LogHistogramBuilder

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

Форматирует значение с помощью указанного форматтера. Подробнее

impl Default for LogHistogramBuilder

fn default() -> LogHistogramBuilder

Возвращает «значение по умолчанию» для типа. Подробнее

impl From<LogHistogramBuilder> for LogHistogram

fn from(value: LogHistogramBuilder) -> Self

Преобразует входной тип в этот тип.

Автоматические реализации трейтов

impl Freeze for LogHistogramBuilder

impl RefUnwindSafe for LogHistogramBuilder

impl Send for LogHistogramBuilder

impl Sync for LogHistogramBuilder

impl Unpin for LogHistogramBuilder

impl UnsafeUnpin for LogHistogramBuilder

impl UnwindSafe for LogHistogramBuilder

Обобщённые реализации

impl<T> Any for T
where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

Получает TypeId для self. Подробнее

impl<T> Borrow<T> for T
where T: ?Sized,

fn borrow(&self) -> &T

Неизменяемо заимствует из принадлежащего значения. Подробнее

impl<T> BorrowMut<T> for T
where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

Изменяемо заимствует из принадлежащего значения. Подробнее

impl<T> CloneToUninit for T
where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬Это экспериментальный API, доступный только в nightly-версии. (clone_to_uninit)
Выполняет копирующее присваивание из self в dest. Подробнее

impl<T> From<T> for T

fn from(t: T) -> T

Возвращает аргумент без изменений.

impl<T> Instrument for T

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

Инструментирует этот тип с помощью указанного Span, возвращая оболочку Instrumented. Подробнее

fn in_current_span(self) -> Instrumented<Self> ⓘ

Инструментирует этот тип с помощью текущего Span, возвращая оболочку Instrumented. Подробнее

impl<T, U> Into<U> for T
where U: From<T>,

fn into(self) -> U

Вызывает U::from(self).

То есть преобразование выполняется так, как это предусмотрено реализацией From<T> for U.

impl<T> ToOwned for T
where T: Clone,

type Owned = T

Тип, полученный в результате получения владения.

fn to_owned(&self) -> T

Создаёт владеющие данные из заимствованных данных, обычно путём клонирования. Подробнее

fn clone_into(&self, target: &mut T)

Использует заимствованные данные для замены владеющих данных, обычно путём клонирования. Подробнее

impl<T, U> TryFrom<U> for T
where U: Into<T>,

type Error = Infallible

Тип, возвращаемый в случае ошибки преобразования.

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Выполняет преобразование.

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error

Тип, возвращаемый при ошибке преобразования.

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Выполняет преобразование.

impl<T> WithSubscriber for T

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

Присоединяет предоставленный Subscriber к этому типу и возвращает обёртку WithDispatch. Подробнее

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Присоединяет текущий стандартный Subscriber к этому типу и возвращает обёртку WithDispatch. Подробнее

MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/runtime/struct.LogHistogramBuilder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API