Skip to content

Conversation

@cratelyn
Copy link
Contributor

this commit introduces a len() method to Family<S, M, C>, which returns the number of series within a metric family.

see also #245, which allows callers to check if a family contains() a given label set.

@cratelyn cratelyn changed the title feat(metrics/family): len() returns the number of metrics feat(metrics/family): 🍭 len() returns the number of metrics Nov 18, 2024
@cratelyn
Copy link
Contributor Author

cratelyn commented Sep 2, 2025

my understanding is that this could be added behind the test-util flag proposed in #283.

Copy link
Member

@mxinden mxinden left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks. Once #242 is merged, we can proceed here.

Copy link
Member

@mxinden mxinden left a comment

Choose a reason for hiding this comment

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

Thanks.

@mxinden
Copy link
Member

mxinden commented Jan 23, 2026

@cratelyn can you resolve the merge conflict? A bit tricky via GitHub UI.

this commit introduces a `len()` method to `Family<S, M, C>`, which
returns the number of series within a metric family.

see also prometheus#245, which allows callers to check if a family `contains()` a
given label set.

```shell
$ cargo clippy --all-features --all-targets --tests
   Compiling prometheus-client v0.23.0 (/path/to/prometheus-client)
warning: struct `Family` has a public `len` method, but no `is_empty` method
   --> src/metrics/family.rs:309:5
    |
309 |     pub fn len(&self) -> usize {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty
    = note: `#[warn(clippy::len_without_is_empty)]` on by default

warning: `prometheus-client` (lib) generated 1 warning
warning: `prometheus-client` (lib test) generated 1 warning (1 duplicate)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.63s
```

Signed-off-by: katelyn martin <git@katelyn.world>
@cratelyn
Copy link
Contributor Author

@cratelyn can you resolve the merge conflict? A bit tricky via GitHub UI.

yes, of course!

i've rebased this on master, and pushed a clean commit. thank you for spotting the changelog typo as well.

@mxinden mxinden added this pull request to the merge queue Jan 29, 2026
Merged via the queue into prometheus:master with commit 3942d06 Jan 29, 2026
10 checks passed
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