Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
951 commits
Select commit Hold shift + click to select a range
9be7c68
refactor: [#1491] remove redundant type aliases
josecelano May 1, 2025
df00533
refactor: [#1491] rename main types in torrent-repository pkg
josecelano May 1, 2025
21b18e4
refactor: [#1491] move functionality from InMemoryTorrentRepository t…
josecelano May 2, 2025
32acbb1
refactor: [#1491] rename method
josecelano May 2, 2025
09bbef7
refactor: [#1491] rename varaible
josecelano May 2, 2025
1f5d18f
refactor: [#1491] remove duplicate code
josecelano May 2, 2025
7215f6e
refactor: [#1491] clean tests in torrent-repository
josecelano May 2, 2025
a5c6e08
Merge torrust/torrust-tracker#1492: Overhaul stats: Simplify torrent-…
josecelano May 2, 2025
62e57ae
chore(deps): udpate dependencies
josecelano May 2, 2025
e1fd309
Merge torrust/torrust-tracker#1494: Update dependencies
josecelano May 2, 2025
cb51ec9
docs: [#1495] improve torrent-repository pkg readme
josecelano May 5, 2025
15c14c5
refactor: [#1495] rename PeerList to Swarm
josecelano May 5, 2025
2882705
refactor: [#1495] use SocketAddr as key for peers in Swarm
josecelano May 5, 2025
0a4c805
refactor: [#1495] add SwarmMetadata to Swarm
josecelano May 6, 2025
61560a8
chore: add gitignore to torrent-repository pkg
josecelano May 6, 2025
f73c566
refactor: [#1495] some renamings in Swarm type
josecelano May 6, 2025
82bbfe3
refactor: [#1495] move logic from TackedTorrent to Swarm
josecelano May 6, 2025
9b2392e
refactor: [#1495] make TrackedTorrent fields private
josecelano May 6, 2025
3fb117b
refactor: [#1495] initialize number of downloads in Swarm to persiste…
josecelano May 6, 2025
ec597f0
refactor: [#1495] get the number of downloads from Swarm instead of f…
josecelano May 6, 2025
23ce6e4
refactor: [#1495]remove unused field in TrackedTorrent
josecelano May 6, 2025
ef7292f
refactor: [#1495] move logic from TrackedTorrent to Swarm
josecelano May 6, 2025
b6afed5
refactor: [#1495] rename methods
josecelano May 6, 2025
ca9937d
refactor: [#1495] remove unneeded TrackedTorrent (wrapper over Swarm)
josecelano May 6, 2025
030ae26
refactor: [#1495] reorganize torrent-repository mod
josecelano May 6, 2025
78d4b83
refactor: [#1495] rename TrackedTorrentHandle to SwarmHandle
josecelano May 6, 2025
0411a9a
refactor: [#1495] rename TorrentRepository to Swarms
josecelano May 6, 2025
0f4596e
fix: [#1495] formatting
josecelano May 6, 2025
34c159a
refactor: [#1495] update method Swarm::meets_retaining_policy
josecelano May 6, 2025
728de22
docs: [#1495] add todo
josecelano May 6, 2025
c68570c
Merge torrust/torrust-tracker#1497: Overhaul stats: Improve torrent-r…
josecelano May 6, 2025
6f5cb27
refactor: [#1495] remove test for SwarmHandle
josecelano May 7, 2025
5413e59
refactor: [#1495] renamings to follow latest changes in torrent-repos…
josecelano May 7, 2025
6d50fa0
refactor: [#1495] remove panics from Swarms type
josecelano May 7, 2025
31f1fbf
refactgor: [#1495] make field private
josecelano May 7, 2025
5c2c1e0
feat: [#1495] add len and is_empty methods to Swarms type
josecelano May 7, 2025
5b3142f
refactor: [#1495] refactor Swarms::upsert_peer
josecelano May 7, 2025
4d91738
refactor: [#1495] renamings in torrent-repository pkg
josecelano May 7, 2025
ec3cac9
Merge torrust/torrust-tracker#1500: Overhaul stats: Improve torrent-r…
josecelano May 7, 2025
4b5e914
chore(deps): update dependencies
josecelano May 7, 2025
3adbb89
Merge torrust/torrust-tracker#1501: Update dependencies
josecelano May 7, 2025
32a37d1
fix: [#1502] bug in total number of downloads for all torrents metric
josecelano May 7, 2025
5ee9efb
Merge torrust/torrust-tracker#1503: Overhaul stats: fix bug in downlo…
josecelano May 7, 2025
57b4822
refactor: remove debug print
josecelano May 8, 2025
f11dfcc
feat: [#1502] adding logs for debugging
josecelano May 8, 2025
627d535
Merge torrust/torrust-tracker#1508: Add logs for torrent cleaning pro…
josecelano May 8, 2025
46c7eae
dev: enable persistence for downdloads in dev config
josecelano May 8, 2025
ced2788
fix: [#1502] import torrents' download counters from DB
josecelano May 8, 2025
632185b
refactor: tracing spwams to use structure formats
josecelano May 8, 2025
672dfaa
Merge torrust/torrust-tracker#1509: Fix wrong number of downloads whe…
josecelano May 8, 2025
cb487f3
fix: [#1510] disable torrent stats importation at start
josecelano May 9, 2025
b0bf307
Merge torrust/torrust-tracker#1511: Disable torrent stats importation…
josecelano May 9, 2025
243c254
feat: allow incrementing/decrementing gauge metrics
josecelano May 13, 2025
93fdf31
Merge torrust/torrust-tracker#1516: Allow incrementing/decrementing g…
josecelano May 13, 2025
2522ad4
feat: [#1358] basic scaffolding for events in torrent-repository pkg
josecelano May 9, 2025
f986bda
feat: [#1358] add the and run the event listener when the tracker st…
josecelano May 9, 2025
95766bb
feat: [#1358] inject Swarms into InMemoryTorrentRepository in product…
josecelano May 9, 2025
41f4022
feat: [#1358] inject Swarms into InMemoryTorrentRepository in testing…
josecelano May 12, 2025
68b930d
feat: [#1495] expose new torrent-repositoru metrics via the REST API
josecelano May 12, 2025
2c479a1
refactor: [#1358] inject event sender in Swarms type
josecelano May 12, 2025
6d95d1a
refactor: [#1358] inject event sender in Swarm type
josecelano May 12, 2025
1eb545c
feat: [#1358] remove persistent metric from torrent-repository pkg
josecelano May 13, 2025
29a2dfd
dev: change default config
josecelano May 13, 2025
d47483f
feat: [#1358] new metric in torrent-repository: total number of torrents
josecelano May 13, 2025
ba2033b
fix: [#1358] trigger PeerRemoved event when peer is removed due to in…
josecelano May 13, 2025
269d273
refactor: [#1358] rename metric
josecelano May 13, 2025
01a9970
feat: [#1358] new metric in torrent-repository: total number of peers
josecelano May 14, 2025
daba8a0
feat: [#1358] new metric in torrent-repository: total number of downl…
josecelano May 14, 2025
c706a1b
refactor: [#1358] move logs
josecelano May 14, 2025
60c00e8
feat: [#1358] add info-hash to all torrent-repository events
josecelano May 14, 2025
dfba00c
feat: [#1358] allow disabling the event sender in the torrent-reposit…
josecelano May 14, 2025
8ee258e
refactor: [#1358] use the new field info-hash as ID for the Swarm (Ha…
josecelano May 14, 2025
c9a893c
refactor: [#1358] rename metrics for clarity
josecelano May 14, 2025
0e38707
fix: [#1358] revert Hash impl for Swarm
josecelano May 14, 2025
3d7e6ff
test: [#1358] add tests to torrust_tracker_torrent_repository::swarm:…
josecelano May 14, 2025
f71211f
test: [#1358] add tests to torrust_tracker_torrent_repository::swarms…
josecelano May 14, 2025
b13797e
test: [#1358] add tests for events in torrent-repository pkg
josecelano May 14, 2025
47d1eab
refactor: [#1358] Swarm tests to use new mock helpers
josecelano May 15, 2025
b3b0b71
refactor: [#1358] Swarm, cleaning upsert_peer method
josecelano May 15, 2025
d154b2a
refactor: [#1358] clean Swarm type
josecelano May 16, 2025
cb9196e
Merge torrust/torrust-tracker#1513: Overhaul stats: Emit events from …
josecelano May 16, 2025
52ac171
chore(deps): update dependencies
josecelano May 16, 2025
66bf0cc
Merge torrust/torrust-tracker#1517: Update dependencies
josecelano May 16, 2025
8d3b948
tests: [#1504] remove integration tests from torrent-repository pacakge
josecelano May 16, 2025
c2dabb2
chore: [#1504] remove uneeded fn attribute
josecelano May 16, 2025
1472c8e
refactor: [#1504] remove unneded trait implementationis for Swarm
josecelano May 16, 2025
6735018
Merge torrust/torrust-tracker#1520: Remove integration tests from tor…
josecelano May 16, 2025
85d9d35
refactor: [#1493] remove duplicate code for Peer buidler
josecelano May 19, 2025
a194f1e
Merge torrust/torrust-tracker#1526: Remove duplicate code for Peer bu…
josecelano May 19, 2025
b11af88
feat: [#1522] add events metrics in torrent-repository
josecelano May 19, 2025
fbefc88
Merge torrust/torrust-tracker#1528: Overhaul stats: add event metrics…
josecelano May 19, 2025
260f7ff
feat: [#1523] add new metric: number of inactive peers
josecelano May 20, 2025
677deac
feat: [#1523] add new metric: number of inactive torrents
josecelano May 21, 2025
93f851d
Merge torrust/torrust-tracker#1530: Overhaul stats: add peer inactivi…
josecelano May 21, 2025
3a23a38
fix: tracing message
josecelano May 21, 2025
7e933f9
feat: [#1524] listens to torrent-repository events in the tracker-cor…
josecelano May 21, 2025
8968757
refactor: extract method JobManger::push_opt
josecelano May 21, 2025
e90585a
refactor: [#1524] move total downloads udpate from announce command t…
josecelano May 21, 2025
f3d3495
refactor: [#1524] remove duplciate code for tracker core container
josecelano May 26, 2025
b05bccd
refactor: [#1524] integration tests in tracker-core
josecelano May 26, 2025
ab2f52d
fix: [#1524] test (move to integration test)
josecelano May 26, 2025
28603fe
refactor: [#1524] extract TestEnv for integration tests in tracker-core
josecelano May 26, 2025
8c31549
refactor: [#1524] rename methods
josecelano May 26, 2025
67d177b
refactor: [#1524] command/query separation
josecelano May 26, 2025
f21957d
Merge torrust/torrust-tracker#1531: Overhaul stats: Simplify how the …
josecelano May 26, 2025
2175270
feat: [#1535] scaffolding for tracker-core metrics
josecelano May 26, 2025
3fce84b
Merge torrust/torrust-tracker#1536: Overhaul stats: Scaffolding for m…
josecelano May 27, 2025
6f11534
feat: [#1539] add method to Database trait to persis global downloads…
josecelano May 27, 2025
9301e58
feat: [#1539] save global downloads counter in DB
josecelano May 27, 2025
c07f366
feat: [#1539] load global downloads counter from DB
josecelano May 27, 2025
2c9311b
test: [#1539] add integration test for persisted downloads counter
josecelano May 27, 2025
4febda4
fic: [#1539] persisten metrics should be enabled by config
josecelano May 27, 2025
46df7eb
Merge torrust/torrust-tracker#1540: Overhaul stats: Persist all torre…
josecelano May 27, 2025
3bc8148
refactor: [#1541] rename DatabasePersistentTorrentRepository to Datab…
josecelano May 27, 2025
99adbde
refactor: [#1541] rename symbol db_torrent_repository to db_downloads…
josecelano May 27, 2025
4e3e4f5
refactor: [#1541] create folder for mod
josecelano May 27, 2025
fdbea0a
refactor: [#1541] rename mod
josecelano May 27, 2025
7e27d31
refactor: [#1541] move mod
josecelano May 27, 2025
0508a6a
refactor: [#1541] rename methods
josecelano May 27, 2025
a5a80b5
refactor: [#1541] rename type alias PersistentTorrent to NumberOfDown…
josecelano May 27, 2025
bcf2338
refactor: [#1541] rename type alias PersistentTorrents to NumberOfDow…
josecelano May 27, 2025
bd6e06a
refactor: [#1541] remove unused code
josecelano May 27, 2025
4b4f310
Merge torrust/torrust-tracker#1542: Overhaul stats: Refactor code rel…
josecelano May 27, 2025
3d6fc65
refactor: [#1543] rename AggregateSwarmMetadata to AggregateActiveSwa…
josecelano May 28, 2025
e107614
chore: [#1543] remove comment on tracker-core handle_announcement
josecelano May 28, 2025
762bf69
refactor: [#1543] Optimization: Don't load number of downloads from D…
josecelano May 28, 2025
02c33f6
fix: [#1543] the downloads counter values returned in the API
josecelano May 28, 2025
8d3a6fe
refactor: [#1543] extract methods
josecelano May 28, 2025
b0e7443
fix: [#1543] return always in API the downloads number from tracker-core
josecelano May 28, 2025
43c7179
refactor: [#1543] rename Metrics to ProtocolMetrics
josecelano May 28, 2025
92242f8
fix: [#1543] Remove peerless torrents when it's enabled in the tracke…
josecelano May 28, 2025
3bade2c
Merge torrust/torrust-tracker#1545: Overhaul stats: Allow removing pe…
josecelano May 28, 2025
55149bc
refactor: [#1519] rename dir torrent-repository
josecelano May 29, 2025
2b7a251
refactor: [#1519] rename crate torrust-tracker-torrent-repository to …
josecelano May 29, 2025
2768306
refactor: [#1519] rename Swarm to Coordinator
josecelano May 29, 2025
ba37801
refactor: [#1519] rename Swarms to Registry
josecelano May 29, 2025
63f04e5
refactor: [#1519] extract mod coordinator
josecelano May 29, 2025
cfc5b34
refactor: [#1519] rename mod swarms to resgistry
josecelano May 29, 2025
9146681
refactor: [#1519] move mod registry
josecelano May 29, 2025
290c9eb
refactor: [#1519] rename Swarms to Registry
josecelano May 29, 2025
bbe974d
refactor: [#1519] rename SwarmHandle to CoordinatorHandle
josecelano May 29, 2025
7c5575a
Merge torrust/torrust-tracker#1546: Overhaul stats: Renaming package …
josecelano May 29, 2025
00b9bf9
chore(deps): update dependencies
josecelano Jun 2, 2025
caa03cc
fix: deprecated function criterion::black_box
josecelano Jun 2, 2025
9c3c910
chore: add GitHhub MCP server config
josecelano Jun 2, 2025
db1c9b0
fix: test after updating dependencies
josecelano Jun 2, 2025
059d2b6
Merge torrust/torrust-tracker#1549: Add GitHub MCP server config
josecelano Jun 2, 2025
52b9660
feat: [#1456] wrapper over aquatic RequestParseError to make it sendable
josecelano Jun 2, 2025
8f3c22a
feat: [#1456] expose error kind in the UdpError event
josecelano Jun 2, 2025
d7902f1
refactor: [#1456] remove unused enum variant in udp server error
josecelano Jun 2, 2025
0108c26
fix: test. Error message changed
josecelano Jun 2, 2025
f485501
refactor: [#1456 clean code
josecelano Jun 2, 2025
525ab73
refactor: [#1456] extract methods
josecelano Jun 2, 2025
ad1b19a
feat: trigger UDP error event when there is no transaction ID too
josecelano Jun 2, 2025
21bea5b
refactor: [#1456] increase ban counters asyncronously
josecelano Jun 2, 2025
07c6e89
refactor: rename UDP tracker server error variants
josecelano Jun 2, 2025
89ac87c
refactor: [#1551] extract methods in udp event handler"
josecelano Jun 2, 2025
a8f3a97
refactor: [#1551] extract event handler for each udp event
josecelano Jun 2, 2025
578057b
Merge torrust/torrust-tracker#1552: Refactor UDP error event logic be…
josecelano Jun 2, 2025
d9f4c13
refactor: [#1556] extract functions
josecelano Jun 4, 2025
7e616d7
feat: [#1556] add a new metric to count connection ID errors per clie…
josecelano Jun 4, 2025
a7cbdcb
Merge torrust/torrust-tracker#1557: Add a new labeled metric to track…
josecelano Jun 4, 2025
d4c43bd
feat: [#1375] add new metric label server_binding_address_type
josecelano Jun 4, 2025
33e69ff
Merge torrust/torrust-tracker#1558: Add new metric label `server_bind…
josecelano Jun 4, 2025
552697b
feat!: [#1514] rename ffield kind to type in JSON metrics
josecelano Jun 5, 2025
2ee3111
refactor: [#1514] ensure_metric_exists method to pass the whole metric
josecelano Jun 5, 2025
031bf65
refactor: [#1514] remove unused code
josecelano Jun 5, 2025
458497b
feat: [#1514] add unit and description to metrics
josecelano Jun 5, 2025
842739f
feat: [#1514] add HELP and TYPE to prometehous metric export
josecelano Jun 6, 2025
ed1322b
refactor: [#1514] reorganize SampleCollection tests
josecelano Jun 6, 2025
a89406d
refactor: [#1514] remove duplicate code in Metric type
josecelano Jun 6, 2025
748e6a5
test: [#1514] add tests to metrics package
josecelano Jun 6, 2025
642d774
fix: [#1514] HELP line in Prometheus export must contain metric name
josecelano Jun 6, 2025
376f242
test: [#1514] add tests to metrics package
josecelano Jun 6, 2025
507b480
fix: [#1514] bug. Don't allow merge metric collections with the same …
josecelano Jun 6, 2025
bb2392d
test: [#1514] add tests to metrics package
josecelano Jun 6, 2025
0e3a305
Merge torrust/torrust-tracker#1559: Overhaul stats: add `TYPE` and `H…
josecelano Jun 6, 2025
45bc807
refactor: [#1534] rename TORRENT_REPOSITORY_LOG_TARGET to SWARM_COORD…
josecelano Jun 9, 2025
c67f27a
refactor: [#1534] Rename torrent_repository_ prefix to swarm_coordina…
josecelano Jun 9, 2025
c26315a
refactor: [#1534] Rename TorrentRepositoryContainer type to SwarmCoor…
josecelano Jun 9, 2025
b09e79c
refactor: [#1534] Rename torrent_repository_container to swarm_coordi…
josecelano Jun 9, 2025
8da42e4
refactor: [#1534] Rename torrent_repository_event_listener to swarm_c…
josecelano Jun 9, 2025
b2feb7b
docs: [#1534] Update comments after rename
josecelano Jun 9, 2025
7be0366
feat: [#1534] add new metric to count peers reverting state from comp…
josecelano Jun 9, 2025
d949e48
Merge torrust/torrust-tracker#1566: Add a new metric to count peers r…
josecelano Jun 9, 2025
d81e59e
fix: [#1565] ban service should work with stats disabled
josecelano Jun 9, 2025
04de1df
Merge torrust/torrust-tracker#1567: Overhaul stats: Decouple stats an…
josecelano Jun 9, 2025
f7b80ed
feat: [#1570] add new metric for banned IPs total
josecelano Jun 10, 2025
6c8b8b5
Merge torrust/torrust-tracker#1572: Overhaul stats: Add new metric to…
josecelano Jun 10, 2025
12d6917
feat: [#1571] increase broadcaster channel capacity to 65536
josecelano Jun 10, 2025
d7af961
Merge torrust/torrust-tracker#1573: Increase broadcaster channel capa…
josecelano Jun 10, 2025
02433cb
fix: [#1569] Prometheus txt export format. Only one HELP and TYPE hea…
josecelano Jun 10, 2025
0269c79
Merge torrust/torrust-tracker#1574: Overhaul stats: Fix Prometheus ex…
josecelano Jun 10, 2025
9b254ce
chore(deps): update dependencies
josecelano Jun 10, 2025
7e722c0
fix: clippy errors
josecelano Jun 10, 2025
c3dffa5
Merge torrust/torrust-tracker#1576: Update dependencies
josecelano Jun 11, 2025
64be847
feat: [#1446] add aggregate function sum to metric collection
josecelano Jun 11, 2025
4da4f83
refactor: [#1446] rename vars
josecelano Jun 12, 2025
0d13439
test: [#1446] add more tests to metrics package
josecelano Jun 12, 2025
476ece4
refactor: [#1446] WIP. Calculate global metrics from labeled metrics
josecelano Jun 13, 2025
1376a7c
refactor: [#1446] rename AddressType to IpType
josecelano Jun 13, 2025
96bae36
feat: [#1446] add new metric label server_binding_address_ip_type
josecelano Jun 13, 2025
3f5216e
fix: [#1446] clippy error
josecelano Jun 13, 2025
dcfb5d5
refactor: [#1446] Calculate global metrics from labeled metrics
josecelano Jun 13, 2025
34a6635
Merge torrust/torrust-tracker#1577: Overhaul stats: Refactor metrics,…
josecelano Jun 13, 2025
15b8025
docs: [#1579] add tracker demo section to README
josecelano Jun 16, 2025
4cb5648
fix: [#1579] clippy errors
josecelano Jun 16, 2025
86e6406
Merge torrust/torrust-tracker#1583: Add new "tracker demo" section to…
josecelano Jun 16, 2025
42850f3
refactor: [#1581] extract methods
josecelano Jun 16, 2025
44c1848
refactor: [#1581] remove non-labeled metrics in http-tracker-core pkg
josecelano Jun 16, 2025
a5c5a89
refactor: [#1581] remove unused code
josecelano Jun 16, 2025
0284bef
refactor: [#1581] remove non-labeled metrics in udp-tracker-core pkg
josecelano Jun 16, 2025
f008a0a
fix: test for request counters in http-tracker-core
josecelano Jun 16, 2025
6183eba
refactor: [#1581] remove non-labeled metrics in udp-tracker-server pkg
josecelano Jun 16, 2025
a552482
refactor: [#1581] finished. Global metrics in API loaded from labeled…
josecelano Jun 16, 2025
70fd119
Merge torrust/torrust-tracker#1584: Overhaul stats: Remove internal n…
josecelano Jun 16, 2025
0d9f883
refactor(metrics): [#1580] convert Sum trait to use associated types …
josecelano Jun 17, 2025
db6b491
refactor(metrics): [#1580] add associated types to collection-level S…
josecelano Jun 17, 2025
00ac210
refactor(metrics): [#1580] remove AggregateValue wrapper, return prim…
josecelano Jun 17, 2025
dfd950d
refactor(metrics): [#1580] reorganize metric collection aggregates in…
josecelano Jun 17, 2025
7df7d36
docs(metrics): enhance README with comprehensive documentation and ex…
josecelano Jun 17, 2025
1ad19e7
Merge torrust/torrust-tracker#1585: Overhaul stats: Refactor `Aggrega…
josecelano Jun 17, 2025
d2e75e3
refactor: [#1405] gracefull shutdown for listeners
josecelano Jun 17, 2025
b254ffd
Merge torrust/torrust-tracker#1587: Graceful shutdown for event liste…
josecelano Jun 17, 2025
f7ab993
refactor: [#1589] add logs for debugging
josecelano Jun 17, 2025
5fc255f
tests(udp-tracker-server): [#1589] add unit tests to statistics::repo…
josecelano Jun 18, 2025
7e9d982
fix(udt-tracker-server): metric description
josecelano Jun 18, 2025
bf9d16a
tests(udp-tracker-server): [#1589] add unit tests to statistics::metr…
josecelano Jun 18, 2025
09f52e0
Merge torrust/torrust-tracker#1590: Add logs to debug this bug: Wrong…
josecelano Jun 18, 2025
520fd8b
chore: [#1589] add debug logs for avg processing time metric update
josecelano Jun 18, 2025
6d96650
Merge torrust/torrust-tracker#1592: Add debug logs for average proces…
josecelano Jun 18, 2025
e6c05b6
refactor(udp-tracker-server): [#1589] move average processing time ca…
josecelano Jun 19, 2025
d50948e
refactor: [#1598] make recalculate udp avg connect processing time me…
josecelano Jun 19, 2025
59fbb39
refactor: [#1598] make recalculate udp avg announce processing time m…
josecelano Jun 19, 2025
47c2949
refactor: [#1598] make recalculate udp avg scrape processing time met…
josecelano Jun 19, 2025
1c13b12
fix: [#1589] partially. Moving average calculated for each time series
josecelano Jun 19, 2025
164de92
refactor: [#1589] remvoe duplicate code
josecelano Jun 19, 2025
ed5f1e6
fix: [#1589] add dedicated metric for UDP request processing in movin…
josecelano Jun 19, 2025
384b887
feat(metrics): [#1589] add Avg (average) aggregate function
josecelano Jun 20, 2025
8fbcf90
refactor(metrics): extract collect_matching_samples to Metric<T> impl
josecelano Jun 20, 2025
f402b02
chore: remove deprecated comment
josecelano Jun 20, 2025
caa69ae
test: [#1589] remove uneeded test
josecelano Jun 20, 2025
ba3d8a9
fix: format
josecelano Jun 20, 2025
cd57f7a
fix: [#1589] use average aggregation for UDP processing time metrics
josecelano Jun 20, 2025
4c082fa
refactor: [#1589] make methods private
josecelano Jun 20, 2025
a9acca5
refactor: [#1589] rename methods and remove unused code
josecelano Jun 20, 2025
dc8d4a9
test: [#1589] add race condition test for UDP performance metrics
josecelano Jun 20, 2025
b423bf6
refactor: [#1589] improve readability of UDP performance metrics race…
josecelano Jun 20, 2025
7b1c190
Merge torrust/torrust-tracker#1593: Fix bug: Wrong UDP Average Connec…
josecelano Jun 20, 2025
e694365
metrics: parse Prometheus text exposition with best practices
naoNao89 Aug 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[alias]
cov = "llvm-cov"
cov-lcov = "llvm-cov --lcov --output-path=./.coverage/lcov.info"
cov-codecov = "llvm-cov --codecov --output-path=./.coverage/codecov.json"
cov-html = "llvm-cov --html"
time = "build --timings --all-targets"

Expand Down
58 changes: 0 additions & 58 deletions .github/workflows/contract.yaml

This file was deleted.

54 changes: 13 additions & 41 deletions .github/workflows/coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,25 @@ on:
push:
branches:
- develop
pull_request_target:
branches:
- develop

env:
CARGO_TERM_COLOR: always

jobs:
report:
name: Report
name: Generate Coverage Report
environment: coverage
runs-on: ubuntu-latest
env:
CARGO_INCREMENTAL: "0"
RUSTFLAGS: "-Z profile -C codegen-units=1 -C opt-level=0 -C link-dead-code -C overflow-checks=off -Z panic_abort_tests -C panic=abort"
RUSTDOCFLAGS: "-Z profile -C codegen-units=1 -C opt-level=0 -C link-dead-code -C overflow-checks=off -Z panic_abort_tests -C panic=abort"
RUSTFLAGS: "-Cinstrument-coverage"

steps:
- id: checkout_push
if: github.event_name == 'push'
name: Checkout Repository (Push)
- name: Checkout repository
uses: actions/checkout@v4

- id: checkout_pull_request_target
if: github.event_name == 'pull_request_target'
name: Checkout Repository (Pull Request Target)
uses: actions/checkout@v4
with:
ref: "refs/pull/${{ github.event.pull_request.number }}/head"
- name: Install LLVM tools
run: sudo apt-get update && sudo apt-get install -y llvm

- id: setup
name: Setup Toolchain
Expand All @@ -49,37 +39,19 @@ jobs:
name: Install Tools
uses: taiki-e/install-action@v2
with:
tool: grcov

- id: check
name: Run Build Checks
run: cargo check --tests --benches --examples --workspace --all-targets --all-features

- id: clean
name: Clean Build Directory
run: cargo clean

- id: build
name: Pre-build Main Project
run: cargo build --workspace --all-targets --all-features --jobs 2

- id: build_tests
name: Pre-build Tests
run: cargo build --workspace --all-targets --all-features --tests --jobs 2

- id: test
name: Run Unit Tests
run: cargo test --tests --workspace --all-targets --all-features
tool: grcov,cargo-llvm-cov

- id: coverage
name: Generate Coverage Report
uses: alekitto/[email protected]
run: |
cargo clean
cargo llvm-cov --all-features --workspace --codecov --output-path ./codecov.json

- id: upload
name: Upload Coverage Report
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ${{ steps.coverage.outputs.report }}
verbose: true
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
files: ${{ github.workspace }}/codecov.json
fail_ci_if_error: true
30 changes: 26 additions & 4 deletions .github/workflows/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ jobs:
needs: test
runs-on: ubuntu-latest

strategy:
matrix:
toolchain: [stable]

steps:
- id: checkout
name: Checkout Repository
Expand All @@ -51,11 +55,29 @@ jobs:
env:
CARGO_REGISTRY_TOKEN: "${{ secrets.TORRUST_UPDATE_CARGO_REGISTRY_TOKEN }}"
run: |
cargo publish -p bittorrent-http-tracker-core
cargo publish -p bittorrent-http-tracker-protocol
cargo publish -p bittorrent-tracker-client
cargo publish -p bittorrent-tracker-core
cargo publish -p bittorrent-udp-tracker-core
cargo publish -p bittorrent-udp-tracker-protocol
cargo publish -p torrust-axum-health-check-api-server
cargo publish -p torrust-axum-http-tracker-server
cargo publish -p torrust-axum-rest-tracker-api-server
cargo publish -p torrust-axum-server
cargo publish -p torrust-rest-tracker-api-client
cargo publish -p torrust-rest-tracker-api-core
cargo publish -p torrust-torrust-server-lib
cargo publish -p torrust-tracker
cargo publish -p torrust-tracker-client
cargo publish -p torrust-tracker-clock
cargo publish -p torrust-tracker-configuration
cargo publish -p torrust-tracker-contrib-bencode
cargo publish -p torrust-tracker-events
cargo publish -p torrust-tracker-located-error
cargo publish -p torrust-tracker-metrics
cargo publish -p torrust-tracker-primitives
cargo publish -p torrust-tracker-clock
cargo publish -p torrust-tracker-configuration
cargo publish -p torrust-tracker-torrent-repository
cargo publish -p torrust-tracker-swarm-coordination-registry
cargo publish -p torrust-tracker-test-helpers
cargo publish -p torrust-tracker
cargo publish -p torrust-tracker-torrent-benchmarking
cargo publish -p torrust-udp-tracker-server
84 changes: 84 additions & 0 deletions .github/workflows/generate_coverage_pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Generate Coverage Report (PR)

on:
pull_request:
branches:
- develop

env:
CARGO_TERM_COLOR: always

jobs:
coverage:
name: Generate Coverage Report
environment: coverage
runs-on: ubuntu-latest
env:
CARGO_INCREMENTAL: "0"
RUSTFLAGS: "-Cinstrument-coverage"

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install LLVM tools
run: sudo apt-get update && sudo apt-get install -y llvm

- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly
components: llvm-tools-preview

- id: cache
name: Enable Workflow Cache
uses: Swatinem/rust-cache@v2

- id: tools
name: Install Tools
uses: taiki-e/install-action@v2
with:
tool: grcov,cargo-llvm-cov

- id: coverage
name: Generate Coverage Report
run: |
cargo clean
cargo llvm-cov --all-features --workspace --codecov --output-path ./codecov.json

- name: Store PR number and commit SHA
run: |
echo "Storing PR number ${{ github.event.number }}"
echo "${{ github.event.number }}" > pr_number.txt

echo "Storing commit SHA ${{ github.event.pull_request.head.sha }}"
echo "${{ github.event.pull_request.head.sha }}" > commit_sha.txt

# Workaround for https://github.com/orgs/community/discussions/25220
# Triggered sub-workflow is not able to detect the original commit/PR which is available
# in this workflow.
- name: Store PR number
uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt

- name: Store commit SHA
uses: actions/upload-artifact@v4
with:
name: commit_sha
path: commit_sha.txt

# This stores the coverage report in artifacts. The actual upload to Codecov
# is executed by a different workflow `upload_coverage.yml`. The reason for this
# split is because `on.pull_request` workflows don't have access to secrets.
- name: Store coverage report in artifacts
uses: actions/upload-artifact@v4
with:
name: codecov_report
path: ./codecov.json

- run: |
echo "The coverage report was stored in Github artifacts."
echo "It will be uploaded to Codecov using [upload_coverage.yml] workflow shortly."
29 changes: 27 additions & 2 deletions .github/workflows/testing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:

- id: lint
name: Run Lint Checks
run: cargo clippy --tests --benches --examples --workspace --all-targets --all-features -- -D clippy::correctness -D clippy::suspicious -D clippy::complexity -D clippy::perf -D clippy::style -D clippy::pedantic
run: cargo clippy --tests --benches --examples --workspace --all-targets --all-features

- id: docs
name: Lint Documentation
Expand All @@ -85,6 +85,27 @@ jobs:
name: Check Unused Dependencies
run: cargo machete

build:
name: Build on ${{ matrix.os }} (${{ matrix.toolchain }})
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
toolchain: [nightly, stable]

steps:
- name: Checkout code
uses: actions/checkout@v4

- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.toolchain }}

- name: Build project
run: cargo build --verbose

unit:
name: Units
Expand Down Expand Up @@ -119,12 +140,16 @@ jobs:

- id: test-docs
name: Run Documentation Tests
run: cargo test --doc
run: cargo test --doc --workspace

- id: test
name: Run Unit Tests
run: cargo test --tests --benches --examples --workspace --all-targets --all-features

- id: database
name: Run MySQL Database Tests
run: TORRUST_TRACKER_CORE_RUN_MYSQL_DRIVER_TEST=true cargo test --package bittorrent-tracker-core

e2e:
name: E2E
runs-on: ubuntu-latest
Expand Down
Loading
Loading