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.1.