diff --git a/AGENTS.md b/AGENTS.md index a94665714..fb7d43c54 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -60,17 +60,17 @@ All packages live under `packages/`. The workspace version is `3.0.0-develop`. | Package | Crate Name | Prefix / Layer | Description | | --------------------------------- | ------------------------------------------------- | -------------- | ---------------------------------------------- | -| `axum-health-check-api-server` | `torrust-tracker-axum-health-check-api-server` | `axum-*` | Health monitoring endpoint | +| `axum-health-check-api-server` | `torrust-tracker-axum-health-check-api-server` | `axum-*` | Health monitoring endpoint | | `axum-http-tracker-server` | `torrust-tracker-axum-http-server` | `axum-*` | BitTorrent HTTP tracker server (BEP 3/23) | | `axum-rest-tracker-api-server` | `torrust-tracker-axum-rest-api-server` | `axum-*` | Management REST API server | -| `axum-server` | `torrust-tracker-axum-server` | `axum-*` | Base Axum HTTP server infrastructure | +| `axum-server` | `torrust-tracker-axum-server` | `axum-*` | Base Axum HTTP server infrastructure | | `clock` | `torrust-tracker-clock` | utilities | Mockable time source for deterministic testing | | `configuration` | `torrust-tracker-configuration` | domain | Config file parsing, environment variables | | `events` | `torrust-tracker-events` | domain | Domain event definitions | | `http-protocol` | `bittorrent-http-tracker-protocol` | `*-protocol` | HTTP tracker protocol (BEP 3/23) parsing | | `http-tracker-core` | `bittorrent-http-tracker-core` | `*-core` | HTTP-specific tracker domain logic | | `located-error` | `torrust-tracker-located-error` | utilities | Diagnostic errors with source locations | -| `metrics` | `torrust-tracker-metrics` | domain | Prometheus metrics integration | +| `metrics` | `torrust-metrics` | domain | Prometheus metrics integration | | `peer-id` | `bittorrent-peer-id` | domain | Peer ID parsing and formatting utilities | | `primitives` | `torrust-tracker-primitives` | domain | Core domain types (InfoHash, PeerId, ...) | | `rest-tracker-api-client` | `torrust-tracker-rest-api-client` | client tools | REST API client library | diff --git a/Cargo.lock b/Cargo.lock index 1f7430fee..46ca0a018 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -471,11 +471,11 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-util", + "torrust-metrics", "torrust-net-primitives", "torrust-tracker-clock", "torrust-tracker-configuration", "torrust-tracker-events", - "torrust-tracker-metrics", "torrust-tracker-primitives", "torrust-tracker-swarm-coordination-registry", "torrust-tracker-test-helpers", @@ -567,11 +567,11 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-util", + "torrust-metrics", "torrust-tracker-clock", "torrust-tracker-configuration", "torrust-tracker-events", "torrust-tracker-located-error", - "torrust-tracker-metrics", "torrust-tracker-primitives", "torrust-tracker-swarm-coordination-registry", "torrust-tracker-test-helpers", @@ -597,11 +597,11 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-util", + "torrust-metrics", "torrust-net-primitives", "torrust-tracker-clock", "torrust-tracker-configuration", "torrust-tracker-events", - "torrust-tracker-metrics", "torrust-tracker-primitives", "torrust-tracker-swarm-coordination-registry", "tracing", @@ -5102,6 +5102,25 @@ dependencies = [ "tonic", ] +[[package]] +name = "torrust-metrics" +version = "3.0.0-develop" +dependencies = [ + "approx", + "chrono", + "derive_more 2.1.1", + "formatjson", + "mutants", + "openmetrics-parser", + "pretty_assertions", + "rstest 0.25.0", + "serde", + "serde_json", + "thiserror 2.0.18", + "torrust-tracker-clock", + "tracing", +] + [[package]] name = "torrust-net-primitives" version = "3.0.0-develop" @@ -5252,12 +5271,12 @@ dependencies = [ "serde_with", "thiserror 2.0.18", "tokio", + "torrust-metrics", "torrust-net-primitives", "torrust-server-lib", "torrust-tracker-axum-server", "torrust-tracker-clock", "torrust-tracker-configuration", - "torrust-tracker-metrics", "torrust-tracker-primitives", "torrust-tracker-rest-api-client", "torrust-tracker-rest-api-core", @@ -5369,25 +5388,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "torrust-tracker-metrics" -version = "3.0.0-develop" -dependencies = [ - "approx", - "chrono", - "derive_more 2.1.1", - "formatjson", - "mutants", - "openmetrics-parser", - "pretty_assertions", - "rstest 0.25.0", - "serde", - "serde_json", - "thiserror 2.0.18", - "torrust-tracker-clock", - "tracing", -] - [[package]] name = "torrust-tracker-primitives" version = "3.0.0-develop" @@ -5425,9 +5425,9 @@ dependencies = [ "bittorrent-udp-tracker-core", "tokio", "tokio-util", + "torrust-metrics", "torrust-tracker-configuration", "torrust-tracker-events", - "torrust-tracker-metrics", "torrust-tracker-primitives", "torrust-tracker-swarm-coordination-registry", "torrust-tracker-test-helpers", @@ -5448,10 +5448,10 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-util", + "torrust-metrics", "torrust-tracker-clock", "torrust-tracker-configuration", "torrust-tracker-events", - "torrust-tracker-metrics", "torrust-tracker-primitives", "tracing", ] @@ -5502,12 +5502,12 @@ dependencies = [ "thiserror 2.0.18", "tokio", "tokio-util", + "torrust-metrics", "torrust-net-primitives", "torrust-server-lib", "torrust-tracker-clock", "torrust-tracker-configuration", "torrust-tracker-events", - "torrust-tracker-metrics", "torrust-tracker-primitives", "torrust-tracker-swarm-coordination-registry", "torrust-tracker-test-helpers", diff --git a/docs/issues/open/1669-overhaul-packages/EPIC.md b/docs/issues/open/1669-overhaul-packages/EPIC.md index a0f55967f..450675f55 100644 --- a/docs/issues/open/1669-overhaul-packages/EPIC.md +++ b/docs/issues/open/1669-overhaul-packages/EPIC.md @@ -60,6 +60,7 @@ The workspace currently contains **27 packages** (including the root `torrust-tr | Published on crates.io | Crate Name | Folder | | ---------------------- | ------------------------ | ---------------- | +| No | `torrust-metrics` | `metrics` | | No | `torrust-net-primitives` | `net-primitives` | | No | `torrust-server-lib` | `server-lib` | @@ -77,7 +78,6 @@ The workspace currently contains **27 packages** (including the root `torrust-tr | Yes | `torrust-tracker-contrib-bencode` | `contrib/bencode` | | No | `torrust-tracker-events` | `events` | | Yes | `torrust-tracker-located-error` | `located-error` | -| No | `torrust-tracker-metrics` | `metrics` | | Yes | `torrust-tracker-primitives` | `primitives` | | No | `torrust-tracker-rest-api-client` | `rest-tracker-api-client` | | No | `torrust-tracker-rest-api-core` | `rest-tracker-api-core` | @@ -120,7 +120,7 @@ destination group with a "Renamed from …" note. | Yes | `torrust-clock` | `clock` | Renamed from `torrust-tracker-clock` | | Yes | `torrust-located-error` | `located-error` | Renamed from `torrust-tracker-located-error` | | Yes | `torrust-net-primitives` | `net-primitives` | New package (created by SI-05) | -| No | `torrust-metrics` | `metrics` | Renamed from `torrust-tracker-metrics` | +| No | `torrust-metrics` | `metrics` | — | ### `torrust-tracker-` prefix @@ -214,7 +214,7 @@ Status: TODO unless noted. `SI-XX` = recommended implementation sequence number. - [x] SI-05 — [#1797](https://github.com/torrust/torrust-tracker/issues/1797) Create `torrust-net-primitives` and move `ServiceBinding` from `torrust-tracker-primitives` _(Rule M + new package; no blockers)_ - [x] SI-06 — [#1813](https://github.com/torrust/torrust-tracker/issues/1813) Resolve `bittorrent-tracker-core` ↔ `torrust-tracker-rest-api-client` layer violation _(Rule M; prerequisite for `bittorrent-tracker-core` extraction)_ - [x] SI-07 — [#1816](https://github.com/torrust/torrust-tracker/issues/1816) Align `torrust-` prefix: rename 7 tracker-specific packages to `torrust-tracker-` _(Rule U; no blockers)_ -- [ ] SI-08 — Rename `torrust-tracker-metrics` to `torrust-metrics` _(Rule U; no blockers)_ +- [x] SI-08 — [#1819](https://github.com/torrust/torrust-tracker/issues/1819) Rename `torrust-tracker-metrics` to `torrust-metrics` _(Rule U; no blockers)_ - [ ] SI-09 — Rename `torrust-tracker-clock` to `torrust-clock` _(Rule P; no blockers)_ - [ ] SI-10 — Rename `torrust-tracker-located-error` to `torrust-located-error` _(Rule P; no blockers)_ - [ ] SI-11 — Update all package READMEs _(documentation; after SI-07–SI-10; before SI-12)_ @@ -234,7 +234,7 @@ Details: | SI-05 | [#1797](https://github.com/torrust/torrust-tracker/issues/1797) — Create `torrust-net-primitives` and move `ServiceBinding` from `torrust-tracker-primitives` | [docs/issues/open/1797-1669-05-create-torrust-net-primitives-and-move-service-binding.md](../../open/1797-1669-05-create-torrust-net-primitives-and-move-service-binding.md) | TODO | Rule M + new package; generic networking type; breaks server-lib → tracker-primitives dep | | SI-06 | [#1813](https://github.com/torrust/torrust-tracker/issues/1813) — Resolve `bittorrent-tracker-core` ↔ `torrust-tracker-rest-api-client` layer violation | [docs/issues/closed/1813-1669-06-resolve-bittorrent-tracker-core-rest-api-layer-violation.md](../../closed/1813-1669-06-resolve-bittorrent-tracker-core-rest-api-layer-violation.md) | DONE | Rule M; stale unused dev dep removed in PR #1804; unblocks `bittorrent-tracker-core` extraction | | SI-07 | [#1816](https://github.com/torrust/torrust-tracker/issues/1816) — Align `torrust-` prefix: rename 7 tracker-specific packages to `torrust-tracker-` | [docs/issues/open/1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages.md](../../open/1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages.md) | DONE | Rule U; none of the 7 are published; pure workspace rename; no blockers | -| SI-08 | #TBD — Rename `torrust-tracker-metrics` to `torrust-metrics` | [docs/issues/drafts/1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md](../../drafts/1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md) | TODO | Rule U; not yet published; no blockers; prerequisite for SI-14 | +| SI-08 | [#1819](https://github.com/torrust/torrust-tracker/issues/1819) — Rename `torrust-tracker-metrics` to `torrust-metrics` | [docs/issues/open/1819-1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md](../../open/1819-1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md) | DONE | Rule U; not yet published; no blockers; prerequisite for SI-14 | | SI-09 | #TBD — Rename `torrust-tracker-clock` to `torrust-clock` | [docs/issues/drafts/1669-09-rename-torrust-tracker-clock-to-torrust-clock.md](../../drafts/1669-09-rename-torrust-tracker-clock-to-torrust-clock.md) | TODO | Rule P; published on crates.io; no blockers; prerequisite for SI-13 | | SI-10 | #TBD — Rename `torrust-tracker-located-error` to `torrust-located-error` | [docs/issues/drafts/1669-10-rename-torrust-tracker-located-error-to-torrust-located-error.md](../../drafts/1669-10-rename-torrust-tracker-located-error-to-torrust-located-error.md) | TODO | Rule P; published on crates.io; no blockers | | SI-11 | #TBD — Update all package READMEs | [docs/issues/drafts/1669-11-update-all-package-readmes.md](../../drafts/1669-11-update-all-package-readmes.md) | TODO | Documentation; requires SI-07–SI-10; before SI-12 | diff --git a/docs/issues/drafts/1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md b/docs/issues/open/1819-1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md similarity index 77% rename from docs/issues/drafts/1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md rename to docs/issues/open/1819-1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md index 0a2660e2b..24f3676d5 100644 --- a/docs/issues/drafts/1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md +++ b/docs/issues/open/1819-1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md @@ -1,11 +1,11 @@ --- doc-type: issue issue-type: task -status: draft +status: open priority: p2 -github-issue: null -spec-path: docs/issues/drafts/1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md -branch: null +github-issue: 1819 +spec-path: docs/issues/open/1819-1669-08-rename-torrust-tracker-metrics-to-torrust-metrics.md +branch: 1819-rename-torrust-tracker-metrics-to-torrust-metrics related-pr: null last-updated-utc: 2026-05-15 12:00 semantic-links: @@ -21,7 +21,7 @@ semantic-links: -# Issue #[To be assigned] - Rename `torrust-tracker-metrics` to `torrust-metrics` +# Issue #1819 - Rename `torrust-tracker-metrics` to `torrust-metrics` ## Goal @@ -76,14 +76,14 @@ Status values: `TODO`, `IN_PROGRESS`, `BLOCKED`, `DONE`. | ID | Status | Task | Notes / Expected Output | | --- | ------ | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| T1 | TODO | Rename `name` in `packages/metrics/Cargo.toml` | `name = "torrust-metrics"` | -| T2 | TODO | Update root `Cargo.toml` workspace dependency key | `torrust-metrics = { version = ..., path = "packages/metrics" }` | -| T3 | TODO | Update all dependent package `Cargo.toml` files (7 packages) | Replace `torrust-tracker-metrics` key with `torrust-metrics` | -| T4 | TODO | Update Rust source `use` / path references (`torrust_tracker_metrics::` → `torrust_metrics::`) | Affects package sources and integration tests | -| T5 | TODO | Update prose in `packages/AGENTS.md`, `AGENTS.md`, `docs/packages.md`, `packages/metrics/README.md` | Crate name and any inline code snippets | -| T6 | TODO | Run `cargo build --workspace` and `cargo test --workspace` | Clean build and all tests pass | -| T7 | TODO | Run `linter all` | Exit code `0` | -| T8 | TODO | Update EPIC #1669 `Package Inventory` and `Desired Package State` tables | Move `torrust-metrics` from `torrust-tracker-` to `torrust-`; drop `Renamed from` note | +| T1 | DONE | Rename `name` in `packages/metrics/Cargo.toml` | `name = "torrust-metrics"` | +| T2 | DONE | Update root `Cargo.toml` workspace dependency key | `torrust-metrics = { version = ..., path = "packages/metrics" }` | +| T3 | DONE | Update all dependent package `Cargo.toml` files (7 packages) | Replace `torrust-tracker-metrics` key with `torrust-metrics` | +| T4 | DONE | Update Rust source `use` / path references (`torrust_tracker_metrics::` → `torrust_metrics::`) | Affects package sources and integration tests | +| T5 | DONE | Update prose in `packages/AGENTS.md`, `AGENTS.md`, `docs/packages.md`, `packages/metrics/README.md` | Crate name and any inline code snippets | +| T6 | DONE | Run `cargo build --workspace` and `cargo test --workspace` | Clean build and all tests pass | +| T7 | DONE | Run `linter all` | Exit code `0` | +| T8 | DONE | Update EPIC #1669 `Package Inventory` and `Desired Package State` tables | Move `torrust-metrics` from `torrust-tracker-` to `torrust-`; drop `Renamed from` note | **Dependent packages to update in T3** (7 files): @@ -99,12 +99,12 @@ Status values: `TODO`, `IN_PROGRESS`, `BLOCKED`, `DONE`. ### Workflow Checkpoints -- [ ] Spec drafted in `docs/issues/drafts/` -- [ ] Spec reviewed and approved by user/maintainer -- [ ] GitHub issue created and issue number added to this spec -- [ ] Spec moved to `docs/issues/open/` with issue number prefix -- [ ] Implementation completed -- [ ] Automatic verification completed (`linter all`, `cargo test --workspace`) +- [x] Spec drafted in `docs/issues/drafts/` +- [x] Spec reviewed and approved by user/maintainer +- [x] GitHub issue created and issue number added to this spec +- [x] Spec moved to `docs/issues/open/` with issue number prefix +- [x] Implementation completed +- [x] Automatic verification completed (`linter all`, `cargo test --workspace`) - [ ] Manual verification scenarios executed and recorded - [ ] Acceptance criteria reviewed after implementation and updated with evidence - [ ] EPIC #1669 Active Subissues table updated to `DONE` @@ -113,17 +113,19 @@ Status values: `TODO`, `IN_PROGRESS`, `BLOCKED`, `DONE`. ### Progress Log - 2026-05-15 12:00 UTC - josecelano - Spec drafted as subissue of EPIC #1669 +- 2026-05-21 UTC - josecelano - GitHub issue #1819 created; spec moved to open/ +- 2026-05-21 UTC - josecelano - Implementation complete; build and tests pass; linter all passes ## Acceptance Criteria -- [ ] `packages/metrics/Cargo.toml` declares `name = "torrust-metrics"`. -- [ ] No `Cargo.toml` file in the workspace references `torrust-tracker-metrics`. -- [ ] No Rust source file in the workspace uses `torrust_tracker_metrics::`. -- [ ] `cargo build --workspace` succeeds with zero errors. -- [ ] `cargo test --workspace` passes with zero failures. -- [ ] `linter all` exits with code `0`. -- [ ] `packages/AGENTS.md`, `AGENTS.md`, `docs/packages.md`, and `packages/metrics/README.md` reflect the new crate name. -- [ ] EPIC #1669 `Desired Package State` table lists `torrust-metrics` in the `torrust-` section. +- [x] `packages/metrics/Cargo.toml` declares `name = "torrust-metrics"`. +- [x] No `Cargo.toml` file in the workspace references `torrust-tracker-metrics`. +- [x] No Rust source file in the workspace uses `torrust_tracker_metrics::`. +- [x] `cargo build --workspace` succeeds with zero errors. +- [x] `cargo test --workspace` passes with zero failures. +- [x] `linter all` exits with code `0`. +- [x] `packages/AGENTS.md`, `AGENTS.md`, `docs/packages.md`, and `packages/metrics/README.md` reflect the new crate name. +- [x] EPIC #1669 `Desired Package State` table lists `torrust-metrics` in the `torrust-` section. ## Verification Plan diff --git a/packages/axum-rest-tracker-api-server/Cargo.toml b/packages/axum-rest-tracker-api-server/Cargo.toml index bbd06e100..ce5410362 100644 --- a/packages/axum-rest-tracker-api-server/Cargo.toml +++ b/packages/axum-rest-tracker-api-server/Cargo.toml @@ -36,7 +36,7 @@ torrust-tracker-rest-api-core = { version = "3.0.0-develop", path = "../rest-tra torrust-server-lib = { version = "3.0.0-develop", path = "../server-lib" } torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" } torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" } -torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" } +torrust-metrics = { version = "3.0.0-develop", path = "../metrics" } torrust-net-primitives = { version = "3.0.0-develop", path = "../net-primitives" } torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" } torrust-tracker-swarm-coordination-registry = { version = "3.0.0-develop", path = "../swarm-coordination-registry" } diff --git a/packages/axum-rest-tracker-api-server/src/v1/context/stats/resources.rs b/packages/axum-rest-tracker-api-server/src/v1/context/stats/resources.rs index 4bf9576ed..da3eab58b 100644 --- a/packages/axum-rest-tracker-api-server/src/v1/context/stats/resources.rs +++ b/packages/axum-rest-tracker-api-server/src/v1/context/stats/resources.rs @@ -1,7 +1,7 @@ //! API resources for the [`stats`](crate::v1::context::stats) //! API context. use serde::{Deserialize, Serialize}; -use torrust_tracker_metrics::metric_collection::MetricCollection; +use torrust_metrics::metric_collection::MetricCollection; use torrust_tracker_rest_api_core::statistics::services::{TrackerLabeledMetrics, TrackerMetrics}; /// It contains all the statistics generated by the tracker. diff --git a/packages/axum-rest-tracker-api-server/src/v1/context/stats/responses.rs b/packages/axum-rest-tracker-api-server/src/v1/context/stats/responses.rs index b9a45fc50..76b1a0154 100644 --- a/packages/axum-rest-tracker-api-server/src/v1/context/stats/responses.rs +++ b/packages/axum-rest-tracker-api-server/src/v1/context/stats/responses.rs @@ -1,7 +1,7 @@ //! API responses for the [`stats`](crate::v1::context::stats) //! API context. use axum::response::{IntoResponse, Json, Response}; -use torrust_tracker_metrics::prometheus::PrometheusSerializable; +use torrust_metrics::prometheus::PrometheusSerializable; use torrust_tracker_rest_api_core::statistics::services::{TrackerLabeledMetrics, TrackerMetrics}; use super::resources::{LabeledStats, Stats}; diff --git a/packages/http-tracker-core/Cargo.toml b/packages/http-tracker-core/Cargo.toml index cbaaba0c3..b38853b3e 100644 --- a/packages/http-tracker-core/Cargo.toml +++ b/packages/http-tracker-core/Cargo.toml @@ -26,7 +26,7 @@ tokio-util = "0.7.15" torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" } torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" } torrust-tracker-events = { version = "3.0.0-develop", path = "../events" } -torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" } +torrust-metrics = { version = "3.0.0-develop", path = "../metrics" } torrust-net-primitives = { version = "3.0.0-develop", path = "../net-primitives" } torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" } torrust-tracker-swarm-coordination-registry = { version = "3.0.0-develop", path = "../swarm-coordination-registry" } diff --git a/packages/http-tracker-core/src/event.rs b/packages/http-tracker-core/src/event.rs index 5bd94e912..beeb4568d 100644 --- a/packages/http-tracker-core/src/event.rs +++ b/packages/http-tracker-core/src/event.rs @@ -2,9 +2,9 @@ use std::net::{IpAddr, SocketAddr}; use bittorrent_http_tracker_protocol::v1::services::peer_ip_resolver::RemoteClientAddr; use bittorrent_primitives::info_hash::InfoHash; +use torrust_metrics::label::{LabelSet, LabelValue}; +use torrust_metrics::label_name; use torrust_net_primitives::service_binding::ServiceBinding; -use torrust_tracker_metrics::label::{LabelSet, LabelValue}; -use torrust_tracker_metrics::label_name; use torrust_tracker_primitives::peer::PeerAnnouncement; /// A HTTP core event. diff --git a/packages/http-tracker-core/src/statistics/event/handler.rs b/packages/http-tracker-core/src/statistics/event/handler.rs index 7b95f4b8e..5f98923c1 100644 --- a/packages/http-tracker-core/src/statistics/event/handler.rs +++ b/packages/http-tracker-core/src/statistics/event/handler.rs @@ -1,8 +1,8 @@ use std::sync::Arc; +use torrust_metrics::label::{LabelSet, LabelValue}; +use torrust_metrics::{label_name, metric_name}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::{LabelSet, LabelValue}; -use torrust_tracker_metrics::{label_name, metric_name}; use crate::event::Event; use crate::statistics::HTTP_TRACKER_CORE_REQUESTS_RECEIVED_TOTAL; diff --git a/packages/http-tracker-core/src/statistics/metrics.rs b/packages/http-tracker-core/src/statistics/metrics.rs index ee12f32c2..a4ca67342 100644 --- a/packages/http-tracker-core/src/statistics/metrics.rs +++ b/packages/http-tracker-core/src/statistics/metrics.rs @@ -1,10 +1,10 @@ use serde::Serialize; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::aggregate::sum::Sum; +use torrust_metrics::metric_collection::{Error, MetricCollection}; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::aggregate::sum::Sum; -use torrust_tracker_metrics::metric_collection::{Error, MetricCollection}; -use torrust_tracker_metrics::metric_name; use crate::statistics::HTTP_TRACKER_CORE_REQUESTS_RECEIVED_TOTAL; diff --git a/packages/http-tracker-core/src/statistics/mod.rs b/packages/http-tracker-core/src/statistics/mod.rs index 3ae355471..741d8489a 100644 --- a/packages/http-tracker-core/src/statistics/mod.rs +++ b/packages/http-tracker-core/src/statistics/mod.rs @@ -3,9 +3,9 @@ pub mod metrics; pub mod repository; use metrics::Metrics; -use torrust_tracker_metrics::metric::description::MetricDescription; -use torrust_tracker_metrics::metric_name; -use torrust_tracker_metrics::unit::Unit; +use torrust_metrics::metric::description::MetricDescription; +use torrust_metrics::metric_name; +use torrust_metrics::unit::Unit; pub const HTTP_TRACKER_CORE_REQUESTS_RECEIVED_TOTAL: &str = "http_tracker_core_requests_received_total"; diff --git a/packages/http-tracker-core/src/statistics/repository.rs b/packages/http-tracker-core/src/statistics/repository.rs index 718735ff0..f6bad024d 100644 --- a/packages/http-tracker-core/src/statistics/repository.rs +++ b/packages/http-tracker-core/src/statistics/repository.rs @@ -1,10 +1,10 @@ use std::sync::Arc; use tokio::sync::{RwLock, RwLockReadGuard}; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::Error; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::Error; use super::describe_metrics; use super::metrics::Metrics; diff --git a/packages/metrics/Cargo.toml b/packages/metrics/Cargo.toml index 548ffa698..ecc079d47 100644 --- a/packages/metrics/Cargo.toml +++ b/packages/metrics/Cargo.toml @@ -1,7 +1,7 @@ [package] -description = "A library with the primitive types shared by the Torrust tracker packages." +description = "Prometheus metrics integration library providing type-safe metric collection and aggregation." keywords = [ "api", "library", "metrics" ] -name = "torrust-tracker-metrics" +name = "torrust-metrics" readme = "README.md" authors.workspace = true diff --git a/packages/metrics/README.md b/packages/metrics/README.md index 3d1d94c5f..837b74dc7 100644 --- a/packages/metrics/README.md +++ b/packages/metrics/README.md @@ -1,10 +1,10 @@ -# Torrust Tracker Metrics +# Torrust Metrics -A comprehensive metrics library providing type-safe metric collection, aggregation, and Prometheus export functionality for the [Torrust Tracker](https://github.com/torrust/torrust-tracker) ecosystem. +A comprehensive metrics library providing type-safe metric collection, aggregation, and Prometheus export functionality. Reusable across any Rust project in the Torrust organisation. ## Overview -This library offers a robust metrics system designed specifically for tracking and monitoring BitTorrent tracker performance. It provides type-safe metric collection with support for labels, time-series data, and multiple export formats including Prometheus. +This library offers a robust metrics system for tracking and monitoring application performance. It provides type-safe metric collection with support for labels, time-series data, and multiple export formats including Prometheus. ## Key Features @@ -20,15 +20,17 @@ This library offers a robust metrics system designed specifically for tracking a Add this to your `Cargo.toml`: +> **Note**: This crate is not yet published on crates.io. Use a path or git dependency. + ```toml [dependencies] -torrust-tracker-metrics = "3.0.0" +torrust-metrics = { path = "packages/metrics" } ``` ### Basic Usage ```rust -use torrust_tracker_metrics::{ +use torrust_metrics::{ metric_collection::MetricCollection, label::{LabelSet, LabelValue}, metric_name, label_name, @@ -67,7 +69,7 @@ println!("{}", prometheus_output); ### Metric Aggregation ```rust -use torrust_tracker_metrics::metric_collection::aggregate::{Sum, Avg}; +use torrust_metrics::metric_collection::aggregate::{Sum, Avg}; // Sum all counter values matching specific labels let total_requests = metrics.sum( @@ -105,7 +107,7 @@ The library uses Rust's type system to ensure metric safety: // Counter operations return u64 let counter_sum: Option = counter_collection.sum(&name, &labels); -// Gauge operations return f64 +// Gauge operations return f64 let gauge_sum: Option = gauge_collection.sum(&name, &labels); // Mixed collections convert to f64 for compatibility @@ -117,7 +119,7 @@ let mixed_sum: Option = metric_collection.sum(&name, &labels); ```output src/ ├── counter.rs # Counter metric type -├── gauge.rs # Gauge metric type +├── gauge.rs # Gauge metric type ├── metric/ # Generic metric container │ ├── mod.rs │ ├── name.rs # Metric naming @@ -138,8 +140,8 @@ src/ ## Documentation -- [Crate documentation](https://docs.rs/torrust-tracker-metrics) -- [API Reference](https://docs.rs/torrust-tracker-metrics/latest/torrust_tracker_metrics/) +- [Crate documentation](https://docs.rs/torrust-metrics) +- [API Reference](https://docs.rs/torrust-metrics/latest/torrust_metrics/) ## Development @@ -148,14 +150,14 @@ src/ Run basic coverage report: ```console -cargo llvm-cov --package torrust-tracker-metrics +cargo llvm-cov --package torrust-metrics ``` Generate LCOV report (for IDE integration): ```console mkdir -p ./.coverage -cargo llvm-cov --package torrust-tracker-metrics --lcov --output-path=./.coverage/lcov.info +cargo llvm-cov --package torrust-metrics --lcov --output-path=./.coverage/lcov.info ``` Generate detailed HTML coverage report: @@ -164,7 +166,7 @@ Generate detailed HTML coverage report: ```console mkdir -p ./.coverage -cargo llvm-cov --package torrust-tracker-metrics --html --output-dir ./.coverage +cargo llvm-cov --package torrust-metrics --html --output-dir ./.coverage ``` Open the coverage report in your browser: diff --git a/packages/rest-tracker-api-core/Cargo.toml b/packages/rest-tracker-api-core/Cargo.toml index a8f4d5506..658914098 100644 --- a/packages/rest-tracker-api-core/Cargo.toml +++ b/packages/rest-tracker-api-core/Cargo.toml @@ -20,7 +20,7 @@ bittorrent-udp-tracker-core = { version = "3.0.0-develop", path = "../udp-tracke tokio = { version = "1", features = [ "macros", "net", "rt-multi-thread", "signal", "sync" ] } tokio-util = "0.7.15" torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" } -torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" } +torrust-metrics = { version = "3.0.0-develop", path = "../metrics" } torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" } torrust-tracker-swarm-coordination-registry = { version = "3.0.0-develop", path = "../swarm-coordination-registry" } torrust-tracker-udp-server = { version = "3.0.0-develop", path = "../udp-tracker-server" } diff --git a/packages/rest-tracker-api-core/src/statistics/services.rs b/packages/rest-tracker-api-core/src/statistics/services.rs index 587c16991..77964636b 100644 --- a/packages/rest-tracker-api-core/src/statistics/services.rs +++ b/packages/rest-tracker-api-core/src/statistics/services.rs @@ -4,7 +4,7 @@ use bittorrent_tracker_core::torrent::repository::in_memory::InMemoryTorrentRepo use bittorrent_udp_tracker_core::services::banning::BanService; use bittorrent_udp_tracker_core::{self}; use tokio::sync::RwLock; -use torrust_tracker_metrics::metric_collection::MetricCollection; +use torrust_metrics::metric_collection::MetricCollection; use torrust_tracker_udp_server::statistics::{self as udp_server_statistics}; use super::metrics::TorrentsMetrics; diff --git a/packages/swarm-coordination-registry/Cargo.toml b/packages/swarm-coordination-registry/Cargo.toml index 494145647..52afa5201 100644 --- a/packages/swarm-coordination-registry/Cargo.toml +++ b/packages/swarm-coordination-registry/Cargo.toml @@ -27,7 +27,7 @@ tokio-util = "0.7.15" torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" } torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" } torrust-tracker-events = { version = "3.0.0-develop", path = "../events" } -torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" } +torrust-metrics = { version = "3.0.0-develop", path = "../metrics" } torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" } tracing = "0" diff --git a/packages/swarm-coordination-registry/src/statistics/activity_metrics_updater.rs b/packages/swarm-coordination-registry/src/statistics/activity_metrics_updater.rs index ee9aa2848..27961e080 100644 --- a/packages/swarm-coordination-registry/src/statistics/activity_metrics_updater.rs +++ b/packages/swarm-coordination-registry/src/statistics/activity_metrics_updater.rs @@ -3,10 +3,10 @@ use std::sync::Arc; use chrono::Utc; use tokio::task::JoinHandle; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; use torrust_tracker_clock::clock::Time; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric_name; use tracing::instrument; use super::repository::Repository; diff --git a/packages/swarm-coordination-registry/src/statistics/event/handler.rs b/packages/swarm-coordination-registry/src/statistics/event/handler.rs index 238086909..ccc549d8a 100644 --- a/packages/swarm-coordination-registry/src/statistics/event/handler.rs +++ b/packages/swarm-coordination-registry/src/statistics/event/handler.rs @@ -1,8 +1,8 @@ use std::sync::Arc; +use torrust_metrics::label::{LabelSet, LabelValue}; +use torrust_metrics::{label_name, metric_name}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::{LabelSet, LabelValue}; -use torrust_tracker_metrics::{label_name, metric_name}; use torrust_tracker_primitives::peer::Peer; use crate::event::Event; @@ -151,7 +151,7 @@ pub async fn handle_event(event: Event, stats_repository: &Arc, now: Event::PeerDownloadCompleted { info_hash, peer } => { tracing::debug!(info_hash = ?info_hash, peer = ?peer, "Peer download completed", ); - let _unused: Result<(), torrust_tracker_metrics::metric_collection::Error> = stats_repository + let _unused: Result<(), torrust_metrics::metric_collection::Error> = stats_repository .increment_counter( &metric_name!(SWARM_COORDINATION_REGISTRY_TORRENTS_DOWNLOADS_TOTAL), &label_set_for_peer(&peer), @@ -175,8 +175,8 @@ pub(crate) fn label_set_for_peer(peer: &Peer) -> LabelSet { mod tests { use std::sync::Arc; - use torrust_tracker_metrics::label::LabelSet; - use torrust_tracker_metrics::metric::MetricName; + use torrust_metrics::label::LabelSet; + use torrust_metrics::metric::MetricName; use torrust_tracker_primitives::NumberOfBytes; use torrust_tracker_primitives::peer::{Peer, PeerRole}; @@ -250,10 +250,10 @@ mod tests { use std::sync::Arc; + use torrust_metrics::label::LabelSet; + use torrust_metrics::metric_name; use torrust_tracker_clock::clock::stopped::Stopped; use torrust_tracker_clock::clock::{self, Time}; - use torrust_tracker_metrics::label::LabelSet; - use torrust_tracker_metrics::metric_name; use crate::CurrentClock; use crate::event::Event; @@ -370,9 +370,9 @@ mod tests { mod for_peer_metrics { use std::sync::Arc; + use torrust_metrics::metric_name; use torrust_tracker_clock::clock::stopped::Stopped; use torrust_tracker_clock::clock::{self, Time}; - use torrust_tracker_metrics::metric_name; use crate::CurrentClock; use crate::event::Event; @@ -390,10 +390,10 @@ mod tests { use std::sync::Arc; use rstest::rstest; + use torrust_metrics::label::LabelValue; + use torrust_metrics::{label_name, metric_name}; use torrust_tracker_clock::clock::stopped::Stopped; use torrust_tracker_clock::clock::{self, Time}; - use torrust_tracker_metrics::label::LabelValue; - use torrust_tracker_metrics::{label_name, metric_name}; use torrust_tracker_primitives::peer::PeerRole; use crate::CurrentClock; @@ -609,10 +609,10 @@ mod tests { use std::sync::Arc; use rstest::rstest; + use torrust_metrics::label::LabelValue; + use torrust_metrics::{label_name, metric_name}; use torrust_tracker_clock::clock::stopped::Stopped; use torrust_tracker_clock::clock::{self, Time}; - use torrust_tracker_metrics::label::LabelValue; - use torrust_tracker_metrics::{label_name, metric_name}; use torrust_tracker_primitives::peer::PeerRole; use crate::CurrentClock; diff --git a/packages/swarm-coordination-registry/src/statistics/metrics.rs b/packages/swarm-coordination-registry/src/statistics/metrics.rs index 64686e9e6..77e4fb8bf 100644 --- a/packages/swarm-coordination-registry/src/statistics/metrics.rs +++ b/packages/swarm-coordination-registry/src/statistics/metrics.rs @@ -1,8 +1,8 @@ use serde::Serialize; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::{Error, MetricCollection}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::{Error, MetricCollection}; /// Metrics collected by the torrent repository. #[derive(Debug, Clone, PartialEq, Default, Serialize)] diff --git a/packages/swarm-coordination-registry/src/statistics/mod.rs b/packages/swarm-coordination-registry/src/statistics/mod.rs index a4bf4c018..a3002e60f 100644 --- a/packages/swarm-coordination-registry/src/statistics/mod.rs +++ b/packages/swarm-coordination-registry/src/statistics/mod.rs @@ -4,9 +4,9 @@ pub mod metrics; pub mod repository; use metrics::Metrics; -use torrust_tracker_metrics::metric::description::MetricDescription; -use torrust_tracker_metrics::metric_name; -use torrust_tracker_metrics::unit::Unit; +use torrust_metrics::metric::description::MetricDescription; +use torrust_metrics::metric_name; +use torrust_metrics::unit::Unit; // Torrent metrics diff --git a/packages/swarm-coordination-registry/src/statistics/repository.rs b/packages/swarm-coordination-registry/src/statistics/repository.rs index 127dcf147..d5e625fce 100644 --- a/packages/swarm-coordination-registry/src/statistics/repository.rs +++ b/packages/swarm-coordination-registry/src/statistics/repository.rs @@ -1,10 +1,10 @@ use std::sync::Arc; use tokio::sync::{RwLock, RwLockReadGuard}; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::Error; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::Error; use super::describe_metrics; use super::metrics::Metrics; diff --git a/packages/tracker-core/Cargo.toml b/packages/tracker-core/Cargo.toml index c241084de..f96b873df 100644 --- a/packages/tracker-core/Cargo.toml +++ b/packages/tracker-core/Cargo.toml @@ -36,7 +36,7 @@ torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" } torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" } torrust-tracker-events = { version = "3.0.0-develop", path = "../events" } torrust-tracker-located-error = { version = "3.0.0-develop", path = "../located-error" } -torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" } +torrust-metrics = { version = "3.0.0-develop", path = "../metrics" } torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" } torrust-tracker-swarm-coordination-registry = { version = "3.0.0-develop", path = "../swarm-coordination-registry" } testcontainers = "0" diff --git a/packages/tracker-core/src/statistics/event/handler.rs b/packages/tracker-core/src/statistics/event/handler.rs index ff70ea975..cac931360 100644 --- a/packages/tracker-core/src/statistics/event/handler.rs +++ b/packages/tracker-core/src/statistics/event/handler.rs @@ -1,8 +1,8 @@ use std::sync::Arc; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric_name; use torrust_tracker_swarm_coordination_registry::event::Event; use crate::statistics::TRACKER_CORE_PERSISTENT_TORRENTS_DOWNLOADS_TOTAL; diff --git a/packages/tracker-core/src/statistics/metrics.rs b/packages/tracker-core/src/statistics/metrics.rs index 8925dc2cd..fd08fe55a 100644 --- a/packages/tracker-core/src/statistics/metrics.rs +++ b/packages/tracker-core/src/statistics/metrics.rs @@ -1,8 +1,8 @@ use serde::Serialize; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::{Error, MetricCollection}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::{Error, MetricCollection}; /// Metrics collected by the torrent repository. #[derive(Debug, Clone, PartialEq, Default, Serialize)] diff --git a/packages/tracker-core/src/statistics/mod.rs b/packages/tracker-core/src/statistics/mod.rs index fdb8e8fd4..8bf189cbb 100644 --- a/packages/tracker-core/src/statistics/mod.rs +++ b/packages/tracker-core/src/statistics/mod.rs @@ -4,9 +4,9 @@ pub mod persisted; pub mod repository; use metrics::Metrics; -use torrust_tracker_metrics::metric::description::MetricDescription; -use torrust_tracker_metrics::metric_name; -use torrust_tracker_metrics::unit::Unit; +use torrust_metrics::metric::description::MetricDescription; +use torrust_metrics::metric_name; +use torrust_metrics::unit::Unit; // Torrent metrics diff --git a/packages/tracker-core/src/statistics/persisted/mod.rs b/packages/tracker-core/src/statistics/persisted/mod.rs index 0b108e3fc..313d32e7f 100644 --- a/packages/tracker-core/src/statistics/persisted/mod.rs +++ b/packages/tracker-core/src/statistics/persisted/mod.rs @@ -3,9 +3,9 @@ pub mod downloads; use std::sync::Arc; use thiserror::Error; +use torrust_metrics::label::LabelSet; +use torrust_metrics::{metric_collection, metric_name}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::{metric_collection, metric_name}; use super::TRACKER_CORE_PERSISTENT_TORRENTS_DOWNLOADS_TOTAL; use super::repository::Repository; diff --git a/packages/tracker-core/src/statistics/repository.rs b/packages/tracker-core/src/statistics/repository.rs index 5ccb62d2e..ddc5c642e 100644 --- a/packages/tracker-core/src/statistics/repository.rs +++ b/packages/tracker-core/src/statistics/repository.rs @@ -1,11 +1,11 @@ use std::sync::Arc; use tokio::sync::{RwLock, RwLockReadGuard}; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::Error; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::Error; -use torrust_tracker_metrics::metric_name; use super::metrics::Metrics; use super::{TRACKER_CORE_PERSISTENT_TORRENTS_DOWNLOADS_TOTAL, describe_metrics}; diff --git a/packages/tracker-core/tests/common/test_env.rs b/packages/tracker-core/tests/common/test_env.rs index 3aa57ec47..c0e3e6698 100644 --- a/packages/tracker-core/tests/common/test_env.rs +++ b/packages/tracker-core/tests/common/test_env.rs @@ -7,10 +7,10 @@ use bittorrent_tracker_core::container::TrackerCoreContainer; use bittorrent_tracker_core::statistics::persisted::load_persisted_metrics; use tokio::task::yield_now; use tokio_util::sync::CancellationToken; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; use torrust_tracker_clock::DurationSinceUnixEpoch; use torrust_tracker_configuration::Core; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; use torrust_tracker_primitives::peer::Peer; use torrust_tracker_primitives::swarm_metadata::SwarmMetadata; use torrust_tracker_primitives::{AnnounceData, AnnounceEvent, ScrapeData}; diff --git a/packages/udp-tracker-core/Cargo.toml b/packages/udp-tracker-core/Cargo.toml index 6fc1b6d1d..84c5f5183 100644 --- a/packages/udp-tracker-core/Cargo.toml +++ b/packages/udp-tracker-core/Cargo.toml @@ -30,7 +30,7 @@ tokio-util = "0.7.15" torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" } torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" } torrust-tracker-events = { version = "3.0.0-develop", path = "../events" } -torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" } +torrust-metrics = { version = "3.0.0-develop", path = "../metrics" } torrust-net-primitives = { version = "3.0.0-develop", path = "../net-primitives" } torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" } torrust-tracker-swarm-coordination-registry = { version = "3.0.0-develop", path = "../swarm-coordination-registry" } diff --git a/packages/udp-tracker-core/src/event.rs b/packages/udp-tracker-core/src/event.rs index 482ea68c0..1afc68dcf 100644 --- a/packages/udp-tracker-core/src/event.rs +++ b/packages/udp-tracker-core/src/event.rs @@ -1,9 +1,9 @@ use std::net::SocketAddr; use bittorrent_primitives::info_hash::InfoHash; +use torrust_metrics::label::{LabelSet, LabelValue}; +use torrust_metrics::label_name; use torrust_net_primitives::service_binding::ServiceBinding; -use torrust_tracker_metrics::label::{LabelSet, LabelValue}; -use torrust_tracker_metrics::label_name; use torrust_tracker_primitives::peer::PeerAnnouncement; /// A UDP core event. diff --git a/packages/udp-tracker-core/src/statistics/event/handler.rs b/packages/udp-tracker-core/src/statistics/event/handler.rs index 1d641e075..3c0666c6b 100644 --- a/packages/udp-tracker-core/src/statistics/event/handler.rs +++ b/packages/udp-tracker-core/src/statistics/event/handler.rs @@ -1,6 +1,6 @@ +use torrust_metrics::label::{LabelSet, LabelValue}; +use torrust_metrics::{label_name, metric_name}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::{LabelSet, LabelValue}; -use torrust_tracker_metrics::{label_name, metric_name}; use crate::event::Event; use crate::statistics::UDP_TRACKER_CORE_REQUESTS_RECEIVED_TOTAL; diff --git a/packages/udp-tracker-core/src/statistics/metrics.rs b/packages/udp-tracker-core/src/statistics/metrics.rs index bc9a4b221..85041a15c 100644 --- a/packages/udp-tracker-core/src/statistics/metrics.rs +++ b/packages/udp-tracker-core/src/statistics/metrics.rs @@ -1,10 +1,10 @@ use serde::Serialize; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::aggregate::sum::Sum; +use torrust_metrics::metric_collection::{Error, MetricCollection}; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::aggregate::sum::Sum; -use torrust_tracker_metrics::metric_collection::{Error, MetricCollection}; -use torrust_tracker_metrics::metric_name; use crate::statistics::UDP_TRACKER_CORE_REQUESTS_RECEIVED_TOTAL; diff --git a/packages/udp-tracker-core/src/statistics/mod.rs b/packages/udp-tracker-core/src/statistics/mod.rs index fec76069e..dedb2ed09 100644 --- a/packages/udp-tracker-core/src/statistics/mod.rs +++ b/packages/udp-tracker-core/src/statistics/mod.rs @@ -4,9 +4,9 @@ pub mod repository; pub mod services; use metrics::Metrics; -use torrust_tracker_metrics::metric::description::MetricDescription; -use torrust_tracker_metrics::metric_name; -use torrust_tracker_metrics::unit::Unit; +use torrust_metrics::metric::description::MetricDescription; +use torrust_metrics::metric_name; +use torrust_metrics::unit::Unit; const UDP_TRACKER_CORE_REQUESTS_RECEIVED_TOTAL: &str = "udp_tracker_core_requests_received_total"; diff --git a/packages/udp-tracker-core/src/statistics/repository.rs b/packages/udp-tracker-core/src/statistics/repository.rs index 3a9514ce8..f0debc179 100644 --- a/packages/udp-tracker-core/src/statistics/repository.rs +++ b/packages/udp-tracker-core/src/statistics/repository.rs @@ -1,10 +1,10 @@ use std::sync::Arc; use tokio::sync::{RwLock, RwLockReadGuard}; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::Error; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::Error; use super::describe_metrics; use super::metrics::Metrics; diff --git a/packages/udp-tracker-server/Cargo.toml b/packages/udp-tracker-server/Cargo.toml index 4265812b6..697b6d831 100644 --- a/packages/udp-tracker-server/Cargo.toml +++ b/packages/udp-tracker-server/Cargo.toml @@ -31,7 +31,7 @@ torrust-server-lib = { version = "3.0.0-develop", path = "../server-lib" } torrust-tracker-clock = { version = "3.0.0-develop", path = "../clock" } torrust-tracker-configuration = { version = "3.0.0-develop", path = "../configuration" } torrust-tracker-events = { version = "3.0.0-develop", path = "../events" } -torrust-tracker-metrics = { version = "3.0.0-develop", path = "../metrics" } +torrust-metrics = { version = "3.0.0-develop", path = "../metrics" } torrust-net-primitives = { version = "3.0.0-develop", path = "../net-primitives" } torrust-tracker-primitives = { version = "3.0.0-develop", path = "../primitives" } torrust-tracker-swarm-coordination-registry = { version = "3.0.0-develop", path = "../swarm-coordination-registry" } diff --git a/packages/udp-tracker-server/src/banning/event/handler.rs b/packages/udp-tracker-server/src/banning/event/handler.rs index 3ebefafa8..77c143b6b 100644 --- a/packages/udp-tracker-server/src/banning/event/handler.rs +++ b/packages/udp-tracker-server/src/banning/event/handler.rs @@ -2,9 +2,9 @@ use std::sync::Arc; use bittorrent_udp_tracker_core::services::banning::BanService; use tokio::sync::RwLock; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric_name; use crate::event::{ErrorKind, Event}; use crate::statistics::UDP_TRACKER_SERVER_IPS_BANNED_TOTAL; diff --git a/packages/udp-tracker-server/src/event.rs b/packages/udp-tracker-server/src/event.rs index b2efc5e1f..ccda8f5aa 100644 --- a/packages/udp-tracker-server/src/event.rs +++ b/packages/udp-tracker-server/src/event.rs @@ -6,9 +6,9 @@ use bittorrent_tracker_core::error::{AnnounceError, ScrapeError}; use bittorrent_udp_tracker_core::services::announce::UdpAnnounceError; use bittorrent_udp_tracker_core::services::scrape::UdpScrapeError; use bittorrent_udp_tracker_protocol::AnnounceRequest; +use torrust_metrics::label::{LabelSet, LabelValue}; +use torrust_metrics::label_name; use torrust_net_primitives::service_binding::ServiceBinding; -use torrust_tracker_metrics::label::{LabelSet, LabelValue}; -use torrust_tracker_metrics::label_name; use crate::error::Error; diff --git a/packages/udp-tracker-server/src/statistics/event/handler/error.rs b/packages/udp-tracker-server/src/statistics/event/handler/error.rs index b28cc9d0b..3553ebffe 100644 --- a/packages/udp-tracker-server/src/statistics/event/handler/error.rs +++ b/packages/udp-tracker-server/src/statistics/event/handler/error.rs @@ -1,7 +1,7 @@ use bittorrent_udp_tracker_protocol::PeerClient; +use torrust_metrics::label::LabelSet; +use torrust_metrics::{label_name, metric_name}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::{label_name, metric_name}; use crate::event::{ConnectionContext, ErrorKind, UdpRequestKind}; use crate::statistics::repository::Repository; diff --git a/packages/udp-tracker-server/src/statistics/event/handler/request_aborted.rs b/packages/udp-tracker-server/src/statistics/event/handler/request_aborted.rs index e41c8a0f7..e17eddc00 100644 --- a/packages/udp-tracker-server/src/statistics/event/handler/request_aborted.rs +++ b/packages/udp-tracker-server/src/statistics/event/handler/request_aborted.rs @@ -1,6 +1,6 @@ +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric_name; use crate::event::ConnectionContext; use crate::statistics::UDP_TRACKER_SERVER_REQUESTS_ABORTED_TOTAL; diff --git a/packages/udp-tracker-server/src/statistics/event/handler/request_accepted.rs b/packages/udp-tracker-server/src/statistics/event/handler/request_accepted.rs index 16253576d..f7c97c616 100644 --- a/packages/udp-tracker-server/src/statistics/event/handler/request_accepted.rs +++ b/packages/udp-tracker-server/src/statistics/event/handler/request_accepted.rs @@ -1,6 +1,6 @@ +use torrust_metrics::label::{LabelSet, LabelValue}; +use torrust_metrics::{label_name, metric_name}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::{LabelSet, LabelValue}; -use torrust_tracker_metrics::{label_name, metric_name}; use crate::event::{ConnectionContext, UdpRequestKind}; use crate::statistics::UDP_TRACKER_SERVER_REQUESTS_ACCEPTED_TOTAL; diff --git a/packages/udp-tracker-server/src/statistics/event/handler/request_banned.rs b/packages/udp-tracker-server/src/statistics/event/handler/request_banned.rs index 0d60c5245..87f780bb8 100644 --- a/packages/udp-tracker-server/src/statistics/event/handler/request_banned.rs +++ b/packages/udp-tracker-server/src/statistics/event/handler/request_banned.rs @@ -1,6 +1,6 @@ +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric_name; use crate::event::ConnectionContext; use crate::statistics::UDP_TRACKER_SERVER_REQUESTS_BANNED_TOTAL; diff --git a/packages/udp-tracker-server/src/statistics/event/handler/request_received.rs b/packages/udp-tracker-server/src/statistics/event/handler/request_received.rs index a89b74c39..f946c6a7d 100644 --- a/packages/udp-tracker-server/src/statistics/event/handler/request_received.rs +++ b/packages/udp-tracker-server/src/statistics/event/handler/request_received.rs @@ -1,6 +1,6 @@ +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric_name; use crate::event::ConnectionContext; use crate::statistics::UDP_TRACKER_SERVER_REQUESTS_RECEIVED_TOTAL; diff --git a/packages/udp-tracker-server/src/statistics/event/handler/response_sent.rs b/packages/udp-tracker-server/src/statistics/event/handler/response_sent.rs index eb5c92616..67bb4bcc7 100644 --- a/packages/udp-tracker-server/src/statistics/event/handler/response_sent.rs +++ b/packages/udp-tracker-server/src/statistics/event/handler/response_sent.rs @@ -1,6 +1,6 @@ +use torrust_metrics::label::{LabelSet, LabelValue}; +use torrust_metrics::{label_name, metric_name}; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::{LabelSet, LabelValue}; -use torrust_tracker_metrics::{label_name, metric_name}; use crate::event::{ConnectionContext, UdpRequestKind, UdpResponseKind}; use crate::statistics::UDP_TRACKER_SERVER_RESPONSES_SENT_TOTAL; diff --git a/packages/udp-tracker-server/src/statistics/metrics.rs b/packages/udp-tracker-server/src/statistics/metrics.rs index ba0453317..01ddad28b 100644 --- a/packages/udp-tracker-server/src/statistics/metrics.rs +++ b/packages/udp-tracker-server/src/statistics/metrics.rs @@ -1,13 +1,13 @@ use std::time::Duration; use serde::Serialize; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::aggregate::avg::Avg; +use torrust_metrics::metric_collection::aggregate::sum::Sum; +use torrust_metrics::metric_collection::{Error, MetricCollection}; +use torrust_metrics::metric_name; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::aggregate::avg::Avg; -use torrust_tracker_metrics::metric_collection::aggregate::sum::Sum; -use torrust_tracker_metrics::metric_collection::{Error, MetricCollection}; -use torrust_tracker_metrics::metric_name; use crate::statistics::{ UDP_TRACKER_SERVER_ERRORS_TOTAL, UDP_TRACKER_SERVER_IPS_BANNED_TOTAL, @@ -380,8 +380,8 @@ impl Metrics { #[cfg(test)] mod tests { + use torrust_metrics::metric_name; use torrust_tracker_clock::clock::Time; - use torrust_tracker_metrics::metric_name; use super::*; use crate::CurrentClock; diff --git a/packages/udp-tracker-server/src/statistics/mod.rs b/packages/udp-tracker-server/src/statistics/mod.rs index 6bd35b9a1..7dc5b4a00 100644 --- a/packages/udp-tracker-server/src/statistics/mod.rs +++ b/packages/udp-tracker-server/src/statistics/mod.rs @@ -4,9 +4,9 @@ pub mod repository; pub mod services; use metrics::Metrics; -use torrust_tracker_metrics::metric::description::MetricDescription; -use torrust_tracker_metrics::metric_name; -use torrust_tracker_metrics::unit::Unit; +use torrust_metrics::metric::description::MetricDescription; +use torrust_metrics::metric_name; +use torrust_metrics::unit::Unit; pub const UDP_TRACKER_SERVER_REQUESTS_ABORTED_TOTAL: &str = "udp_tracker_server_requests_aborted_total"; pub const UDP_TRACKER_SERVER_REQUESTS_BANNED_TOTAL: &str = "udp_tracker_server_requests_banned_total"; diff --git a/packages/udp-tracker-server/src/statistics/repository.rs b/packages/udp-tracker-server/src/statistics/repository.rs index 68a9c7780..beac24fd6 100644 --- a/packages/udp-tracker-server/src/statistics/repository.rs +++ b/packages/udp-tracker-server/src/statistics/repository.rs @@ -2,10 +2,10 @@ use std::sync::Arc; use std::time::Duration; use tokio::sync::{RwLock, RwLockReadGuard}; +use torrust_metrics::label::LabelSet; +use torrust_metrics::metric::MetricName; +use torrust_metrics::metric_collection::Error; use torrust_tracker_clock::DurationSinceUnixEpoch; -use torrust_tracker_metrics::label::LabelSet; -use torrust_tracker_metrics::metric::MetricName; -use torrust_tracker_metrics::metric_collection::Error; use super::describe_metrics; use super::metrics::Metrics; @@ -94,9 +94,9 @@ mod tests { use core::f64; use std::time::Duration; + use torrust_metrics::metric_collection::aggregate::sum::Sum; + use torrust_metrics::metric_name; use torrust_tracker_clock::clock::Time; - use torrust_tracker_metrics::metric_collection::aggregate::sum::Sum; - use torrust_tracker_metrics::metric_name; use super::*; use crate::CurrentClock; @@ -590,8 +590,8 @@ mod tests { use std::time::Duration; use tokio::task::JoinHandle; + use torrust_metrics::metric_name; use torrust_tracker_clock::clock::Time; - use torrust_tracker_metrics::metric_name; use super::*; use crate::CurrentClock;