4 #ifndef ERF_PROVENANCE_H_
5 #define ERF_PROVENANCE_H_
11 #include <string_view>
101 [[nodiscard]]
bool valid () const noexcept
119 std::string
format_utc (std::time_t time_value);
135 const std::string& execution_start_utc);
140 const std::string& checkpoint_path);
145 const std::string& checkpoint_path);
Definition: ERF_Provenance.cpp:250
std::string uuid_v4_from_bytes(const std::array< std::uint8_t, 16 > &bytes)
Definition: ERF_Provenance.cpp:252
ProvenanceReadResult read_job_info_file(const std::string &path)
Definition: ERF_Provenance.cpp:485
std::string current_utc()
Definition: ERF_Provenance.cpp:318
constexpr int schema_version
Definition: ERF_Provenance.H:17
std::string serialize_provenance_block(const ProvenanceRecord &record)
Definition: ERF_Provenance.cpp:347
ExecutionProvenance initialize_execution_provenance()
Definition: ERF_Provenance.cpp:562
ProvenanceParseResult parse_provenance_block(std::string_view text)
Definition: ERF_Provenance.cpp:377
ExecutionProvenance make_restart_provenance(const ExecutionProvenance ¤t_invocation, const ProvenanceRecord &parent_checkpoint, const std::string &checkpoint_path)
Definition: ERF_Provenance.cpp:522
const char * lineage_status_token(LineageStatus status) noexcept
Definition: ERF_Provenance.cpp:323
LineageStatus
Definition: ERF_Provenance.H:26
std::string format_utc(std::time_t time_value)
Definition: ERF_Provenance.cpp:305
constexpr const char * provenance_end
Definition: ERF_Provenance.H:19
ExecutionProvenance make_incomplete_restart_provenance(const ExecutionProvenance ¤t_invocation, ProvenanceReadStatus failure_status, const std::string &checkpoint_path)
Definition: ERF_Provenance.cpp:546
const char * artifact_type_token(ArtifactType type) noexcept
Definition: ERF_Provenance.cpp:337
bool is_valid_uuid_v4(std::string_view uuid)
Definition: ERF_Provenance.cpp:265
ProvenanceReadStatus
Definition: ERF_Provenance.H:44
std::string generate_uuid_v4()
Definition: ERF_Provenance.cpp:273
ExecutionProvenance make_cold_start_provenance(const std::string &execution_uuid, const std::string &execution_start_utc)
Definition: ERF_Provenance.cpp:511
constexpr const char * provenance_begin
Definition: ERF_Provenance.H:18
ArtifactType
Definition: ERF_Provenance.H:37
Definition: ERF_Provenance.H:81
int artifact_step
Definition: ERF_Provenance.H:84
std::string artifact_uuid
Definition: ERF_Provenance.H:82
double artifact_time_seconds
Definition: ERF_Provenance.H:85
std::string artifact_created_utc
Definition: ERF_Provenance.H:86
ArtifactType artifact_type
Definition: ERF_Provenance.H:83
Definition: ERF_Provenance.H:66
int schema_version
Definition: ERF_Provenance.H:67
std::string source_checkpoint_uuid
Definition: ERF_Provenance.H:75
std::string execution_uuid
Definition: ERF_Provenance.H:69
std::vector< std::string > execution_lineage
Definition: ERF_Provenance.H:71
LineageStatus lineage_status
Definition: ERF_Provenance.H:74
bool lineage_complete
Definition: ERF_Provenance.H:73
std::string parent_execution_uuid
Definition: ERF_Provenance.H:70
std::string execution_start_utc
Definition: ERF_Provenance.H:77
std::string source_checkpoint_path
Definition: ERF_Provenance.H:76
int restart_generation
Definition: ERF_Provenance.H:72
std::string simulation_uuid
Definition: ERF_Provenance.H:68
Definition: ERF_Provenance.H:96
ProvenanceRecord record
Definition: ERF_Provenance.H:98
bool valid() const noexcept
Definition: ERF_Provenance.H:101
std::string diagnostic
Definition: ERF_Provenance.H:99
ProvenanceReadStatus status
Definition: ERF_Provenance.H:97
Definition: ERF_Provenance.H:90
ArtifactProvenance artifact
Definition: ERF_Provenance.H:92
ExecutionProvenance execution
Definition: ERF_Provenance.H:91