Fetch deployments
Query
query MarkersIndexQuery(
$appId: String!
$limit: Int
$offset: Int
$start: DateTime
$end: DateTime
) {
app(id: $appId) {
id
deployMarkers(limit: $limit, offset: $offset, start: $start, end: $end) {
id
createdAt
shortRevision
revision
gitCompareUrl
user
liveForInWords
liveFor
exceptionCount
exceptionRate
__typename
}
__typename
}
}
Query variables
{
"appId": "YOUR-APP-ID",
"limit": 25
}
Fetch incidents by deployments
Query
query ExceptionIncidentsQuery(
$appId: String!
$namespaces: [String]
$markerId: String
$limit: Int
$offset: Int
$state: IncidentStateEnum
$order: IncidentOrderEnum
) {
app(id: $appId) {
id
exceptionIncidents(
namespaces: $namespaces
marker: $markerId
limit: $limit
state: $state
offset: $offset
order: $order
) {
...ExceptionIncidentRow
__typename
}
__typename
}
}
fragment ExceptionIncidentRow on ExceptionIncident {
id
number
count
perMarkerCount(marker: $markerId)
lastOccurredAt
actionNames
exceptionName
state
namespace
firstBacktraceLine
errorGroupingStrategy
severity
}
Query variables
{
"appId": "YOUR-APP-ID",
"markerId": "YOUR-DEPLOY-MARKER-ID",
"limit": 200
}
Search incidents by tag
Query
query Search(
$organizationSlug: String!
$query: String
$namespace: String
$sampleType: SampleTypeEnum
) {
organization(slug: $organizationSlug) {
search(query: $query, namespace: $namespace, sampleType: $sampleType) {
... on ExceptionSample {
id
time
action
namespace
overview {
key
value
}
exception {
name
message
}
incident {
... on ExceptionIncident {
number
}
}
app {
name
environment
id
}
}
... on PerformanceSample {
id
appId
time
action
namespace
duration
overview {
key
value
}
incident {
... on PerformanceIncident {
number
}
}
app {
name
environment
id
}
}
}
}
}
Query variables
{
"organizationSlug":"APPLICATION-SLUG" // taken from the URL of the application,
"sampleType":"EXCEPTION",
"query": "tag:value" // replace the word value with the values you are searching for
}
Fetch error count
Query
query MetricsListQuery(
$appId: String!
$start: DateTime
$end: DateTime
$timeframe: TimeframeEnum
$query: [MetricAggregation!]!
) {
app(id: $appId) {
id
metrics {
list(start: $start, end: $end, query: $query, timeframe: $timeframe) {
start
end
rows {
name
tags {
key
value
}
fields {
key
value
}
}
}
}
}
}
Query variables
{
"appId": "YOUR-APP-ID",
"start": "2021-06-04T13:00:00.000Z", // change this to the date of your preference
"end": "2021-12-21T14:00:00.000Z", // change this to the date of your preference
"query": [
{
"name": "transaction_exception_count",
"tags": [{ "key": "namespace", "value": "*" }],
"fields": [{ "field": "COUNTER", "aggregate": "SUM" }]
}
]
}
Fetch Mean (timeseries)
Query
query MetricTimeseriesQuery(
$appId: String!
$start: DateTime
$end: DateTime
$timeframe: TimeframeEnum
$query: [MetricTimeseries]
) {
app(id: $appId) {
id
metrics {
timeseries(
start: $start
end: $end
timeframe: $timeframe
query: $query
) {
start
end
resolution
keys {
name
fields
tags {
key
value
}
}
points {
timestamp
values {
value
}
}
}
}
}
}
Query variables
{
"appId": "YOUR-APP-ID",
"start": "2022-01-10T11:00:00Z", // Start data and time you want to fetch the Mean for
"end": "2022-01-10T11:05:00Z", // End data and time you want to fetch the Mean for
"query": [
{
"name": "transaction_duration",
"tags": [ // You can add more namespaces here, this example just fetches the Mean for web namespace.
{
"key": "namespace",
"value": "web"
}
],
"fields": [
{
"field": "MEAN"
}
]
}
]
}
Fetch Mean (aggregated)
Query
query MetricAggregationQuery(
$appId: String!
$start: DateTime
$end: DateTime
$timeframe: TimeframeEnum
$query: [MetricAggregation!]!
) {
app(id: $appId) {
id
metrics {
list(start: $start, end: $end, timeframe: $timeframe, query: $query) {
start
end
rows {
name
tags {
key
value
}
fields {
key
value
}
}
}
}
}
}
Query variables
{
"appId": "YOUR-APP-ID",
"start": "2022-01-10T11:00:00Z", // Start data and time you want to fetch the Mean for
"end": "2022-01-10T11:05:00Z", // End data and time you want to fetch the Mean for
"query": [
{
"name": "transaction_duration",
"tags": [ // You can add more namespaces here, this example just fetches the Mean for web namespace.
{
"key": "namespace",
"value": "web"
}
],
"fields": [
{"field":"mean","aggregate":"AVG"}
]
}
]
}
Fetch incident with sample
Query
query IncidentQuery(
$appId: String!
$incidentNumber: Int!
$sampleId: String
$timestamp: String
$timerange: [DateTime]
) {
app(id: $appId) {
id
incident(incidentNumber: $incidentNumber) {
... on ExceptionIncident {
...ExceptionIncident
}
... on PerformanceIncident {
...PerformanceIncident
}
}
}
}
fragment ExceptionIncident on ExceptionIncident {
id
number
lastOccurredAt
actionNames
exceptionName
notificationFrequency
state
namespace
firstBacktraceLine
errorGroupingStrategy
sample(id: $sampleId, timestamp: $timestamp, timerange: $timerange) {
...ExceptionSample
}
}
fragment ExceptionSample on ExceptionSample {
id
appId
time
revision
action
namespace
queueDuration
originallyRequested
overview {
key
value
}
params
sessionData
customData
environment {
key
value
}
exception {
name
message
backtrace {
original
line
column
path
method
url
type
code {
line
source
}
error {
class
message
}
}
}
}
fragment PerformanceIncident on PerformanceIncident {
id
number
lastOccurredAt
actionNames
state
notificationFrequency
notificationThreshold
namespace
description
severity
sample(id: $sampleId, timestamp: $timestamp, timerange: $timerange) {
...PerformanceSample
__typename
}
__typename
}
fragment PerformanceSample on PerformanceSample {
id
appId
time
revision
action
namespace
originallyRequested
hasNPlusOne
timelineTruncatedEvents
overview {
key
value
__typename
}
params
sessionData
customData
environment {
key
value
__typename
}
duration
queueDuration
timeline {
...TimelineEvent
__typename
}
version
__typename
}
fragment TimelineEvent on TimelineEvent {
action
duration
childDuration
group
name
payload {
name
body
__typename
}
time
end
digest
count
level
allocationCount
childAllocationCount
__typename
}
Query variables
{
"appId": "YOUR-APP-ID",
"incidentNumber": ID-OF-INCIDENT,
"sampleId": "SAMPLE-ID-STRING", // this is optional
"timestamp": "SAMPLE-TIME-STAMP", // this is optional
"timerange": "SAMPLE-TIME-RANGE", // this is optional
}
Fetch uptime monitors and their alerts
Query
query uptimeMonitorsQuery($appId: String!) {
app(id: $appId) {
id
uptimeMonitors {
...UptimeMonitor
}
}
}
fragment UptimeMonitor on UptimeMonitor {
id
name
url
description
notifierIds
warmupDuration
checkBodyContent
regions
headers {
key
value
}
alerts {
...Alert
}
statusPages {
...StatusPage
}
}
fragment Alert on Alert {
id
state
message
metricDigest
createdAt
openedAt
resolvedAt
closedAt
timeframeStartAt
timeframeEndAt
lastValue
peakValue
mean
tags {
key
value
}
}
fragment StatusPage on StatusPage {
id
title
subdomain
hostname
description
threshold
uptimeMonitorIds
}
Query variables
{
"appId": "YOUR-APP-ID"
}
Fetch uptime monitors status
Query
query MetricTimeseriesQuery(
$appId: String!
$start: DateTime
$end: DateTime
$timeframe: TimeframeEnum
$query: [MetricTimeseries]
) {
app(id: $appId) {
id
metrics {
timeseries(
start: $start
end: $end
timeframe: $timeframe
query: $query
) {
start
end
resolution
keys {
digest
name
fields
tags {
key
value
}
}
points {
timestamp
values {
key
value
}
}
}
}
}
}
Query variables
{
"appId": "YOUR-APP-ID",
"timeframe": "R1H", // Available option (R1H,R4H,R8H,R12H,,R24H,R48H, R7D,R30D)
"query": [
{
"name": "uptime_monitor_error_count",
"tags": [
{
"key": "name",
"value": "NAME-OF-UPTIME-MONITOR"
},
{
"key": "region",
"value": "*" // You can filter this to specific region as well.
}
],
"fields": [
{
"field": "COUNTER"
}
]
}
]
}