Skip to content

Commit a9a2d19

Browse files
committed
Add some documentation on data streaming topics and their contents
1 parent 04dca6d commit a9a2d19

File tree

3 files changed

+74
-0
lines changed

3 files changed

+74
-0
lines changed

doc/specific_iocs/dae/Datastreaming.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Part of our in-kind contribution to datastreaming is to test the system in produ
2525

2626
![](ISISDSLayout.png)
2727

28+
{#kafkacluster}
2829
## The Kafka Cluster
2930

3031
There is a Kafka cluster at `livedata.isis.cclrc.ac.uk`. Port 31092 is used for the primary Kafka broker.

doc/specific_iocs/dae/datastreaming/Datastreaming---Sample-Environment.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
All IBEX instruments are currently forwarding their sample environment PVs into Kafka. This is done in two parts:
44

5+
{#bskafka}
56
## BlockserverToKafka
67

78
This is a Python process that runs on each NDX (see code [here](https://github.com/ISISComputingGroup/EPICS-inst_servers/tree/master/BlockServerToKafka)) it monitors the blockserver config PVs and any time the config changes it pushes a new configuration to the forwarder, via a Kafka topic `forwarder_config`. This is a process written and managed by IBEX developers.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Data streaming topics
2+
3+
We have a number of topics per-instrument on `livedata`, the {ref}`Kafka cluster<kafkacluster>` we use.
4+
5+
## `_runInfo`
6+
7+
This contains run start and run stop flatbuffers blobs.
8+
9+
Flatbuffers schemas in this topic:
10+
- [`pl72` - Run start](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/pl72_run_start.fbs)
11+
- [`6s4t` - Run stop](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/6s4t_run_stop.fbs)
12+
13+
## `_events`
14+
15+
This contains data from event-mode events.
16+
17+
Flatbuffers schemas in this topic:
18+
- [`ev44` - Events](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/ev44_events.fbs)
19+
20+
{#topics_sampleenv}
21+
## `_sampleEnv`
22+
23+
This contains sample environment data forwarded from EPICS.
24+
In a `.nxs` file this should end up in `raw_data_1/selog/`
25+
26+
Flatbuffers schemas in this topic:
27+
- [`f144` - All CA and Scalar PVA data](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/f144_logdata.fbs)
28+
- [`se00` - PVA Arrays](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/se00_data.fbs)
29+
- [`al00` - EPICS alarms](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/al00_alarm.fbs)
30+
- [`ep01` - EPICS connection status](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/ep01_epics_connection.fbs)
31+
- [`un00` - EPICS units](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/un00_units.fbs)
32+
33+
## `_runLog`
34+
35+
This contains run metadata forwarded from the ICP.
36+
In a `.nxs` file this should end up in `raw_data_1/runlog/`
37+
38+
Schemas in this topic match the ones in {ref}`topics_sampleenv`
39+
40+
## `_monitorHistograms`
41+
42+
This contains monitor histograms.
43+
Flatbuffers schemas in this topic:
44+
- [`hs01` - Histograms](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/hs01_event_histogram.fbs)
45+
46+
## `_detSpecMap`
47+
48+
This contains details of the detector-spectrum mapping.
49+
Flatbuffers schemas in this topic:
50+
- [`df12` - Detector-spectrum mapping](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/df12_det_spec_map.fbs)
51+
52+
## `_areaDetector`
53+
54+
This is raw `areaDetector` data. It's sent by [this line in `ISISDAE`](https://github.com/ISISComputingGroup/EPICS-ioc/blob/716aada58c972cf0661ab6cebc41fba34d29b806/ISISDAE/iocBoot/iocISISDAE-IOC-01/liveview.cmd#L8)
55+
56+
## `_forwarderConfig`
57+
58+
This is the forwarder configuration, sent by {ref}`bskafka`.
59+
Flatbuffers schemas in this topic:
60+
- [`fc00` - Forwarder configuration](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/fc00_forwarder_config.fbs)
61+
62+
## `_forwarderStatus`
63+
64+
This is the forwarder status topic which contains details about what PVs the forwarder is forwarding.
65+
Flatbuffers schemas in this topic:
66+
- [`x5f2` - General status](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/x5f2_status.fbs)
67+
68+
## `_forwarderStorage`
69+
70+
This is the last known forwarder configuration, sent by {ref}`bskafka`. This is for if the forwarder crashes, then it can quickly retrieve its last configuration.
71+
Flatbuffers schemas in this topic:
72+
- [`fc00` - Forwarder Configuration](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/fc00_forwarder_config.fbs)

0 commit comments

Comments
 (0)