Integrate With Numtracker#
Numtracker is a DLS API that can be used to coordinate where detectors write their data.
Prequisities#
You will need to get numtracker itself configured for your instrument.
Blueapi needs valid authentication configured to communicate with numtracker. It will propogate its auth token so both blueapi and numtracker should be aware of who the user is and that they have permission to be on the instrument sessions (visits) that are intended for use.
Configuration#
Numtracker integration requires the following configuration for blueapi:
# If using helm values all of the following goes under worker:
numtracker:
url: https://numtracker.diamond.ac.uk/graphql
env:
metadata:
instrument: <name of your instrument, e.g. i22>
For a more complete example see the p46 helm chart configuration.
Numtracker will work for any ophyd-async StandardDetector
(s) in your project.
Updating Blueapi and Dodal#
Blueapi uses an internal PathProvider
when integrated with numtracker, it does not support custom providers in from dodal modules, if your beamline definition in dodal is prefixed with a call to set_path_provider
, it should be removed before attempting to use numtracker:
Numtracker should work with out-of-box plans that take data via runs. Opening a new run will make the RunEngine
call numtracker and request a fresh data area. Some plans from before numtracker have a decorator that coordinates where detectors write their data: @attach_data_session_metadata_decorator
. This decorator becomes a no-op with numtracker and can be safely removed from plans.