hat.event.backends.lmdb
LMDB backend
info =
BackendInfo(create=<function create>, json_schema_id='hat-event://backends/lmdb.yaml', json_schema_repo={'hat-json://path.yaml': {'$schema': 'https://json-schema.org/draft/2020-12/schema', '$id': 'hat-json://path.yaml', 'title': 'JSON Path', 'oneOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'array', 'items': {'$ref': 'hat-json://path.yaml'}}]}, 'hat-json://logging.yaml': {'$schema': 'https://json-schema.org/draft/2020-12/schema', '$id': 'hat-json://logging.yaml', 'title': 'Logging', 'description': 'Logging configuration', 'type': 'object', 'required': ['version'], 'properties': {'version': {'title': 'Version', 'type': 'integer', 'default': 1}, 'formatters': {'title': 'Formatters', 'type': 'object', 'patternProperties': {'.+': {'title': 'Formatter', 'type': 'object', 'properties': {'format': {'title': 'Format', 'type': 'string', 'default': None}, 'datefmt': {'title': 'Date format', 'type': 'string', 'default': None}}}}}, 'filters': {'title': 'Filters', 'type': 'object', 'patternProperties': {'.+': {'title': 'Filter', 'type': 'object', 'properties': {'name': {'title': 'Logger name', 'type': 'string', 'default': ''}}}}}, 'handlers': {'title': 'Handlers', 'type': 'object', 'patternProperties': {'.+': {'title': 'Handler', 'type': 'object', 'description': 'Additional properties are passed as keyword arguments to\nconstructor\n', 'required': ['class'], 'properties': {'class': {'title': 'Class', 'type': 'string'}, 'level': {'title': 'Level', 'type': 'string'}, 'formatter': {'title': 'Formatter', 'type': 'string'}, 'filters': {'title': 'Filters', 'type': 'array', 'items': {'title': 'Filter id', 'type': 'string'}}}}}}, 'loggers': {'title': 'Loggers', 'type': 'object', 'patternProperties': {'.+': {'title': 'Logger', 'type': 'object', 'properties': {'level': {'title': 'Level', 'type': 'string'}, 'propagate': {'title': 'Propagate', 'type': 'boolean'}, 'filters': {'title': 'Filters', 'type': 'array', 'items': {'title': 'Filter id', 'type': 'string'}}, 'handlers': {'title': 'Handlers', 'type': 'array', 'items': {'title': 'Handler id', 'type': 'string'}}}}}}, 'root': {'title': 'Root logger', 'type': 'object', 'properties': {'level': {'title': 'Level', 'type': 'string'}, 'filters': {'title': 'Filters', 'type': 'array', 'items': {'title': 'Filter id', 'type': 'string'}}, 'handlers': {'title': 'Handlers', 'type': 'array', 'items': {'title': 'Handler id', 'type': 'string'}}}}, 'incremental': {'title': 'Incremental configuration', 'type': 'boolean', 'default': False}, 'disable_existing_loggers': {'title': 'Disable existing loggers', 'type': 'boolean', 'default': True}}}, 'hat-event://server.yaml': {'$schema': 'https://json-schema.org/draft/2020-12/schema', '$id': 'hat-event://server.yaml', 'title': 'Event Server', 'description': "Event Server's configuration", 'type': 'object', 'required': ['name', 'server_id', 'backend', 'modules', 'eventer_server'], 'properties': {'type': {'const': 'event', 'description': 'configuration type identification'}, 'version': {'type': 'string', 'description': 'component version'}, 'log': {'$ref': 'hat-json://logging.yaml'}, 'name': {'type': 'string', 'description': 'component name'}, 'server_id': {'type': 'integer', 'description': 'server identifier'}, 'server_token': {'type': ['string', 'null'], 'description': 'server token'}, 'backend': {'$ref': 'hat-event://server.yaml#/$defs/backend'}, 'modules': {'type': 'array', 'items': {'$ref': 'hat-event://server.yaml#/$defs/module'}}, 'eventer_server': {'type': 'object', 'required': ['host', 'port'], 'properties': {'host': {'type': 'string', 'default': '127.0.0.1'}, 'port': {'type': 'integer', 'default': 23012}}}, 'adminer_server': {'type': 'object', 'required': ['host', 'port'], 'properties': {'host': {'type': 'string', 'default': '127.0.0.1'}, 'port': {'type': 'integer', 'default': 23015}}}, 'monitor_component': {'type': 'object', 'required': ['host', 'port', 'group'], 'properties': {'host': {'type': 'string', 'default': '127.0.0.1'}, 'port': {'type': 'integer', 'default': 23010}, 'group': {'type': 'string'}}}}, '$defs': {'backend': {'type': 'object', 'description': 'structure of backend configuration depends on backend type\n', 'required': ['module'], 'properties': {'module': {'type': 'string', 'description': 'full python module name that implements backend'}}}, 'module': {'type': 'object', 'description': 'structure of module configuration depends on module type\n', 'required': ['module'], 'properties': {'module': {'type': 'string', 'description': 'full python module name that implements module'}}}}}, 'hat-event://events.yaml': {'$schema': 'https://json-schema.org/draft/2020-12/schema', '$id': 'hat-event://events.yaml', 'definitions': {'events': {'engine': {'enum': ['STARTED', 'STOPPED']}, 'eventer': {'enum': ['CONNECTED', 'DISCONNECTED']}, 'synced': {'oneOf': [{'type': 'object', 'required': ['state'], 'properties': {'state': {'const': 'CONNECTED'}}}, {'type': 'object', 'required': ['state'], 'properties': {'state': {'const': 'SYNCING'}}}, {'type': 'object', 'required': ['state', 'count'], 'properties': {'state': {'const': 'SYNCED'}, 'count': {'type': ['integer', 'null']}}}]}}}}, 'hat-event://monitor_data.yaml': {'$schema': 'https://json-schema.org/draft/2020-12/schema', '$id': 'hat-event://monitor_data.yaml', 'title': 'monitor data', 'description': 'data property of monitor component info', 'type': 'object', 'required': ['server_id', 'eventer_server', 'server_token'], 'properties': {'server_id': {'type': 'integer'}, 'eventer_server': {'type': 'object', 'required': ['host', 'port'], 'properties': {'host': {'type': 'string'}, 'port': {'type': 'integer'}}}, 'server_token': {'type': ['string', 'null']}}}, 'hat-event://backends/sqlite.yaml': {'$schema': 'https://json-schema.org/draft/2020-12/schema', '$id': 'hat-event://backends/sqlite.yaml', 'title': 'Sqlite backend', 'description': 'Sqlite backend configuration', 'type': 'object', 'required': ['db_path', 'query_pool_size'], 'properties': {'db_path': {'type': 'string', 'description': 'path to sqlite database file'}, 'query_pool_size': {'type': 'integer', 'description': 'number of connections in a pool used for querying\n'}}}, 'hat-event://backends/lmdb.yaml': {'$schema': 'https://json-schema.org/draft/2020-12/schema', '$id': 'hat-event://backends/lmdb.yaml', 'title': 'LMDB backend', 'type': 'object', 'required': ['db_path', 'identifier', 'flush_period', 'cleanup_period', 'conditions', 'latest', 'timeseries'], 'properties': {'db_path': {'type': 'string'}, 'identifier': {'type': ['null', 'string']}, 'flush_period': {'type': 'number'}, 'cleanup_period': {'type': 'number'}, 'conditions': {'type': 'array', 'items': {'type': 'object', 'required': ['subscriptions', 'condition'], 'properties': {'subscriptions': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/event_types'}, 'condition': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/condition'}}}}, 'latest': {'type': 'object', 'required': ['subscriptions'], 'properties': {'subscriptions': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/event_types'}}}, 'timeseries': {'type': 'array', 'items': {'type': 'object', 'required': ['order_by', 'subscriptions'], 'properties': {'order_by': {'enum': ['TIMESTAMP', 'SOURCE_TIMESTAMP']}, 'subscriptions': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/event_types'}, 'limit': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/limit'}}}}, 'timeseries_max_results': {'type': 'integer', 'default': 4096}}, '$defs': {'event_types': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'string'}}}, 'limit': {'type': 'object', 'properties': {'min_entries': {'type': 'number', 'description': 'number of entries kept despite of other limits\n'}, 'max_entries': {'type': 'number', 'description': 'maximum number of entries\n'}, 'duration': {'type': 'number', 'description': 'limit for the persisted history based on keys\nexpressed as duration in seconds\n'}, 'size': {'type': 'number', 'description': 'memory consumption size in bytes that triggers\nadditional cleanup based on average entry size\n'}}}, 'condition': {'oneOf': [{'$ref': 'hat-event://backends/lmdb.yaml#/$defs/conditions/all'}, {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/conditions/any'}, {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/conditions/json'}]}, 'conditions': {'all': {'type': 'object', 'required': ['type', 'conditions'], 'properties': {'type': {'const': 'all'}, 'conditions': {'type': 'array', 'items': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/condition'}}}}, 'any': {'type': 'object', 'required': ['type', 'conditions'], 'properties': {'type': {'const': 'any'}, 'conditions': {'type': 'array', 'items': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/condition'}}}}, 'json': {'type': 'object', 'required': ['type'], 'properties': {'type': {'const': 'json'}, 'data_path': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/path'}, 'data_type': {'enum': ['null', 'boolean', 'string', 'number', 'array', 'object']}, 'data_value': {}}}}, 'path': {'oneOf': [{'type': 'string'}, {'type': 'integer'}, {'type': 'array', 'items': {'$ref': 'hat-event://backends/lmdb.yaml#/$defs/path'}}]}}}})