L’API GraphQL ne renvoie pas de traces. Elle gère des modèles comme les applications, les incidents, les tableaux de bord et les alertes. Consultez les traces via
l’API REST (V2), par exemple en listant les traces.La lecture des métriques et des journaux via l’API GraphQL est obsolète. Utilisez plutôt les metrics et la recherche de journaux de l’API REST (V2). L’API GraphQL ne peut pas rechercher dans les lignes de journal. Les exemples de métriques sur
cette page sont conservés pour les intégrations existantes.
Récupérer les déploiements
Requête
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
}
}
Variables de requête
{
"appId": "YOUR-APP-ID",
"limit": 25
}
Récupérer les incidents d’un déploiement
Requête
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
}
Variables de requête
{
"appId": "YOUR-APP-ID",
"markerId": "YOUR-DEPLOY-MARKER-ID",
"limit": 200
}
Récupérer le nombre d’erreurs
Cet exemple utilise l’API de métriques GraphQL obsolète. Pour les nouvelles
intégrations, utilisez plutôt le point de terminaison REST metrics
list.
Requête
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
}
}
}
}
}
}
Variables de requête
{
"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": "error_count",
"tags": [{ "key": "namespace", "value": "*" }],
"fields": [{ "field": "COUNTER", "aggregate": "SUM" }]
}
]
}
Récupérer la moyenne (séries temporelles)
Cet exemple utilise l’API de métriques GraphQL obsolète. Pour les nouvelles
intégrations, utilisez plutôt le point de terminaison REST metrics
timeseries.
Requête
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
}
}
}
}
}
}
Variables de requête
{
"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": "trace_duration",
"tags": [ // You can add more namespaces here, this example just fetches the Mean for web namespace.
{
"key": "namespace",
"value": "web"
}
],
"fields": [
{
"field": "MEAN"
}
]
}
]
}
Récupérer la moyenne (agrégée)
Cet exemple utilise l’API de métriques GraphQL obsolète. Pour les nouvelles
intégrations, utilisez plutôt le point de terminaison REST metrics
list.
Requête
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
}
}
}
}
}
}
Variables de requête
{
"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": "trace_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"}
]
}
]
}
Récupérer un incident
Requête
query IncidentQuery($appId: String!, $incidentNumber: Int!) {
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
}
fragment PerformanceIncident on PerformanceIncident {
id
number
lastOccurredAt
actionNames
state
notificationFrequency
notificationThreshold
namespace
description
severity
__typename
}
Variables de requête
{
"appId": "YOUR-APP-ID",
"incidentNumber": 42
}
Récupérer les moniteurs de disponibilité et leurs alertes
Requête
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
}
Variables de requête
{
"appId": "YOUR-APP-ID"
}
Récupérer l’état d’un moniteur de disponibilité
Cet exemple utilise l’API de métriques GraphQL obsolète. Pour les nouvelles
intégrations, utilisez plutôt le point de terminaison REST metrics
timeseries.
Requête
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
}
}
}
}
}
}
Variables de requête
{
"appId": "YOUR-APP-ID",
"timeframe": "R1H", // for example: R1H, R4H, R8H, R12H, R24H, R48H, R7D, or R30D
"query": [
{
"name": "uptime_monitor_error_count",
"tags": [
{
"key": "name",
"value": "NAME-OF-UPTIME-MONITOR"
},
{
"key": "region",
"value": "*" // You can filter this to a specific region.
}
],
"fields": [
{
"field": "COUNTER"
}
]
}
]
}