pub struct DMSCLogAnalyticsModule { /* private fields */ }Expand description
Log analytics module for DMSC.
This module implements the ServiceModule trait and provides analytics functionality
by listening to hook events and generating comprehensive reports.
§Usage
The module is automatically added by the DMSCAppBuilder and doesn’t need to be explicitly
configured in most cases. It can be enabled/disabled through the configuration file.
§Configuration
analytics:
enabled: true # Enable or disable analyticsImplementations§
Trait Implementations§
Source§impl Default for DMSCLogAnalyticsModule
impl Default for DMSCLogAnalyticsModule
Source§impl<'py> IntoPyObject<'py> for DMSCLogAnalyticsModule
impl<'py> IntoPyObject<'py> for DMSCLogAnalyticsModule
Source§type Target = DMSCLogAnalyticsModule
type Target = DMSCLogAnalyticsModule
Source§type Output = Bound<'py, <DMSCLogAnalyticsModule as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <DMSCLogAnalyticsModule as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for DMSCLogAnalyticsModule
impl PyClass for DMSCLogAnalyticsModule
Source§impl PyClassImpl for DMSCLogAnalyticsModule
impl PyClassImpl for DMSCLogAnalyticsModule
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = c"Log analytics module for DMSC.\n\nThis module implements the `ServiceModule` trait and provides analytics functionality\nby listening to hook events and generating comprehensive reports.\n\n## Usage\n\nThe module is automatically added by the `DMSCAppBuilder` and doesn\'t need to be explicitly\nconfigured in most cases. It can be enabled/disabled through the configuration file.\n\n## Configuration\n\n```yaml\nanalytics:\n enabled: true # Enable or disable analytics\n```\x00"
const RAW_DOC: &'static CStr = c"Log analytics module for DMSC.\n\nThis module implements the `ServiceModule` trait and provides analytics functionality\nby listening to hook events and generating comprehensive reports.\n\n## Usage\n\nThe module is automatically added by the `DMSCAppBuilder` and doesn\'t need to be explicitly\nconfigured in most cases. It can be enabled/disabled through the configuration file.\n\n## Configuration\n\n```yaml\nanalytics:\n enabled: true # Enable or disable analytics\n```\x00"
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type ThreadChecker = SendablePyClass<DMSCLogAnalyticsModule>
type ThreadChecker = SendablePyClass<DMSCLogAnalyticsModule>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyTypeInfo for DMSCLogAnalyticsModule
impl PyTypeInfo for DMSCLogAnalyticsModule
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§impl ServiceModule for DMSCLogAnalyticsModule
impl ServiceModule for DMSCLogAnalyticsModule
Source§fn name(&self) -> &str
fn name(&self) -> &str
Returns the name of the analytics module.
This name is used for identification, logging, and dependency resolution.
Source§fn is_critical(&self) -> bool
fn is_critical(&self) -> bool
Indicates if the analytics module is critical to the operation of the system.
The analytics module is non-critical, meaning it can fail without causing the entire system to fail.
Source§fn init(&mut self, ctx: &mut DMSCServiceContext) -> DMSCResult<()>
fn init(&mut self, ctx: &mut DMSCServiceContext) -> DMSCResult<()>
Initializes the analytics module.
This method:
- Reads the analytics configuration from the service context
- Enables or disables the module based on configuration
- Registers hook handlers if the module is enabled
§Parameters
ctx: The service context containing configuration and hooks
§Returns
A DMSCResult indicating success or failure
Source§fn after_shutdown(&mut self, ctx: &mut DMSCServiceContext) -> DMSCResult<()>
fn after_shutdown(&mut self, ctx: &mut DMSCServiceContext) -> DMSCResult<()>
Flushes analytics data after the application has shutdown.
This method generates a final analytics report and writes it to a file after all modules have been shutdown.
§Parameters
ctx: The service context containing file system and logging capabilities
§Returns
A DMSCResult indicating success or failure
Source§fn before_start(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
fn before_start(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
Source§fn start(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
fn start(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
Source§fn after_start(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
fn after_start(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
Source§fn before_shutdown(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
fn before_shutdown(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
Source§fn shutdown(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
fn shutdown(&mut self, _ctx: &mut DMSCServiceContext) -> DMSCResult<()>
impl DerefToPyAny for DMSCLogAnalyticsModule
impl ExtractPyClassWithClone for DMSCLogAnalyticsModule
Auto Trait Implementations§
impl Freeze for DMSCLogAnalyticsModule
impl RefUnwindSafe for DMSCLogAnalyticsModule
impl Send for DMSCLogAnalyticsModule
impl Sync for DMSCLogAnalyticsModule
impl Unpin for DMSCLogAnalyticsModule
impl UnwindSafe for DMSCLogAnalyticsModule
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more