MockMetricsConfiguration¶
- pydantic settings safir.metrics.MockMetricsConfiguration¶
Metrics configuration when metrics publishing is mocked.
- Parameters:
_nested_model_default_partial_update (
bool
|None
, default:None
)_env_file (
Union
[Path
,str
,Sequence
[Union
[Path
,str
]],None
], default:PosixPath('.')
)_cli_parse_args (
bool
|list
[str
] |tuple
[str
,...
] |None
, default:None
)_cli_settings_source (
Optional
[CliSettingsSource
[Any
]], default:None
)_secrets_dir (
Union
[Path
,str
,Sequence
[Union
[Path
,str
]],None
], default:None
)values (
Any
)
Show JSON schema
{ "title": "MockMetricsConfiguration", "description": "Metrics configuration when metrics publishing is mocked.", "type": "object", "properties": { "appName": { "description": "The name of the application that is emitting these metrics", "title": "Application name", "type": "string" }, "events": { "$ref": "#/$defs/EventsConfiguration", "title": "Events configuration" }, "enabled": { "description": "If set to false, no events will be sent and all calls to publish events will be no-ops.", "title": "Whether to send events", "type": "boolean" }, "mock": { "description": "If set to true, all event publishers will be unittest.mock.MagicMock instances which will record all calls to their publish methods.", "title": "Mock publishers", "type": "boolean" } }, "$defs": { "EventsConfiguration": { "additionalProperties": false, "description": "Configuration for emitting events.", "properties": { "topicPrefix": { "default": "lsst.square.metrics.events", "description": "You probably should use the default here. It could be useful in development scenarios to change this.", "title": "Metrics topic prefix", "type": "string" } }, "title": "EventsConfiguration", "type": "object" } }, "required": [ "appName", "enabled", "mock" ] }
- Config:
extra: str = ignore
populate_by_name: bool = True
- Fields:
- field enabled: Annotated[bool, AfterValidator(lambda x: _require_bool(x, False))] [Required]¶
If set to false, no events will be sent and all calls to publish events will be no-ops.
- Constraints:
func = <function <lambda> at 0x7ff01cc3a840>
- field mock: Annotated[bool, AfterValidator(lambda x: _require_bool(x, True))] [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 <lambda> at 0x7ff01cc3a5c0>
- make_manager(logger=None)¶
Construct an EventManager.
- Parameters:
logger (
BoundLogger
|None
, default:None
) – Logger to use for internal logging. If not given, thesafir.metrics
logger will be used.- Returns:
An event manager appropriate to the configuration.
- Return type: