pageserver: omit consumption metrics from shard != 0

This commit is contained in:
John Spray
2023-11-05 18:07:49 +00:00
parent 8e2fee7d06
commit f54cb63eb4
2 changed files with 11 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ use anyhow::Context;
use chrono::{DateTime, Utc};
use consumption_metrics::EventType;
use futures::stream::StreamExt;
use pageserver_api::shard::ShardNumber;
use std::{sync::Arc, time::SystemTime};
use utils::{
id::{TenantId, TimelineId},
@@ -229,6 +230,11 @@ where
while let Some((tenant_id, tenant)) = tenants.next().await {
let mut tenant_resident_size = 0;
// Sharded tenants report all consumption metrics from shard zero
if tenant.get_shard().number == ShardNumber(0) {
continue;
}
for timeline in tenant.list_timelines() {
let timeline_id = timeline.timeline_id;

View File

@@ -2128,6 +2128,11 @@ impl Tenant {
pub fn get_tenant_id(&self) -> TenantId {
self.tenant_id
}
pub(crate) fn get_shard(&self) -> ShardIdentity {
self.tenant_conf.read().unwrap().shard.clone()
}
pub fn tenant_specific_overrides(&self) -> TenantConfOpt {
self.tenant_conf.read().unwrap().tenant_conf
}