Point de terminaison
Méthode de requête :POST
| Point de terminaison | Description |
|---|---|
| https://appsignal-endpoint.net/errors | Accepte les données formatées JSON |
Paramètres d’URL
| Paramètre | Type | Description |
|---|---|---|
| api_key | String | Clé d’API Front-end, peut être trouvée dans les paramètres de l’application. |
Shell
https://appsignal-endpoint.net/errors?api_key=<api_key>
Paramètres du corps
Le corps de la requête POST doit contenir un objet JSON, formaté comme suit :| Paramètre | Type | Description |
|---|---|---|
| timestamp | Integer | Timestamp (Epoch) auquel l’erreur s’est produite |
| action | String | (Optionnel) Nom de l’action où l’erreur s’est produite (par exemple BlogpostController#show ou UserInfoLambda#perform) |
| namespace | String | Namespace où l’erreur s’est produite (par exemple frontend ou lambda) |
| error | Error | Objet Error, voir la description ci-dessous |
| revision | String | (Optionnel) Hash complet de la révision (GIT) de l’application |
| tags | Object<String, String> | (Optionnel) Tags pour filtrer l’échantillon ou fournir un contexte supplémentaire. Assurez-vous que les clés et les valeurs sont des chaînes (par exemple {"account_id": "abc-123"}) |
| params | Object<String, String> | (Optionnel) Paramètres qui ont été passés à la fonction où l’erreur s’est produite. Assurez-vous que les clés et les valeurs sont des chaînes (par exemple {"id": "abc-123"}) |
| environment | Object<String, String> | (Optionnel) Valeurs d’environnement définies au moment où l’erreur s’est produite. Assurez-vous que les clés et les valeurs sont des chaînes (par exemple {"REGION": "eu-central-1"}) |
| breadcrumbs | Array<Breadcrumb> | (Optionnel) Tableau de breadcrumbs, enregistrés avant que l’erreur ne se produise. Voir ci-dessous la description de l’objet Breadcrumb |
| language | String | (Optionnel) Chaîne de langage, utilisée pour formater la backtrace. Les valeurs acceptées sont ruby, javascript. Laissez vide lorsque vous utilisez un autre langage |
| Paramètre | Type | Description |
|---|---|---|
| name | String | Nom de l’erreur (par exemple StandardError) |
| message | String | (Optionnel) Message d’erreur |
| backtrace | Array<String> | (Optionnel) Tableau des lignes de backtrace, chaque ligne doit être une chaîne |
| Paramètre | Type | Description |
|---|---|---|
| category | String | Catégorie pour étiqueter l’événement (par exemple network ou navigation) |
| action | String | Informations contextuelles liées à l’événement |
| message | String | (optionnel) Un message de log ou une autre chaîne à envoyer à AppSignal |
| metadata | Object<String, String> | (optionnel) Un objet de métadonnées lié à l’événement |
{
"action": "BlogpostController#show",
"namespace": "frontend",
"timestamp": 1559201249,
"error": {
"name": "StandardError",
"message": "Error message",
"backtrace": ["backtrace/line:1", "backtrace/line:2"]
},
"environment": {
"os": "windows",
"agent": "super secret user agent"
},
"params": {
"foo": "bar"
},
"tags": {
"account_id": "abc-123"
},
"revision": "revision-abc",
"breadcrumbs": [
{
"timestamp": 1559201249,
"category": "request",
"action": "http://google.com",
"message": "request failed",
"metadata": {
"code": "not_found"
}
}
],
"language": "javascript"
}
Exemple
require "uri"
require "json"
require "net/http"
url = URI("https://appsignal-endpoint.net/errors?api_key=FRONTEND-API-KEY")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"action": "BlogpostController#show",
"namespace": "frontend",
"timestamp": 1640327525,
"error": {
"name": "StandardError",
"message": "Error message",
"backtrace": [
"backtrace/line:1",
"backtrace/line:2"
]
},
"environment": {
"os": "windows",
"agent": "super secret user agent"
},
"params": {
"foo": "bar"
},
"tags": {
"account_id": "abc-123"
},
"revision": "revision-abc-123",
"breadcrumbs": [
{
"timestamp": 1640327525,
"category": "request",
"action": "http://google.com",
"message": "request failed",
"metadata": {
"code": "not_found"
}
}
],
"language": "javascript"
})
response = https.request(request)
puts response.read_body
Note : Cet endpoint est optimisé pour de grands volumes de trafic et ne
valide pas la clé API ni la charge utile. Une réponse
200 (OK) est renvoyée lorsque la
taille du corps est dans la limite de 200k. Cela ne signifie pas que la requête est
acceptée lors de sa réception.