Skip to content


Repository files navigation

Sia Metrics Collector

Build Status Docker Pulls Coverage Status License


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).

Example Graphs

The following graphs were all generated using the output of Sia Metrics Collector:

Renter Spending over Time

Chart of renter spending over time

Upload Bandwidth over Time

Chart of upload bandwidth over time

Data Uploaded over Time

Chart of data uploaded over time

Google Sheets Template

I created a Google Sheets template that creates visualizations from the data generated by Sia Metrics Collector.

To use it:

  1. Open the Sia Load Test Metrics - TEMPLATE document.

  2. Click File > Make a Copy:

    Screenshot of Make a Copy item

  3. In the copy, click File > Import

    Screenshot of Import menu item

  4. Click the "Upload" tab, then click "Select a file from your computer"

    Screenshot of Upload screen

  5. 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.

Quick Start

It's easy to get started with Sia Metrics Collector.

# Install Sia Metrics Collector.
git clone
cd sia_metrics_collector
pip install -r requirements.txt

# Begin collecting metrics.
python sia_metrics_collector\ \
  --poll_frequency 60 \
  --output_file "sia-metrics.csv"


Interested in contributing code to this project? Great! See our contributor's guide.



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     +

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.