Reports Reference

There are several reports available to you in the /:login/reports directory. There is one object generated each hour for most reports. The summary report is generated once a day.

Reports Directories

The system provides one directory for access logs and four for usage reports. The individual reports are stored as objects within subdirectories as follows:

DirectoryDescription
/:login/reports/access-logs/YYYY/MM/DD/HH/hHH.jsonAccess logs.
/:login/reports/usage/storage/YYYY/MM/DD/HH/hHH.jsonStorage logs.
/:login/reports/usage/request/YYYY/MM/DD/HH/hHH.jsonHTTP requests and bandwidth usage
/:login/reports/usage/compute/YYYY/MM/DD/HH/hHH.jsonCompute usage.
/:login/reports/usage/summary/YYYY/MM/DD/dDD.jsonSummarized billable usage.

YYYY is the 4-digit year, MM is the 2-digit month, DD is the 2-digit day, and HH is the 2-digit hour. The time is always given as GMT.

A SnapLink to the latest report generated is available at /:login/reports/access-logs/latest or /:login/reports/usage/:category/latest.

NOTE: All values in usage reports (storage, request, compute, summaries) are represented as strings. Some counters may exceed the limit of a representable or precise integer depending on implementation and your usage.

All reports are delivered in newline-separated JSON format. The samples here have been formatted for easy reading.

Access logs

mget ~~/reports/access-logs/latest | json -g
{
    "billable_operation": "PUT",
    "remoteAddress": "::ffff:a03:5bec",
    "req": {
        "method": "PUT",
        "request-uri": "/jill/stor/test",
        "headers": {
            "accept": "application/json",
            "content-type": "application/json; type=directory",
            "date": "Sun, 10 Mar 2013 10:00:02 GMT",
            "x-request-id": "175cc9ce-6342-44be-877d-9a1eaaa25e6e",
            "user-agent": "restify/2.1.1 (ia32-sunos; " +
                    "v8/3.11.10.25; OpenSSL/0.9.8w) node/0.8.14",
            "accept-version": "~1.0",
            "host": "manta.beta.joyent.us",
            "connection": "keep-alive",
            "transfer-encoding": "chunked"
        },
        "httpVersion": "1.1",
        "caller": {
            "login": "poseidon"
        },
    },
    "res": {
        "statusCode": 204,
        "headers": {
            "last-modified": "Wed, 13 Feb 2013 18:00:02 GMT",
            "date": "Sun, 10 Mar 2013 10:00:02 GMT",
            "server": "Manta",
            "x-request-id": "175cc9ce-6342-44be-877d-9a1eaaa25e6e",
            "x-response-time": 18,
            "x-server-name": "218e7193-45c8-41e1-b4a4-7a3e6972bea6"
        }
    }
}
FieldNotes
remoteAddressalways ipv6
billable_operationmay differ from HTTP method
req.callerif available, information about the user that made the request

Storage Usage

mget ~~/reports/usage/storage/latest/ | json
{
    "storage": {
        "stor": {
            "directories": "31213",
            "keys": "141642",
            "objects": "141620",
            "bytes": "2290568504594"
        },
        "public": {
            "directories": "1",
            "keys": "1",
            "objects": "1",
            "bytes": "16092490"
        },
        "reports": {
            "directories": "1323",
            "keys": "1235",
            "objects": "1230",
            "bytes": "386149302"
        },
        "jobs": {
            "directories": "125588",
            "keys": "67627",
            "objects": "67627",
            "bytes": "10013853195"
        }
    },
    "date": "2013-06-24T17:00:00.000Z"
}

Snaplinks existing in one directory that point to an object in another directory are counted under the first directory in this order: stor public jobs reports. Objects smaller than 128KB are rounded up to 128KB.

FieldNotes
datehour that this report is for
stor, public, reports, jobsusage under each directory, for example /:login/jobs
keystotal number of object keys, including SnapLinks
objectstotal unique objects

Request and Bandwidth Usage

mget ~~/reports/usage/request/latest/ | json
{
    "requests": {
        "type": {
            "DELETE": "2120",
            "GET": "3534",
            "HEAD": "315",
            "LIST": "668",
            "OPTIONS": "0",
            "POST": "288",
            "PUT": "19057"
        },
        "bandwidth": {
            "in": "4810494334",
            "out": "4513223887",
            "headerIn": "13660794",
            "headerOut": "6012783"
        }
    },
    "date": "2013-06-24T17:00:00.000Z"
}
FieldNotes
datehour that this report is for
typebillable operation type, not HTTP method
bandwidthbandwidth in and out, measured in bytes; includes only successful GETs and PUTs

Compute Usage

mget ~~/reports/usage/compute/latest/ | json
{
    "jobs": {
        "b1adf3a9-c893-4b0c-8217-8281b6eecfbd": {
            "0": {
                "memory": "1024",
                "disk": "8",
                "seconds": "1",
                "ntasks": "1",
                "bandwidth": {
                    "in": "601874",
                    "out": "322"
                }
            }
        },
        "c7c1782e-3929-4417-a24a-ab7ee8815fc1": {
            "0": {
                "memory": "1024",
                "disk": "8",
                "seconds": "99",
                "ntasks": "10",
                "bandwidth": {
                    "in": "6959648",
                    "out": "4140"
                }
            },
            "1": {
                "memory": "1024",
                "disk": "8",
                "seconds": "16",
                "ntasks": "2",
                "bandwidth": {
                    "in": "1353284",
                    "out": "828"
                }
            },
            "2": {
                "memory": "1024",
                "disk": "8",
                "seconds": "2",
                "ntasks": "1",
                "bandwidth": {
                    "in": "659048",
                    "out": "414"
                }
            }
        }
    },
    "date": "2013-06-24T17:00:00.000Z"
}

Broken down by job and phase.

FieldNotes
datehour that this report is for
memorymegabytes of memory requested for the phase
diskgigabytes of disk requested for the phase
secondstotal wall time spent across all tasks for the phase that hour
ntasksnumber of tasks seen running for that phase that hour
bandwidthall bytes, including any overhead

Summary

mget ~~/reports/usage/summary/latest/ | json
{
    "date": "2013-06-23T00:00:00.000Z",
    "storageGBHours": "48939",
    "bandwidthBytes": {
        "in": "119",
        "out": "36"
    },
    "requests": {
        "DELETE": "5346",
        "GET": "16351",
        "HEAD": "5984",
        "LIST": "12794",
        "OPTIONS": "0",
        "POST": "2556",
        "PUT": "81817"
    },
    "computeBandwidthBytes": {
        "in": "4894",
        "out": "36160"
    },
    "computeGBSeconds": "54680"
}
FieldNotes
datecalendar day that this report is for
requestsbillable operation type, not HTTP method
computeGBSecondsseconds of compute time per GB memory