pub struct RoleUsageStats {
pub role_id: String,
pub role_name: String,
pub user_count: u32,
pub permission_checks: u64,
pub successful_access: u64,
pub denied_access: u64,
pub last_used: Option<DateTime<Utc>>,
pub avg_response_time_ms: f64,
pub top_resources: Vec<ResourceAccess>,
}
Expand description
Role usage statistics
Fields§
§role_id: String
Role ID
role_name: String
Role name
user_count: u32
Number of users assigned to this role
permission_checks: u64
Number of permission checks for this role
successful_access: u64
Number of successful access attempts
denied_access: u64
Number of denied access attempts
last_used: Option<DateTime<Utc>>
Last time this role was used
avg_response_time_ms: f64
Average response time for permission checks (ms)
top_resources: Vec<ResourceAccess>
Most frequently accessed resources
Trait Implementations§
Source§impl Clone for RoleUsageStats
impl Clone for RoleUsageStats
Source§fn clone(&self) -> RoleUsageStats
fn clone(&self) -> RoleUsageStats
Returns a duplicate 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 RoleUsageStats
impl Debug for RoleUsageStats
Source§impl<'de> Deserialize<'de> for RoleUsageStats
impl<'de> Deserialize<'de> for RoleUsageStats
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RoleUsageStats
impl RefUnwindSafe for RoleUsageStats
impl Send for RoleUsageStats
impl Sync for RoleUsageStats
impl Unpin for RoleUsageStats
impl UnwindSafe for RoleUsageStats
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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