at.happyproto.server.getScriptMetrics
How one of the caller's own instances' scripts ran in a window: every script that ran, or with trigger, one script's series. Customers only.
Details · query
| Kind | query |
|---|---|
| Authority | server.happyproto.at |
| Indexed |
Checks
Validunlimited-stringdefs.main.parameters.properties.idNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.parameters.properties.stepNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.parameters.properties.triggerNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.parameters.properties.windowNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.stepNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.windowNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.script.properties.kindNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.script.properties.layerNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.script.properties.triggerNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.seriesScript.properties.kindNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.seriesScript.properties.triggerNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "How one of the caller's own instances' scripts ran in a window: every script that ran, or with trigger, one script's series. Customers only.",
"errors": [
{
"description": "The id is not a UUID, or the window, step or trigger is not one this method takes.",
"name": "InvalidRequest"
},
{
"description": "No such instance, or it is not the caller's. These are indistinguishable.",
"name": "NotFound"
},
{
"description": "With trigger: that script has not run in the window.",
"name": "ScriptNotRun"
},
{
"description": "The instance is not running, or its host cannot be reached.",
"name": "MetricsUnavailable"
},
{
"description": "Too many metrics reads are running for this instance or its host. Try again shortly.",
"name": "MetricsBusy"
},
{
"description": "The instance's HappyView did not answer in time. Try again shortly.",
"name": "MetricsTimeout"
},
{
"description": "The instance runs a HappyView too old to report its metrics. Upgrading it fixes this.",
"name": "NotSupported"
},
{
"description": "This endpoint requires an authenticated caller.",
"name": "AuthRequired"
},
{
"description": "The caller is not a HappyProto customer, or the provisioner refused them.",
"name": "Forbidden"
},
{
"description": "Passed through from the provisioner.",
"name": "InvalidSlug"
},
{
"description": "Passed through from the provisioner.",
"name": "SlugTaken"
},
{
"description": "Passed through from the provisioner.",
"name": "NotEntitled"
},
{
"description": "Passed through from the provisioner.",
"name": "InstanceLimit"
},
{
"description": "Passed through from the provisioner.",
"name": "NoCapacity"
},
{
"description": "Passed through from the provisioner.",
"name": "OperationInProgress"
},
{
"description": "The provisioner is unreachable, not configured, or answered with an error it does not explain to callers.",
"name": "Upstream"
}
],
"output": {
"encoding": "application/json",
"schema": {
"description": "Without trigger, window, enabled and scripts. With it, window, step, enabled, script and points.",
"properties": {
"enabled": {
"description": "Whether the instance is recording metrics at all.",
"type": "boolean"
},
"points": {
"description": "With trigger: the window in steps, oldest first.",
"items": {
"ref": "#point",
"type": "ref"
},
"type": "array"
},
"retentionDays": {
"description": "On 7d and 30d: how many days the instance keeps, so a longer window covers only that.",
"type": "integer"
},
"script": {
"description": "With trigger: the script, over the whole window.",
"ref": "#seriesScript",
"type": "ref"
},
"scripts": {
"description": "Without trigger: every script that ran in the window.",
"items": {
"ref": "#script",
"type": "ref"
},
"type": "array"
},
"step": {
"description": "With trigger: how wide each point is.",
"knownValues": [
"1m",
"30m",
"1h",
"1d"
],
"type": "string"
},
"window": {
"knownValues": [
"1h",
"24h",
"7d",
"30d"
],
"type": "string"
}
},
"required": [
"window",
"enabled"
],
"type": "object"
}
},
"parameters": {
"properties": {
"id": {
"description": "The instance's UUID.",
"type": "string"
},
"step": {
"description": "With trigger: how wide each point is. 1m and 30m suit 1h and 24h; 1h and 1d suit 7d and 30d. Defaults to the window's own.",
"knownValues": [
"1m",
"30m",
"1h",
"1d"
],
"type": "string"
},
"trigger": {
"description": "One script's trigger, such as xrpc.query:com.example.getThing, at most 400 characters. With it, the reply is that script's series; without it, every script that ran.",
"type": "string"
},
"window": {
"default": "1h",
"description": "How far back to read. 1h and 24h come from the instance's memory; 7d and 30d from what it stored, as far back as it keeps.",
"knownValues": [
"1h",
"24h",
"7d",
"30d"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "params"
},
"type": "query"
},
"outcomes": {
"description": "How the runs ended, by outcome. Every outcome is present, 0 when none ended that way.",
"properties": {
"error": {
"type": "integer"
},
"memory": {
"type": "integer"
},
"missingHandle": {
"type": "integer"
},
"noInterpreter": {
"type": "integer"
},
"ok": {
"type": "integer"
},
"runtime": {
"type": "integer"
},
"syntax": {
"type": "integer"
},
"timeout": {
"type": "integer"
},
"trap": {
"type": "integer"
}
},
"required": [
"ok",
"syntax",
"runtime",
"missingHandle",
"timeout",
"memory",
"trap",
"noInterpreter",
"error"
],
"type": "object"
},
"percentiles": {
"description": "Durations in whole microseconds. A value nothing measured is absent; a point carries only p50, p95 and max.",
"properties": {
"max": {
"type": "integer"
},
"mean": {
"type": "integer"
},
"p50": {
"type": "integer"
},
"p95": {
"type": "integer"
},
"p99": {
"type": "integer"
}
},
"type": "object"
},
"point": {
"properties": {
"outcomes": {
"ref": "#outcomes",
"type": "ref"
},
"runs": {
"type": "integer"
},
"start": {
"format": "datetime",
"type": "string"
},
"wallUs": {
"ref": "#percentiles",
"type": "ref"
}
},
"required": [
"start",
"runs",
"outcomes",
"wallUs"
],
"type": "object"
},
"script": {
"properties": {
"kind": {
"description": "What fired it, such as xrpc_query, record_event or job.",
"type": "string"
},
"layer": {
"description": "Where the script came from, such as project or dashboard.",
"type": "string"
},
"memoryPeakBytes": {
"description": "The most memory one run used. Absent when no run measured it.",
"type": "integer"
},
"outcomes": {
"ref": "#outcomes",
"type": "ref"
},
"runs": {
"type": "integer"
},
"trigger": {
"type": "string"
},
"wallUs": {
"description": "Each run's wall time, start to finish.",
"ref": "#percentiles",
"type": "ref"
}
},
"required": [
"trigger",
"kind",
"layer",
"runs",
"outcomes",
"wallUs"
],
"type": "object"
},
"seriesScript": {
"properties": {
"kind": {
"type": "string"
},
"outcomes": {
"ref": "#outcomes",
"type": "ref"
},
"runs": {
"type": "integer"
},
"trigger": {
"type": "string"
},
"wallUs": {
"ref": "#percentiles",
"type": "ref"
}
},
"required": [
"trigger",
"kind",
"runs",
"outcomes",
"wallUs"
],
"type": "object"
}
},
"id": "at.happyproto.server.getScriptMetrics",
"lexicon": 1
}