Sia Metrics Collector captures data about Sia's state as it runs. For details of which metrics it collects
Sia Metrics Collector is a read-only tool. It will only observe the state of your Sia node. It will never perform any action changes the state of your Sia node (e.g. spending coins, deleting files).
The following graphs were all generated using the output of Sia Metrics Collector:
I created a Google Sheets template that creates visualizations from the data generated by Sia Metrics Collector.
To use it:
-
Open the Sia Load Test Metrics - TEMPLATE document.
-
Click File > Make a Copy:
-
In the copy, click File > Import
-
Click the "Upload" tab, then click "Select a file from your computer"
-
Select the output CSV file from Sia Metrics Collector
- Python 2.7
- A running Sia instance
- Currently, it must be running on the same machine and listening for API calls on its default API port, 9980.
It's easy to get started with Sia Metrics Collector.
# Install Sia Metrics Collector.
git clone https://github.com/mtlynch/sia_metrics_collector.git
cd sia_metrics_collector
pip install -r requirements.txt
# Begin collecting metrics.
python sia_metrics_collector\main.py \
--poll_frequency 60 \
--output_file "sia-metrics.csv"
The end time at which the set of metrics was collected, as an ISO-8601 string in UTC time. To get the start time of when this set of metrics started being collected, use start_time = timestamp - api_latency
.
This is currently not a precise number because metrics are collected from different APIs and doesn't track the exact time each response was received, but rather, the timestamp that it completed querying all APIs for this set of metrics.
The total number of active contracts the renter holds.
Source: GET /renter/contracts
The total number of files the user is storing on Sia (includes both fully and partially uploaded files).
Source: GET /renter/files
The total number of files that are known to Sia, but whose upload progress is below 100%.
Source: GET /renter/files
Source: GET /renter/contracts
The total number of file bytes uploaded to Sia. This is filesize * (uploadprogress / 100)
. This number is imprecise for partially uploaded files because the Sia API only offers upload progress rounded to the nearest hundredth.
Source: GET /renter/files
The total number of data bytes uploaded to Sia across all files, including redundant file copies. This only represents the amount of actual file data uploaded through the renter and does not represent the total number of bytes Sia has sent to the network. This does not include bytes from files that have since been deleted from Sia.
Source: GET /renter/files
Total amount of Siacoins (in hastings) spent on contracts, across all active contracts.
The following equality should always hold:
total_contract_spending ==
contract_fee_spending +
storage_spending +
upload_spending +
download_spending +
remaining_renter_funds
Source: GET /renter/contracts
Total amount of Siacoins (in hastings) spent on contract fees, across all active contracts.
Source: GET /renter/contracts
Total amount of Siacoins (in hastings) spent on storage, across all active contracts.
Source: GET /renter/contracts
Total amount of Siacoins (in hastings) spent on upload bandwidth, across all active contracts.
Source: GET /renter/contracts
Total amount of Siacoins (in hastings) spent on download bandwidth, across all active contracts.
Source: GET /renter/contracts
Total amount of Siacoins (in hastings) that is allocated to active renter contracts, but has not yet been spent on fees, storage, upload, or download.
Source: GET /renter/contracts
Confirmed Siacoin balance in wallet (in hastings).
Source: GET /wallet
Total number of Siacoins (in hastings) currently in unconfirmed outgoing transactions.
Source: GET /wallet
Total number of Siacoins (in hastings) currently in unconfirmed incoming transactions.
Source: GET /wallet
The total time (in milliseconds) that Sia Metrics Collector spent waiting for responses from Sia to collect each metric.