ISISComputingGroup / ISISComputingGroup/DataStreaming
`filewriter`: selog blocks
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
The filewriter must be able to write the `selog` data.
For each block, this includes:
- `raw_data_1/selog//read_control` (was a LabVIEW VI control name; not populated by current system; could be populated as EPICS PV name)
- `raw_data_1/selog//set_control` (was a LabVIEW VI control name; not populated by current system)
- `raw_data_1/selog//setpoint`
- `raw_data_1/selog//setpoint_spread`
- `raw_data_1/selog//value`
- `raw_data_1/selog//value_log/alarm_severity`
- `raw_data_1/selog//value_log/alarm_status`
- `raw_data_1/selog//value_log/alarm_time`
- `raw_data_1/selog//value_log/name`
- `raw_data_1/selog//value_log/time`
- `raw_data_1/selog//value_log/value`
- `raw_data_1/selog//value_log/value_valid`
- `raw_data_1/selog//value_spread`
- `raw_data_1/selog//vi_name` (was a LabVIEW VI name; not populated by current system)
> [!IMPORTANT]
> When implementing, we must ensure that the filewriter 'goes back' in time to find the most recent update for each block and log that as the initial update. Otherwise, values will be missing in the `.nxs` until the block happens to update or the forwarder happens to schedule one of it's periodic updates. For short runs and blocks that don't update much, it is possible that may _never_ happen.
## Questions
The ISISICP currently writes strings in a way that is not nexus-compliant. Do we want to continue to do that?
There is a new [`NXtextlog` nexus class](https://github.com/nexusformat/definitions/pull/1590) for storing string-logs, and as ESS [`vs00` schema](https://github.com/ess-dmsc/streaming-data-types/blob/master/schemas/vs00_strings.fbs) for emitting string-type updates through Kafka.
## Potential differences from existing files
- The update frequency of blocks logged here may be different than old system; streaming system will see and be able to log all block updates (unless we choose to implement downsampling)
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start at the filewriter entry point and trace how block updates become .nxs output. Compare the required raw_data_1/selog/ paths with the current writer, including the historical lookup needed for the initial update. Done means all listed fields are written for each block and the string-log representation decision is resolved.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- kafka
- Lĩnh vực
- data
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100