Class: Appwrite::Usage

Inherits:
Service show all
Defined in:
lib/appwrite/services/usage.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Usage

Returns a new instance of Usage.



6
7
8
# File 'lib/appwrite/services/usage.rb', line 6

def initialize(client)
    @client = client
end

Instance Method Details

#list_events(queries: nil, total: nil) ⇒ UsageEventList

Query usage event metrics from the usage database. Returns individual event rows with full metadata. Pass Query objects as JSON strings to filter, paginate, and order results. Supported query methods: equal, greaterThanEqual, lessThanEqual, orderAsc, orderDesc, limit, offset. Supported filter attributes: metric, path, method, status, resource, resourceId, country, userAgent, time (these match the underlying column names — note that the response surfaces ‘resource` as `resourceType` and `country` as `countryCode`). When no time filter is supplied the endpoint defaults to the last 7 days. Default `limit(100)` is applied if none is given; user-supplied limits are capped at 500. The `total` field is capped at 5000 to keep counts predictable — pass `total=false` to skip the count entirely.

Parameters:

  • queries (Array) (defaults to: nil)

    Array of query strings as JSON. Supported: equal(“metric”, […]), equal(“path”, […]), equal(“method”, […]), equal(“status”, […]), equal(“resource”, […]), equal(“resourceId”, […]), equal(“country”, […]), equal(“userAgent”, […]), greaterThanEqual(“time”, “…”), lessThanEqual(“time”, “…”), orderAsc(“time”), orderDesc(“time”), limit(N), offset(N).

  • []

    total When set to false, the total count returned will be 0 and will not be calculated.

Returns:

  • (UsageEventList)


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/appwrite/services/usage.rb', line 27

def list_events(queries: nil, total: nil)
    api_path = '/usage/events'

    api_params = {
        queries: queries,
        total: total,
    }
    
    api_headers = {
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::UsageEventList
    )

end

#list_gauges(queries: nil, total: nil) ⇒ UsageGaugeList

Query usage gauge metrics (point-in-time resource snapshots) from the usage database. Returns individual gauge snapshots with metric, value, and timestamp. Pass Query objects as JSON strings to filter, paginate, and order results. Supported query methods: equal, greaterThanEqual, lessThanEqual, orderAsc, orderDesc, limit, offset. Supported filter attributes: metric, time. Use ‘orderDesc(“time”), limit(1)` to fetch the most recent snapshot. When no time filter is supplied the endpoint defaults to the last 7 days. Default `limit(100)` is applied if none is given; user-supplied limits are capped at 500. The `total` field is capped at 5000 to keep counts predictable — pass `total=false` to skip the count entirely.

Parameters:

  • queries (Array) (defaults to: nil)

    Array of query strings as JSON. Supported: equal(“metric”, […]), greaterThanEqual(“time”, “…”), lessThanEqual(“time”, “…”), orderAsc(“time”), orderDesc(“time”), limit(N), offset(N).

  • []

    total When set to false, the total count returned will be 0 and will not be calculated.

Returns:

  • (UsageGaugeList)


64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/appwrite/services/usage.rb', line 64

def list_gauges(queries: nil, total: nil)
    api_path = '/usage/gauges'

    api_params = {
        queries: queries,
        total: total,
    }
    
    api_headers = {
    }

    @client.call(
        method: 'GET',
        path: api_path,
        headers: api_headers,
        params: api_params,
        response_type: Models::UsageGaugeList
    )

end