feat: engine name in heartbeat (#2377)

This commit is contained in:
JeremyHi
2023-09-13 17:10:10 +08:00
committed by GitHub
parent de723d9c1c
commit 6f4779b474
3 changed files with 13 additions and 17 deletions

View File

@@ -438,9 +438,7 @@ impl Datanode {
Mode::Standalone => None,
};
let heartbeat_task = match opts.mode {
Mode::Distributed => {
Some(HeartbeatTask::try_new(&opts, Some(region_server.clone())).await?)
}
Mode::Distributed => Some(HeartbeatTask::try_new(&opts, region_server.clone()).await?),
Mode::Standalone => None,
};
let greptimedb_telemetry_task = get_greptimedb_telemetry_task(

View File

@@ -62,11 +62,7 @@ impl Drop for HeartbeatTask {
impl HeartbeatTask {
/// Create a new heartbeat task instance.
pub async fn try_new(
opts: &DatanodeOptions,
// TODO: remove optional
region_server: Option<RegionServer>,
) -> Result<Self> {
pub async fn try_new(opts: &DatanodeOptions, region_server: RegionServer) -> Result<Self> {
let meta_client = new_metasrv_client(
opts.node_id.context(MissingNodeIdSnafu)?,
opts.meta_client_options
@@ -75,8 +71,6 @@ impl HeartbeatTask {
)
.await?;
let region_server = region_server.unwrap();
let region_alive_keeper = Arc::new(RegionAliveKeeper::new(
region_server.clone(),
opts.heartbeat.interval_millis,
@@ -258,13 +252,13 @@ impl HeartbeatTask {
}
async fn load_region_stats(region_server: &RegionServer) -> Vec<RegionStat> {
let region_ids = region_server.opened_region_ids();
region_ids
let regions = region_server.opened_regions();
regions
.into_iter()
.map(|region_id| RegionStat {
// TODO(ruihang): scratch more info
.map(|(region_id, engine)| RegionStat {
region_id: region_id.as_u64(),
engine: "MitoEngine".to_string(),
engine,
// TODO(ruihang): scratch more info
..Default::default()
})
.collect::<Vec<_>>()

View File

@@ -88,8 +88,12 @@ impl RegionServer {
self.inner.handle_read(request).await
}
pub fn opened_region_ids(&self) -> Vec<RegionId> {
self.inner.region_map.iter().map(|e| *e.key()).collect()
pub fn opened_regions(&self) -> Vec<(RegionId, String)> {
self.inner
.region_map
.iter()
.map(|e| (*e.key(), e.value().name().to_string()))
.collect()
}
pub fn runtime(&self) -> Arc<Runtime> {