Skip to main content

SessionReport.h File

Structured pipeline diagnostics — what Session::validate() and SessionError::report() carry. More...

Included Headers

#include <cstdint> #include <string> #include <vector>

Namespaces Index

namespacesimaai
namespaceneat

Classes Index

structBusMessage

A single GStreamer bus message captured during pipeline build/run. More...

structBoundaryFlowStats

Per-boundary flow statistics — buffer counts at identity probes between Nodes. More...

structNodeReport

Per-Node entry in the report, listing what that Node produced in the GStreamer pipeline. More...

structBuildAdaptationAction

One line item from the build-adaptation log. More...

structBuildAdaptationSummary

Snapshot of build-time adaptation state — present for build(input) flows. More...

structSessionReport

Structured pipeline diagnostics — the framework's primary triage record. More...

Description

Structured pipeline diagnostics — what Session::validate() and SessionError::report() carry.

SessionReport is the framework's primary triage record: when something fails (or even when validation passes), it returns a structured snapshot of the pipeline shape, GStreamer bus messages, build-adaptation history, optional caps dumps and DOT graph paths, plus reproducer information — a standalone gst-launch-1.0 command that re-creates the pipeline outside the framework, env-var suggestions, and a human-readable summary.

See Also

SessionError for the exception type that carries this report

See Also

"Validation API" (§29 of the design deep dive)

File Listing

The file content with the documentation metadata removed is:

1
16#pragma once
17
18#include <cstdint>
19#include <string>
20#include <vector>
21
22namespace simaai::neat {
23
32struct BusMessage {
33 std::string type;
34 std::string src;
36 std::string detail;
37 int64_t wall_time_us = 0;
38};
39
49 std::string boundary_name;
50 int after_node_index = -1;
52
53 uint64_t in_buffers = 0;
54 uint64_t out_buffers = 0;
55
56 int64_t last_in_pts_ns = -1;
57 int64_t last_out_pts_ns = -1;
58
59 int64_t last_in_wall_us = 0;
60 int64_t last_out_wall_us = 0;
61};
62
67struct NodeReport {
68 int index = -1;
69 std::string kind;
70 std::string user_label;
71 std::string backend_fragment;
72 std::vector<std::string> elements;
73};
74
84 std::string
86 bool applied = false;
87 std::string detail;
88 std::string reason;
89};
90
100 std::string shape_policy;
101 std::string dynamic_capability;
102
103 int seed_width = -1;
104 int seed_height = -1;
105 int seed_depth = -1;
106 std::string seed_width_origin;
108 std::string seed_height_origin;
109 std::string seed_depth_origin;
110
111 int max_width = -1;
112 int max_height = -1;
113 int max_depth = -1;
114 std::string max_width_origin;
115 std::string max_height_origin;
116 std::string max_depth_origin;
117
118 std::size_t max_input_bytes_guard = 0;
119 std::string byte_guard_origin;
121 false;
122
123 std::vector<BuildAdaptationAction> actions;
124};
125
142 std::string pipeline_string;
149 std::string error_code;
150
151 std::vector<NodeReport> nodes;
152 std::vector<BusMessage> bus;
153 std::vector<BoundaryFlowStats> boundaries;
154
155 // ── Heavy-on-failure add-ons ─────────────────────────────────────────────────────────────
156 std::string caps_dump;
157 std::vector<std::string> dot_paths;
158
159 // ── Reproducer helpers ───────────────────────────────────────────────────────────────────
160 std::string repro_gst_launch;
162 std::string repro_env;
163 std::string repro_note;
164
168
170 std::string to_json() const;
171};
172
173} // namespace simaai::neat

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.