Luxor Documentation Hub Logo

metrics

Display miner metrics

metrics

Description

Displays hashrate, power and temperature metrics of the miner, in discrete buckets, aligned to clock.

When querying, you need to select one of the available buckets, using the bucket parameter:

BucketPeriodMax Retention
1mOne minute.Six hours.
5mFive minutes.One week.
1hOne hour.Thirty days.
1dOne day.Ninety days.

Specifying just the bucket is enough, but it will return only the latest (most recent) value from that bucket. This means that querying for a "bigger" bucket, before the minimum time elapsed (e. g. 1h bucket, before at least one hour of runtime) will return nothing, while on "smaller" buckets you will get slightly outdated data (e. g. the hashrate from the previous 5m instead of "now"). You can force this command to return the partial data of the bucket (if available) by also passing the partial parameter with the true value. Note that doing this will return the timestamp of the request, to indicate that the metric entry is partial.

Last, but not least, you can return multiple results for a given bucket by using the window parameter, with a value representing the size of the timespan that you want to query, like 1m, 2h, etc. The valid suffixes for this parameter are:

SuffixDescriptionExamples
mValue, in minutes.10m, 7m, 30m
hValue, in hours.1h, 10h
dValue, in days.2d, 5d, 20d
wValue, in weeks.1w, 4w
latestDefault value. Returns only the most recent entry.latest
nowAlias for latest.now

You can query a period bigger than the retention, but you will get at most the data on the retention period. You can also use window and partial at the same time; the mechanics of each option remain the same.

Examples

Single value

The simplest possible example is querying a single bucket, in this case, the last minute:

echo '{"command": "metrics", "parameter":"bucket=1m"}' | nc $MINER_IP 4028 | jq
{
 
  "METRICS": [
    {
      "HashrateMHS": 13809453.01,
      "Power": 631,
      "Temperature": 26.5,
      "Timestamp": "2025-08-19T13:13:00+00:00"
    }
  ],
  "METRICS_REQUEST": [
    {
      "Bucket": "1m",
      "Partial": false,
      "Window": "latest"
    }
  ],
  "STATUS": [
    {
      "Code": 358,
      "Description": "LUXminer 2025.8.15.155001-ecd6097f5",
      "Msg": "Miner Metrics",
      "STATUS": "S",
      "When": 1755609199
    }
  ],
  "id": 1
}

As said earlier, querying a "big" bucket may return no results, if you have no data for that period:

$ echo '{"command": "metrics", "parameter":"bucket=5m"}' | nc $MINER_IP 4028 | jq
{
  "METRICS": [],
  "METRICS_REQUEST": [
    {
      "Bucket": "5m",
      "Partial": false,
      "Window": "latest"
    }
  ],
  "STATUS": [
    {
      "Code": 358,
      "Description": "LUXminer 2025.8.15.155001-ecd6097f5",
      "Msg": "Miner Metrics",
      "STATUS": "S",
      "When": 1755609277
    }
  ],
  "id": 1
}

Partial data

We can force the bucket to return the "partial" data collected so far, by using the partial parameter:

$ echo '{"command": "metrics", "parameter":"bucket=5m,partial=true"}' | nc $MINER_IP 4028 | jq
{
  "METRICS": [
    {
      "HashrateMHS": 41077324.94,
      "Power": 1319,
      "Temperature": 34.0,
      "Timestamp": "2025-08-19T13:14:58+00:00"
    }
  ],
  "METRICS_REQUEST": [
    {
      "Bucket": "5m",
      "Partial": true,
      "Window": "latest"
    }
  ],
  "STATUS": [
    {
      "Code": 358,
      "Description": "LUXminer 2025.8.15.155001-ecd6097f5",
      "Msg": "Miner Metrics",
      "STATUS": "S",
      "When": 1755609298
    }
  ],
  "id": 1
}

Specific window

Multiple entries can be returned, depending on how large the window is, and the amount of collected data:

$ echo '{"command": "metrics", "parameter":"bucket=1m,window=1h"}' | nc $MINER_IP 4028 | jq
{
  "METRICS": [
    {
      "HashrateMHS": 4301595.85,
      "Power": 250,
      "Temperature": 12.3,
      "Timestamp": "2025-08-19T13:11:00+00:00"
    },
    {
      "HashrateMHS": 9759560.82,
      "Power": 546,
      "Temperature": 24.3,
      "Timestamp": "2025-08-19T13:12:00+00:00"
    },
    {
      "HashrateMHS": 13809453.01,
      "Power": 631,
      "Temperature": 26.5,
      "Timestamp": "2025-08-19T13:13:00+00:00"
    },
    {
      "HashrateMHS": 27278143.89,
      "Power": 957,
      "Temperature": 29.3,
      "Timestamp": "2025-08-19T13:14:00+00:00"
    },
    {
      "HashrateMHS": 41077324.94,
      "Power": 1319,
      "Temperature": 34.0,
      "Timestamp": "2025-08-19T13:15:00+00:00"
    },
    {
      "HashrateMHS": 55466487.76,
      "Power": 1674,
      "Temperature": 39.4,
      "Timestamp": "2025-08-19T13:16:00+00:00"
    },
    {
      "HashrateMHS": 68791183.05,
      "Power": 1941,
      "Temperature": 41.9,
      "Timestamp": "2025-08-19T13:17:00+00:00"
    },
    {
      "HashrateMHS": 79838071.01,
      "Power": 2154,
      "Temperature": 42.1,
      "Timestamp": "2025-08-19T13:18:00+00:00"
    }
  ],
  "METRICS_REQUEST": [
    {
      "Bucket": "1m",
      "Partial": false,
      "Window": "1h"
    }
  ],
  "STATUS": [
    {
      "Code": 358,
      "Description": "LUXminer 2025.8.15.155001-ecd6097f5",
      "Msg": "Miner Metrics",
      "STATUS": "S",
      "When": 1755609499
    }
  ],
  "id": 1
}

Parameters

ParameterNotes
bucketThe bucket to query. See description for details.
windowOptional. The time window to query. Defaults to latest.
partialOptional. When true, creates a "virtual" entry with the partial data collected so far for the next entry.

Field details

For the METRICS block:

FieldNotes
HashrateMHSHashrate, in MH/s.
PowerPower consumption, in watts.
TemperatureHighest temperature.
TimestampUTC timestamp of this entry.

For the METRICS_REQUEST block:

FieldNotes
BucketThe bucket requested.
PartialIf the partial data is included or not.
WindowThe time window of the query.

On this page