KafkaMetricsConfiguration#
- pydantic model safir.metrics.KafkaMetricsConfiguration#
Metrics configuration when enabled, including Kafka configuration.
- 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, default:True)kafka (
KafkaConnectionSettings, default:<factory>)schemaManager (
SchemaManagerSettings, default:<factory>)raiseOnError (
bool, default:False)backoffInterval (
HumanTimedelta, default:datetime.timedelta(seconds=300))
- Config:
validate_by_name: bool = True
alias_generator: AliasGenerator = AliasGenerator(alias=None, validation_alias=<function to_camel at 0x77d375ee6610>, serialization_alias=None)
- Fields:
enabled (Annotated[bool, pydantic.functional_validators.AfterValidator(func=safir.metrics._config.KafkaMetricsConfiguration.schema_manager (safir.kafka._schema_registry_config.SchemaManagerSettings)
- field backoff_interval: HumanTimedelta = datetime.timedelta(seconds=300)#
The amount of time to wait until further operations are attempted when the event manager is in an error state.
- field enabled: <lambda>)] = True#
If set to false, no events will be sent and all calls to publish events will be no-ops.
- Constraints:
func = <function KafkaMetricsConfiguration.<lambda> at 0x77d377c6f110>
- field events: EventsConfiguration [Optional]#
- field kafka: KafkaConnectionSettings [Optional]#
- field raise_on_error: bool = False#
True if we should raise an exception whenever there is an error with the metrics system dependencies, like Kafka or the Schema Manager. False if we should just log an error instead. This should be False for most production apps so that issues with the metrics infrastructure don’t bring down the app.
- field schema_manager: SchemaManagerSettings [Optional]#
- 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, request_timeout_ms=1000, extra_broker_settings=None, extra_admin_client_settings=None)#
Make a KafkaEventManager.
The request timeout is set low by default so we don’t block the instrumented app for too long if kafka is unavailable.
- Parameters:
- Return type:
- Overrides: