pub struct CrawlerStats {
pub total_verifications: AtomicU64,
pub verified_crawlers: AtomicU64,
pub unverified_crawlers: AtomicU64,
pub bad_bots: AtomicU64,
pub cache_hits: AtomicU64,
pub cache_misses: AtomicU64,
pub dns_successes: AtomicU64,
pub dns_failures: AtomicU64,
pub dns_rate_limited: AtomicU64,
pub input_rejected: AtomicU64,
pub by_crawler_name: DashMap<String, u64>,
pub by_bad_bot: DashMap<String, u64>,
}Expand description
Statistics for crawler detection.
Fields§
§total_verifications: AtomicU64§verified_crawlers: AtomicU64§unverified_crawlers: AtomicU64§bad_bots: AtomicU64§cache_hits: AtomicU64§cache_misses: AtomicU64§dns_successes: AtomicU64§dns_failures: AtomicU64§dns_rate_limited: AtomicU64§input_rejected: AtomicU64§by_crawler_name: DashMap<String, u64>Per-crawler name counts (bounded by max_stats_entries)
by_bad_bot: DashMap<String, u64>Per-bad-bot signature counts (bounded by max_stats_entries)
Implementations§
Source§impl CrawlerStats
impl CrawlerStats
Trait Implementations§
Source§impl Debug for CrawlerStats
impl Debug for CrawlerStats
Source§impl Default for CrawlerStats
impl Default for CrawlerStats
Source§impl From<&CrawlerStats> for CrawlerStatsSnapshot
impl From<&CrawlerStats> for CrawlerStatsSnapshot
Source§fn from(stats: &CrawlerStats) -> Self
fn from(stats: &CrawlerStats) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !Freeze for CrawlerStats
impl !RefUnwindSafe for CrawlerStats
impl Send for CrawlerStats
impl Sync for CrawlerStats
impl Unpin for CrawlerStats
impl UnsafeUnpin for CrawlerStats
impl UnwindSafe for CrawlerStats
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more