48 std::uint64_t message_count{0};
49 std::uint64_t byte_count{0};
50 std::uint64_t consumer_count{0};
51 std::chrono::system_clock::time_point created_at;
52 std::optional<std::chrono::system_clock::time_point> last_message_at;
65 inline static std::string_view logger_name =
"ores.qt.client_queue_model";
67 [[nodiscard]]
static auto& lg() {
69 static auto instance = make_logger(logger_name);
85 static constexpr std::size_t kColumnCount = std::size_t(ColumnCount);
86 static constexpr std::array<ColumnMetadata, kColumnCount> kColumns = {{
89 { .column = Messages, .header =
"Messages", .style =
column_style::mono_center, .hidden_by_default =
false, .default_width = 90 },
90 { .column = Bytes, .header =
"Bytes", .style =
column_style::mono_center, .hidden_by_default =
false, .default_width = 90 },
91 { .column = Consumers, .header =
"Consumers", .style =
column_style::mono_center, .hidden_by_default =
false, .default_width = 80 },
96 inline static const QSize kDefaultWindowSize = {900, 400};
97 static constexpr std::string_view kSettingsGroup =
"QueueMonitorListWindow";
99 static std::vector<column_style>
const& columnStyles() {
100 static std::vector<column_style>
const kStylesVector = []() {
101 std::vector<column_style> result;
102 result.reserve(kColumnCount);
103 for (std::size_t i = 0; i < kColumnCount; ++i)
104 result.push_back(kColumns[i].style);
107 return kStylesVector;
110 static QVector<int> defaultHiddenColumns() {
111 static QVector<int>
const result =
112 ::ores::qt::defaultHiddenColumns<kColumnCount>(kColumns);
117 QObject* parent =
nullptr);
120 int rowCount(
const QModelIndex& parent = QModelIndex())
const override;
121 int columnCount(
const QModelIndex& parent = QModelIndex())
const override;
122 QVariant data(
const QModelIndex& index,
123 int role = Qt::DisplayRole)
const override;
124 QVariant headerData(
int section, Qt::Orientation orientation,
125 int role = Qt::DisplayRole)
const override;
139 std::vector<queue_row> rows;
140 QString error_message;
141 QString error_details;
145 std::vector<queue_row> rows_;
146 QFutureWatcher<FetchResult>* watcher_;
147 bool is_fetching_{
false};
constexpr int kColumnWidthAuto
Sentinel value for column default width meaning "auto-size to contents".
Definition ColumnMetadata.hpp:37