Skip to content
Draft
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions run_start_metadata_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/ISISComputingGroup/DataStreaming/blob/main/run_start_metadata_schema.json",
"title": "run_start_metadata_schema",
"description": "Schema for run start metadata used at ISIS for kafka_dae_diagnostics",
"type": "object",
"properties": {
"num_periods": {
"description": "The total number of periods for this run",
"type": "integer"
},
Comment thread
rerpha marked this conversation as resolved.
"num_time_channels": {
"description": "The total number of time channels for this run",
"type":"integer"
},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're supporting multiple time regimes, a single num_time_channels might be ambiguous. To discuss when we start to formalize what TCBs look like in a streaming world.

Maybe this is really a max_time_channels?

"time_regimes": {
"description": "The time regimes for this run",
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"description": "time regime rows",
"items": {
"type":"object",
"description": "time regime row",
"properties": {
"from": {
"type": "number"
},
"to": {
"type": "number"
},
"steps": {
"type": "number"
},
"mode": {
"enum": ["dT = C", "dT/T = C", "dT/T**2 = C", "Shifted"]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed - also want to allow for TCB files (or in other words arbitrary bin boundaries)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, but do they need to be in this metadata or can kafka_dae_control just parse them and put them in here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think they just want to be a parsed list.

}
}
}
}
},
"vetos": {
"description": "The vetos for this run",
"type": "array",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's clarify with DSG what form the vetos will be streamed in before commiting to a representation here.

"minItems": 1,
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
}
}
}
},
"required": ["num_periods", "num_time_channels", "time_regimes", "vetos"]
}