ISISComputingGroup / ISISComputingGroup/DataStreaming

`filewriter`: dynamic metadata

Open
#88 2 comments 0 reactions 0 assignees View on GitHub
filewriter
Dominant language
No language data
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

The filewriter must be able to write the 'dynamic' metadata for a run.

These are pieces of metadata which require knowledge from the `_events` (and/or other) streams to compute. They are 'dynamic' in the sense that they cannot be known at run start.

This includes:
- `raw_data_1/collection_time` (because `collection_time` excludes vetoed/paused time so needs per-frame veto flags)
- `raw_data_1/framelog/events_log`
- `raw_data_1/framelog/frame_log`
- `raw_data_1/framelog/good_frame_log`
- `raw_data_1/framelog/period_log`
- `raw_data_1/framelog/proton_charge`
- `raw_data_1/framelog/raw_events_log`
- `raw_data_1/good_frames`
- `raw_data_1/proton_charge`
- `raw_data_1/proton_charge_raw`
- `raw_data_1/raw_frames`
- `raw_data_1/runlog/count_rate`
- `raw_data_1/runlog/dae_beam_current`
- `raw_data_1/runlog/good_frames`
- `raw_data_1/runlog/good_uah_log`
- `raw_data_1/runlog/is_running`
- `raw_data_1/runlog/is_waiting`
- `raw_data_1/runlog/monitor_sum_1`
- `raw_data_1/runlog/np_ratio`
- `raw_data_1/runlog/period`
- `raw_data_1/runlog/period_change_log`
- `raw_data_1/runlog/raw_frames`
- `raw_data_1/runlog/raw_uah_log`
- `raw_data_1/runlog/run_status`
- `raw_data_1/runlog/total_counts`
- `raw_data_1/runlog/veto_log`
- `raw_data_1/total_counts`
- `raw_data_1/total_uncounted_counts`

## Potential differences from existing files

- `raw_data_1/total_uncounted_counts` - "uncounted count" may not be a valid concept in datastreaming world. But we can write it as a constant zero instead.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the filewriter and tracing how it receives data from the `_events` and other streams. Compare the existing metadata handling with the listed dynamic paths, including the per-frame calculation needed for `collection_time`; done means those paths are written during a run, with `total_uncounted_counts` handled according to the stated constant-zero possibility.

Written by the indexing model from the issue text.

Assessment

Domain
backend, data-engineering, stream-processing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.