Skip to content
Start here

Analytics

AnalyticsAggregates

AnalyticsAggregatesCurrents

Get current aggregated analytics
client.spectrum.analytics.aggregates.currents.get(CurrentGetParams { zone_id, appID, colo_name } params, RequestOptionsoptions?): CurrentGetResponse { appID, bytesEgress, bytesIngress, 2 more }
GET/zones/{zone_id}/spectrum/analytics/aggregate/current
ModelsExpand Collapse
CurrentGetResponse = Array<CurrentGetResponseItem>
appID: string

Application identifier.

maxLength32
bytesEgress: number

Number of bytes sent

bytesIngress: number

Number of bytes received

connections: number

Number of connections

durationAvg: number

Average duration of connections

AnalyticsEvents

ModelsExpand Collapse
Dimension = "event" | "appID" | "coloName" | "ipVersion"
One of the following:
"event"
"appID"
"coloName"
"ipVersion"

AnalyticsEventsBytimes

Get analytics by time
client.spectrum.analytics.events.bytimes.get(BytimeGetParams { zone_id, time_delta, dimensions, 5 more } params, RequestOptionsoptions?): BytimeGetResponse { data, data_lag, max, 5 more }
GET/zones/{zone_id}/spectrum/analytics/events/bytime
ModelsExpand Collapse
BytimeGetResponse { data, data_lag, max, 5 more }
data: Array<Data>

List of columns returned by the analytics query.

dimensions?: Array<string>
metrics?: Array<number> | Array<Array<number>>
One of the following:
Array<number>
Array<Array<number>>
data_lag: number

Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.

minimum0
max: Record<string, number>

Maximum result for each selected metrics across all data.

min: Record<string, number>

Minimum result for each selected metrics across all data.

query: Query { dimensions, filters, limit, 4 more }
dimensions?: Array<Dimension>

Can be used to break down the data by given attributes. Options are:

DimensionNameExample
eventConnection Eventconnect, progress, disconnect, originError, clientFiltered
appIDApplication ID40d67c87c6cd4b889a4fd57805225e85
coloNameColo NameSFO
ipVersionIP version used by the client4, 6.
One of the following:
"event"
"appID"
"coloName"
"ipVersion"
filters?: string

Used to filter rows by one or more dimensions. Filters can be combined using OR and AND boolean logic. AND takes precedence over OR in all the expressions. The OR operator is defined using a comma (,) or OR keyword surrounded by whitespace. The AND operator is defined using a semicolon (;) or AND keyword surrounded by whitespace. Note that the semicolon is a reserved character in URLs (rfc1738) and needs to be percent-encoded as %3B. Comparison options are:

OperatorNameURL Encoded
==Equals%3D%3D
!=Does not equals!%3D
>Greater Than%3E
<Less Than%3C
>=Greater than or equal to%3E%3D
<=Less than or equal to%3C%3D
limit?: number

Limit number of returned metrics.

metrics?: Array<"count" | "bytesIngress" | "bytesEgress" | 4 more>

One or more metrics to compute. Options are:

MetricNameExampleUnit
countCount of total events1000Count
bytesIngressSum of ingress bytes1000Sum
bytesEgressSum of egress bytes1000Sum
durationAvgAverage connection duration1.0Time in milliseconds
durationMedianMedian connection duration1.0Time in milliseconds
duration90th90th percentile connection duration1.0Time in milliseconds
duration99th99th percentile connection duration1.0Time in milliseconds.
One of the following:
"count"
"bytesIngress"
"bytesEgress"
"durationAvg"
"durationMedian"
"duration90th"
"duration99th"
since?: string

Start of time interval to query, defaults to until - 6 hours. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.

formatdate-time
sort?: Array<string>

The sort order for the result set; sort fields must be included in metrics or dimensions.

until?: string

End of time interval to query, defaults to current time. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.

formatdate-time
rows: number

Total number of rows in the result.

minimum0
totals: Record<string, number>

Total result for each selected metrics across all data.

time_intervals?: Array<Array<string>>

List of time interval buckets: [start, end]

AnalyticsEventsSummaries

Get analytics summary
client.spectrum.analytics.events.summaries.get(SummaryGetParams { zone_id, dimensions, filters, 4 more } params, RequestOptionsoptions?): SummaryGetResponse { data, data_lag, max, 5 more }
GET/zones/{zone_id}/spectrum/analytics/events/summary
ModelsExpand Collapse
SummaryGetResponse { data, data_lag, max, 5 more }
data: Array<Data>

List of columns returned by the analytics query.

dimensions?: Array<string>
metrics?: Array<number> | Array<Array<number>>
One of the following:
Array<number>
Array<Array<number>>
data_lag: number

Number of seconds between current time and last processed event, i.e. how many seconds of data could be missing.

minimum0
max: Record<string, number>

Maximum result for each selected metrics across all data.

min: Record<string, number>

Minimum result for each selected metrics across all data.

query: Query { dimensions, filters, limit, 4 more }
dimensions?: Array<Dimension>

Can be used to break down the data by given attributes. Options are:

DimensionNameExample
eventConnection Eventconnect, progress, disconnect, originError, clientFiltered
appIDApplication ID40d67c87c6cd4b889a4fd57805225e85
coloNameColo NameSFO
ipVersionIP version used by the client4, 6.
One of the following:
"event"
"appID"
"coloName"
"ipVersion"
filters?: string

Used to filter rows by one or more dimensions. Filters can be combined using OR and AND boolean logic. AND takes precedence over OR in all the expressions. The OR operator is defined using a comma (,) or OR keyword surrounded by whitespace. The AND operator is defined using a semicolon (;) or AND keyword surrounded by whitespace. Note that the semicolon is a reserved character in URLs (rfc1738) and needs to be percent-encoded as %3B. Comparison options are:

OperatorNameURL Encoded
==Equals%3D%3D
!=Does not equals!%3D
>Greater Than%3E
<Less Than%3C
>=Greater than or equal to%3E%3D
<=Less than or equal to%3C%3D
limit?: number

Limit number of returned metrics.

metrics?: Array<"count" | "bytesIngress" | "bytesEgress" | 4 more>

One or more metrics to compute. Options are:

MetricNameExampleUnit
countCount of total events1000Count
bytesIngressSum of ingress bytes1000Sum
bytesEgressSum of egress bytes1000Sum
durationAvgAverage connection duration1.0Time in milliseconds
durationMedianMedian connection duration1.0Time in milliseconds
duration90th90th percentile connection duration1.0Time in milliseconds
duration99th99th percentile connection duration1.0Time in milliseconds.
One of the following:
"count"
"bytesIngress"
"bytesEgress"
"durationAvg"
"durationMedian"
"duration90th"
"duration99th"
since?: string

Start of time interval to query, defaults to until - 6 hours. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.

formatdate-time
sort?: Array<string>

The sort order for the result set; sort fields must be included in metrics or dimensions.

until?: string

End of time interval to query, defaults to current time. Timestamp must be in RFC3339 format and uses UTC unless otherwise specified.

formatdate-time
rows: number

Total number of rows in the result.

minimum0
totals: Record<string, number>

Total result for each selected metrics across all data.

time_intervals?: Array<Array<string>>

List of time interval buckets: [start, end]