Fix duplicate metric labels (#518)

pull/519/head v0.0.0-testnet.0
Mattie Conover 3 years ago committed by GitHub
parent 404b4ae115
commit 71ce3e285b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      rust/abacus-base/src/contract_sync/metrics.rs
  2. 39
      rust/abacus-base/src/contract_sync/mod.rs
  3. 2
      rust/abacus-base/src/inbox.rs
  4. 2
      rust/abacus-base/src/outbox.rs
  5. 8
      rust/agents/relayer/src/relayer.rs

@ -24,7 +24,7 @@ impl ContractSyncMetrics {
.new_int_gauge(
"contract_sync_block_height",
"Height of a recently observed block",
&["data_type", "contract_name", "agent"],
&["data_type", "contract_name"],
)
.expect("failed to register block_height metric");
@ -32,7 +32,7 @@ impl ContractSyncMetrics {
.new_int_gauge(
"contract_sync_stored_events",
"Number of events stored into db",
&["data_type", "contract_name", "agent"],
&["data_type", "contract_name"],
)
.expect("failed to register stored_events metric");
@ -40,7 +40,7 @@ impl ContractSyncMetrics {
.new_int_counter(
"contract_sync_missed_events",
"Number of unique occasions when agent missed an event",
&["data_type", "contract_name", "agent"],
&["data_type", "contract_name"],
)
.expect("failed to register missed_events metric");

@ -30,7 +30,6 @@ const MESSAGES_LABEL: &str = "messages";
/// db up-to-date.
#[derive(Debug)]
pub struct ContractSync<I> {
agent_name: String,
contract_name: String,
db: AbacusDB,
indexer: Arc<I>,
@ -41,7 +40,6 @@ pub struct ContractSync<I> {
impl<I> ContractSync<I> {
/// Instantiate new ContractSync
pub fn new(
agent_name: String,
contract_name: String,
db: AbacusDB,
indexer: Arc<I>,
@ -49,7 +47,6 @@ impl<I> ContractSync<I> {
metrics: ContractSyncMetrics,
) -> Self {
Self {
agent_name,
contract_name,
db,
indexer,
@ -86,23 +83,23 @@ where
let db = self.db.clone();
let indexer = self.indexer.clone();
let indexed_height = self.metrics.indexed_height.clone().with_label_values(&[
MESSAGES_LABEL,
&self.contract_name,
&self.agent_name,
]);
let stored_messages = self.metrics.stored_events.clone().with_label_values(&[
MESSAGES_LABEL,
&self.contract_name,
&self.agent_name,
]);
let missed_messages = self.metrics.missed_events.clone().with_label_values(&[
MESSAGES_LABEL,
&self.contract_name,
&self.agent_name,
]);
let indexed_height = self
.metrics
.indexed_height
.clone()
.with_label_values(&[MESSAGES_LABEL, &self.contract_name]);
let stored_messages = self
.metrics
.stored_events
.clone()
.with_label_values(&[MESSAGES_LABEL, &self.contract_name]);
let missed_messages = self
.metrics
.missed_events
.clone()
.with_label_values(&[MESSAGES_LABEL, &self.contract_name]);
let message_leaf_index = self.metrics.message_leaf_index.clone();
@ -519,7 +516,6 @@ mod test {
let sync_metrics = ContractSyncMetrics::new(metrics, None);
let contract_sync = ContractSync::new(
"agent".to_owned(),
"outbox_1".to_owned(),
abacus_db.clone(),
indexer.clone(),
@ -822,7 +818,6 @@ mod test {
let sync_metrics = ContractSyncMetrics::new(metrics, None);
let contract_sync = ContractSync::new(
"agent".to_owned(),
"outbox_1".to_owned(),
abacus_db.clone(),
indexer.clone(),

@ -50,14 +50,12 @@ impl CachingInbox {
/// data
pub fn sync(
&self,
agent_name: String,
index_settings: IndexSettings,
metrics: ContractSyncMetrics,
) -> Instrumented<JoinHandle<Result<()>>> {
let span = info_span!("InboxContractSync", self = %self);
let sync = ContractSync::new(
agent_name,
String::from_str(self.inbox.name()).expect("!string"),
self.db.clone(),
self.indexer.clone(),

@ -57,14 +57,12 @@ impl CachingOutbox {
/// data
pub fn sync(
&self,
agent_name: String,
index_settings: IndexSettings,
metrics: ContractSyncMetrics,
) -> Instrumented<JoinHandle<Result<()>>> {
let span = info_span!("OutboxContractSync", self = %self);
let sync = ContractSync::new(
agent_name,
String::from_str(self.outbox.name()).expect("!string"),
self.db.clone(),
self.indexer.clone(),

@ -86,11 +86,9 @@ impl Relayer {
let outbox_name = outbox.name();
let sync_metrics =
ContractSyncMetrics::new(self.metrics(), Some(&["dispatch", outbox_name, "unknown"]));
let sync = self.outbox().sync(
Self::AGENT_NAME.to_string(),
self.as_ref().indexer.clone(),
sync_metrics,
);
let sync = self
.outbox()
.sync(self.as_ref().indexer.clone(), sync_metrics);
sync
}

Loading…
Cancel
Save