Skip to content

feat: add metrics.rs, affinity_linux, end to end latency metrics#580

Open
vovkman wants to merge 24 commits intorpcpool:masterfrom
helius-labs:timing-metrics
Open

feat: add metrics.rs, affinity_linux, end to end latency metrics#580
vovkman wants to merge 24 commits intorpcpool:masterfrom
helius-labs:timing-metrics

Conversation

@vovkman
Copy link
Contributor

@vovkman vovkman commented May 2, 2025

Adds

  1. affinity-linux so that builds work on mac

  2. metrics.rs

  • so that prometheus isn't the only supported source of metrics
  • adds feature flag for statsd
  1. message_send_latency_ms metric to tell time from message creation to transmission

@leafaar leafaar self-requested a review May 7, 2025 13:25
Copy link
Contributor

@lvboudre lvboudre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two things:

  • This PR does not preserve existing prometheus metrics and /debug_clients endpoint.
  • This PR needs to be rebase off master branch.

I am fine with unifying metrics, though we need to make sure it migrate legacy prometheus feature as-is so current user of the plugin does not lose features.

Opts::new("slot_status", "Lastest received slot from Geyser"),
&["status"]
).unwrap();
static ref SLOT_STATUS: Arc<AtomicI64> = Arc::new(AtomicI64::new(0));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Atomic64 cannot replace a IntGaugeVec (vectorized metric).

Comment on lines -195 to -201
register!(SLOT_STATUS);
register!(SLOT_STATUS_PLUGIN);
register!(INVALID_FULL_BLOCKS);
register!(MESSAGE_QUEUE_SIZE);
register!(CONNECTIONS_TOTAL);
register!(SUBSCRIPTIONS_TOTAL);
register!(MISSED_STATUS_MESSAGE);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will break the Prometheus Service.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants