MockMetricsConfiguration#
- pydantic model safir.metrics.MockMetricsConfiguration#
Metrics configuration when metrics publishing is mocked.
- Parameters:
_nested_model_default_partial_update (
bool|None, default:None)_env_prefix_target (
Literal['variable','alias','all'] |None, default:None)_env_file (
Path|str|Sequence[Path|str] |None, default:PosixPath('.'))_cli_parse_args (
bool|list[str] |tuple[str,...] |None, default:None)_cli_settings_source (
CliSettingsSource[Any] |None, default:None)_cli_implicit_flags (
bool|Literal['dual','toggle'] |None, default:None)_cli_kebab_case (
bool|Literal['all','no_enums'] |None, default:None)_cli_shortcuts (
Mapping[str,str|list[str]] |None, default:None)_secrets_dir (
Path|str|Sequence[Path|str] |None, default:None)_build_sources (
tuple[tuple[PydanticBaseSettingsSource,...],dict[str,Any]] |None, default:None)application (
str)events (
EventsConfiguration, default:<factory>)enabled (
bool)mock (
bool)
- Config:
extra: str = ignore
validate_by_name: bool = True
- Fields:
enabled (Annotated[bool, pydantic.functional_validators.AfterValidator(func=safir.metrics._config.MockMetricsConfiguration.mock (Annotated[bool, pydantic.functional_validators.AfterValidator(func=safir.metrics._config.MockMetricsConfiguration.
- field enabled: <lambda>)] [Required]#
If set to false, no events will be sent and all calls to publish events will be no-ops.
- Constraints:
func = <function MockMetricsConfiguration.<lambda> at 0x7975cdabf5e0>
- field events: EventsConfiguration [Optional]#
- field mock: <lambda>)] [Required]#
If set to true, all event publishers will be unittest.mock.MagicMock instances which will record all calls to their publish methods.
- Constraints:
func = <function MockMetricsConfiguration.<lambda> at 0x7975cdabf3d0>
- classmethod settings_cached()#
Return the cached default settings instance for this settings class.
The instance is constructed on first use and reused afterwards. Subclasses are cached separately, so caching a class does not affect its parents or children.
- Return type:
- classmethod settings_clear_cache()#
Remove the cached default settings instance for this settings class, if any.
Only the cache entry for this exact class is removed. Subclasses keep their own cached instances and must be cleared individually.
A
settings_cached()call already in flight may still return the instance it was building, so clearing does not retroactively invalidate references other threads hold.- Return type:
- classmethod settings_customise_sources(settings_cls, init_settings, env_settings, dotenv_settings, file_secret_settings)#
Define the sources and their order for loading the settings values.
- Args:
settings_cls: The Settings class. init_settings: The
InitSettingsSourceinstance. env_settings: TheEnvSettingsSourceinstance. dotenv_settings: TheDotEnvSettingsSourceinstance. file_secret_settings: TheSecretsSettingsSourceinstance.- Returns:
A tuple containing the sources and their order for loading the settings values.
- make_manager(logger=None, *, kafka_broker=None)#
Construct an
EventManager.- Parameters:
logger (
BoundLogger|None, default:None) – Logger to use for internal logging. If not given, thesafir.metricslogger will be used.kafka_broker (
KafkaBroker|None, default:None) – Kafka broker to use. If not given, a new Kafka broker will be created and automatically closed when the event manager is closed. If a broker is provided, closing the event manager will have no effect on it and the caller is responsible for starting and closing it.
- Returns:
An event manager appropriate to the configuration.
- Return type:
- Overrides: