132 USERVER_NAMESPACE::utils::statistics::
RecentPeriod<Percentile, Percentile, detail::SteadyCoarseClock>,
150 InstanceStatisticsNonatomic() =
default;
152 template <
typename Statistics>
153 InstanceStatisticsNonatomic(
const Statistics& stats) {
160 const InstanceStatistics& stats,
161 const decltype(InstanceStatistics::topology)& topology_stats
163 connection.open_total = stats.connection.open_total;
164 connection.drop_total = stats.connection.drop_total;
165 connection.active = stats.connection.active;
166 connection.used = stats.connection.used;
167 connection.maximum = stats.connection.maximum;
168 connection.waiting = stats.connection.waiting;
169 connection.error_total = stats.connection.error_total;
170 connection.error_timeout = stats.connection.error_timeout;
172 connection.max_queue_size = stats.connection.max_queue_size;
174 transaction.total = stats.transaction.total;
175 transaction.commit_total = stats.transaction.commit_total;
176 transaction.rollback_total = stats.transaction.rollback_total;
177 transaction.out_of_trx_total = stats.transaction.out_of_trx_total;
178 transaction.parse_total = stats.transaction.parse_total;
179 transaction.execute_total = stats.transaction.execute_total;
180 transaction.reply_total = stats.transaction.reply_total;
181 transaction.portal_bind_total = stats.transaction.portal_bind_total;
182 transaction.error_execute_total = stats.transaction.error_execute_total;
183 transaction.execute_timeout = stats.transaction.execute_timeout;
184 transaction.duplicate_prepared_statements = stats.transaction.duplicate_prepared_statements;
187 transaction.wait_start_percentile = stats.transaction.wait_start_percentile
.GetStatsForPeriod();
189 transaction.return_to_pool_percentile = stats.transaction.return_to_pool_percentile
.GetStatsForPeriod();
194 pool_exhaust_errors = stats.pool_exhaust_errors;
195 queue_size_errors = stats.queue_size_errors;
203 for (
const auto& [statement_name, statement_stats] : stats) {
204 const auto [it, inserted] = per_statement_stats.try_emplace(statement_name, statement_stats);
206 it->second.Add(statement_stats);
213 std::unordered_map<std::string, StatementStatistics> per_statement_stats;