mirror of
https://github.com/pezkuwichain/pezkuwi-telemetry.git
synced 2026-06-15 01:21:03 +00:00
Fix/expand a few comments
This commit is contained in:
@@ -63,7 +63,7 @@ impl AggregatorSet {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Lock, update the stored metrics and drop the lock immediately.
|
// Lock, update the stored metrics and drop the lock immediately.
|
||||||
// We discard any error; if somethign went wrong talking to the inner loop,
|
// We discard any error; if something went wrong talking to the inner loop,
|
||||||
// it's probably a fatal error
|
// it's probably a fatal error
|
||||||
{
|
{
|
||||||
inner.metrics.lock().unwrap()[idx] = metrics;
|
inner.metrics.lock().unwrap()[idx] = metrics;
|
||||||
|
|||||||
@@ -485,13 +485,16 @@ where
|
|||||||
async fn return_prometheus_metrics(aggregator: AggregatorSet) -> Response<hyper::Body> {
|
async fn return_prometheus_metrics(aggregator: AggregatorSet) -> Response<hyper::Body> {
|
||||||
let metrics = aggregator.latest_metrics();
|
let metrics = aggregator.latest_metrics();
|
||||||
|
|
||||||
// Instead of using the rust prometheus library, we just split out the text format that prometheus expects
|
// Instead of using the rust prometheus library (which is optimised around global variables updated across a codebase),
|
||||||
// ourselves, using whatever the latest metrics that we've captured so far are. See:
|
// we just split out the text format that prometheus expects ourselves, using whatever the latest metrics that we've
|
||||||
|
// captured so far from the aggregators are. See:
|
||||||
//
|
//
|
||||||
// https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md#text-format-details
|
// https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md#text-format-details
|
||||||
//
|
//
|
||||||
// For an example and explanation of this text based format. The minimal output we produce here seems to
|
// For an example and explanation of this text based format. The minimal output we produce here seems to
|
||||||
// be handled correctly when pointing a current version of prometheus at it.
|
// be handled correctly when pointing a current version of prometheus at it.
|
||||||
|
//
|
||||||
|
// Note: '{{' and '}}' are just escaped versions of '{' and '}' in Rust fmt strings.
|
||||||
let mut s = String::new();
|
let mut s = String::new();
|
||||||
for (idx, m) in metrics.iter().enumerate() {
|
for (idx, m) in metrics.iter().enumerate() {
|
||||||
s.push_str(&format!(
|
s.push_str(&format!(
|
||||||
|
|||||||
@@ -46,17 +46,17 @@ use test_utils::workspace::{start_server, CoreOpts, ServerOpts, ShardOpts};
|
|||||||
///
|
///
|
||||||
/// To start up 4 telemetry_shards and 1 telemetry_core with 10 feeds and 100 nodes:
|
/// To start up 4 telemetry_shards and 1 telemetry_core with 10 feeds and 100 nodes:
|
||||||
/// ```sh
|
/// ```sh
|
||||||
/// SOAK_TEST_ARGS='--feeds 10 --nodes 100 --shards 4' cargo test --release -- realistic_soak_test --ignored --nocapture
|
/// SOAK_TEST_ARGS='--feeds 10 --nodes 100 --shards 4' cargo test --release -- soak_test --ignored --nocapture
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
/// You can also run this test against the pre-sharding actix binary with something like this:
|
/// You can also run this test against the pre-sharding actix binary with something like this:
|
||||||
/// ```sh
|
/// ```sh
|
||||||
/// TELEMETRY_BIN=~/old_telemetry_binary SOAK_TEST_ARGS='--feeds 100 --nodes 100 --shards 4' cargo test --release -- realistic_soak_test --ignored --nocapture
|
/// TELEMETRY_BIN=~/old_telemetry_binary SOAK_TEST_ARGS='--feeds 100 --nodes 100 --shards 4' cargo test --release -- soak_test --ignored --nocapture
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
/// Or, you can run it against existing processes on the network with something like this:
|
/// Or, you can run it against existing processes on the network with something like this:
|
||||||
/// ```sh
|
/// ```sh
|
||||||
/// TELEMETRY_SUBMIT_HOSTS='127.0.0.1:8001' TELEMETRY_FEED_HOST='127.0.0.1:8000' SOAK_TEST_ARGS='--feeds 100 --nodes 100 --shards 4' cargo test --release -- realistic_soak_test --ignored --nocapture
|
/// TELEMETRY_SUBMIT_HOSTS='127.0.0.1:8001' TELEMETRY_FEED_HOST='127.0.0.1:8000' SOAK_TEST_ARGS='--feeds 100 --nodes 100 --shards 4' cargo test --release -- soak_test --ignored --nocapture
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
#[ignore]
|
#[ignore]
|
||||||
@@ -70,14 +70,14 @@ pub fn soak_test() {
|
|||||||
.thread_name("telemetry_test_runner")
|
.thread_name("telemetry_test_runner")
|
||||||
.build()
|
.build()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.block_on(run_realistic_soak_test(opts));
|
.block_on(run_soak_test(opts));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A general soak test runner.
|
/// A general soak test runner.
|
||||||
/// This test sends realistic messages from connected nodes
|
/// This test sends realistic messages from connected nodes
|
||||||
/// so that we can see how things react under more normal
|
/// so that we can see how things react under more normal
|
||||||
/// circumstances
|
/// circumstances
|
||||||
async fn run_realistic_soak_test(opts: SoakTestOpts) {
|
async fn run_soak_test(opts: SoakTestOpts) {
|
||||||
let mut server = start_server(
|
let mut server = start_server(
|
||||||
ServerOpts {
|
ServerOpts {
|
||||||
release_mode: true,
|
release_mode: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user