Files
scylladb/db/virtual_tables.hh
Tomasz Grabiec 0b9a75d7b6 virtual-tables: Introduce system.load_per_node
Can be used to query per-node stats about load as seen by the load
balancer.

In particular, node's capacity will be used by tablet-mon.py to
scale tablet columns so that equal height is equal node utilization.
2025-04-09 20:21:51 +02:00

62 lines
1.2 KiB
C++

/*
* Modified by ScyllaDB
* Copyright (C) 2023-present ScyllaDB
*/
/*
* SPDX-License-Identifier: (LicenseRef-ScyllaDB-Source-Available-1.0 and Apache-2.0)
*/
#pragma once
#include <seastar/core/distributed.hh>
#include <map>
#include "schema/schema_fwd.hh"
namespace replica {
class database;
}
namespace service {
class storage_service;
class raft_group_registry;
class tablet_allocator;
}
namespace gms {
class gossiper;
}
namespace netw {
class messaging_service;
}
namespace db {
class config;
class system_keyspace;
future<> initialize_virtual_tables(
distributed<replica::database>&,
distributed<service::storage_service>&,
sharded<gms::gossiper>&,
sharded<service::raft_group_registry>&,
sharded<db::system_keyspace>&,
sharded<service::tablet_allocator>&,
sharded<netw::messaging_service>&,
db::config&);
class virtual_table;
using virtual_tables_registry_impl = std::map<table_id, std::unique_ptr<virtual_table>>;
// Pimpl to hide virtual_table from the rest of the code
class virtual_tables_registry : public std::unique_ptr<virtual_tables_registry_impl> {
public:
virtual_tables_registry();
~virtual_tables_registry();
};
} // namespace db