forked from rucio/rucio
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Transfers: gather and store transfer statistics. rucio#6189
Each time the poller or receiver transitions a transfer to a different state, use the information to update the transfer statistic. The goal is to be able to answer following questions in rucio: - how many successful transfers happened towards RSE1 yesterday - what was the average transfer rate from RSE1 to RSE2 last hour Short-term it will allow to visualize the transfer status. Longer-term, we may use this data to take better scheduling decisions (selection of destination RSE during rule evaluation; selection of source RSE for transfers). Each poller/receiver will gather statistics over a certain time window before committing the aggregated stats gathered over this time interval into the database. This reduces the number of database writes at the cost of potentially losing more metrics in case of a crash. We keep track of the total number of failed/successful transfers in the given time window; plus the number of transferred bytes. Metrics will be aggregated regularly into lower-resolution samples. Aggregation is done by summing higher resolution metrics. Lower resolution samples will be stored for a longer period in the database. Downsampling is performed automatically by each involved daemon. As a result, multiple downsample operations could potentially be done in parallel. Some basic mitigation was put in place to reduce the likely- hood of parallel downsampling. Moreover, the code tolerates parallel execution at the cost of allowing duplicate values at lower resolution in the database. These duplicate values must be explicitly handled at query time. Special care is needed to avoid double-counting. The behavior was heavily inspired by existing time series databases, like prometheus and influxdb. The possibility to use an external tool for this job was discussed, but rejected.
- Loading branch information
Radu Carpa
committed
Nov 27, 2023
1 parent
356b4d1
commit 2092f6c
Showing
15 changed files
with
962 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.