Les markers sont de petites icônes utilisées dans les graphiques pour indiquer
un changement. Il peut s’agir d’un déploiement avec un « Deploy marker » ou
d’un événement personnalisé avec un « Custom marker ».
Ce point de terminaison Marker permet la création et l’indexation des markers
disponibles par application.
Types de markers
Deploy markers
Les deploy markers sont de petits points au bas de chaque graphique qui
indiquent à quel moment une nouvelle révision d’une application a été
déployée. C’est un excellent moyen de comparer les déploiements les uns avec
les autres et de voir si la nouvelle version a augmenté ou diminué les
performances de l’application.
Une liste de ces markers est également affichée sur la page « Deploys » sur
AppSignal.com, dans un contexte d’application.
Custom markers
Les custom markers offrent un moyen d’ajouter plus de contexte aux graphiques
en vous permettant d’ajouter vous-même des annotations. Créez un custom marker
pour les opérations de mise à l’échelle, lorsqu’il y a eu un pic soudain de
trafic ou lorsqu’une base de données rencontrait des problèmes.
Création de marker
Ce point de terminaison permet la création de deploy markers et de custom
markers.
Lors de la création de la charge utile pour cette requête, vous pouvez
sélectionner le type de marker à créer en spécifiant la valeur kind.
| |
|---|
| Point de terminaison | /api/\[app_id\]/markers.json |
| Méthode de requête | POST |
| Contexte | Applications |
| Authentification requise ? | Oui |
| Formats de réponse | JSON |
Deploy marker
Cette méthode de signalement des marqueurs de déploiement est obsolète et peut être supprimée à tout moment à l’avenir.
Signaler des marqueurs de déploiement avec cette méthode n’est utile que pour les petites applications qui utilisent une seule instance d’application. Elle crée un nouveau marqueur de déploiement à un moment précis, indépendamment de la version réellement exécutée par l’application. Cela signifie également qu’elle est plus sujette aux erreurs en regroupant sous le déploiement des données qui ne devraient pas en faire partie. Nous détectons automatiquement le déploiement en lisant le fichier REVISION que Capistrano ajoute au répertoire de release depuis la gem Ruby 4.5.18.
| Paramètre | Type | Description |
|---|
| kind | String | Le type de marker à créer - « deploy ». |
| created_at | Date - ISO 8601 | Heure à laquelle insérer le marker. Laissez vide pour utiliser l’heure actuelle. |
| repository | String | Lien ou référence Git, par exemple « main ». |
| revision | String | Référence de révision Git. Utilisée pour créer des liens git diff dans l’interface. |
| user | String | Utilisateur qui a initié le déploiement. |
Exemple de charge utile
{
"marker": {
"kind": "deploy",
"created_at": "2015-07-21T15:06:31.737+02:00",
"repository": "git@github.com:company/repository.git",
"revision": "fe001015311af4769a4dad76bdbce4c8f5d022af",
"user": "user"
}
}
Exemple de charge utile avec curl
curl -H "Content-Type: application/json" -XPOST https://appsignal.com/api/[app-id]/markers.json?token=[your-personal-token] \
-d '{ "marker":{ "kind": "deploy", "repository": "git@github.com:company/repository.git", "revision": "[revision]", "user": "[user]"}}'
Toutes les requêtes vers les points de terminaison de l’API AppSignal
nécessitent un jeton d’API personnel donné en tant que paramètre de requête
URL pour l’authentification.
Custom marker
Utilisé pour annoter les événements qui peuvent avoir un impact sur vos
performances ou votre taux d’erreur. Exemples : mise à l’échelle/réduction de
l’infrastructure cloud, maintenance sur la base de données, cause des pics
d’erreurs.
Si vous souhaitez créer des custom markers, mais ne pas utiliser votre jeton
d’API personnel, vous pouvez utiliser le point de terminaison
public à la place.
| Paramètre | Type | Description |
|---|
| kind | String | Le type de marker à créer - « custom ». |
| created_at | Date - ISO 8601 | Heure à laquelle insérer le marker. Laissez vide pour utiliser l’heure actuelle. |
| icon | String - Optionnel | Emoji à utiliser pour ce custom marker, par défaut 🚀. |
| message | String - Optionnel | Message affiché au survol du marker dans l’interface. Tronqué à 200 caractères. |
Exemple de charge utile
{
"marker": {
"kind": "custom",
"created_at": "2015-07-21T15:06:31.737+02:00",
"icon": "💩",
"message": "Accidentlly dropped production DB"
}
}
Index des markers
Ce point de terminaison renvoie une liste de markers. Combine à la fois les
deploy markers et les custom markers.
| |
|---|
| Point de terminaison | /api/\[app_id\]/markers.json |
| Méthode de requête | GET |
| Contexte | Applications |
| Authentification requise ? | Oui |
| Formats de réponse | JSON |
Paramètres
| Paramètre | Type | Description |
|---|
| kind | String | Le type de marker à créer - « custom ». |
| from | Date - ISO 8601 / Integer - timestamp UNIX | Tous les horaires sont en UTC. |
| to | Date - ISO 8601 / Integer - timestamp UNIX | Tous les horaires sont en UTC. |
| limit | Integer | Limite le nombre de markers renvoyés. |
| count_only | Boolean | Définir sur « true » pour renvoyer uniquement le nombre de markers existants. |
Réponse
{
"count": 4212,
"markers": [
{
"kind": "deploy",
"id": "50a61f1b660cd3677775ccb0",
"created_at": "2015-07-21T15:06:31.737+02:00",
"closed_at": null,
"live_for": 107413,
"live_for_in_words": "1d",
"gem_version": null,
"repository": "git@github.com:company/repository.git",
"revision": "fe001015311af4769a4dad76bdbce4c8f5d022af",
"short_revision": "fe00101",
"git_compare_url": "https://github.com/company/repository/compare/aaa...bbb",
"user": "user",
"exception_count": 200,
"exception_rate": 8.81
},
{
"kind": "custom",
"icon": "💩",
"message": "Accidentlly dropped production DB",
"created_at": "2015-07-21T15:06:31.737+02:00"
},
{
"kind": "notification",
"message": "Appsignal API issues.",
"created_at": "2015-07-21T15:06:31.737+02:00"
}
]
}
Avec "count_only": true.
Affichage d’un marker
Ce point de terminaison renvoie la représentation JSON d’un seul marker.
| |
|---|
| Point de terminaison | /api/\[app_id\]/markers/\[marker_id\].json |
| Méthode de requête | GET |
| Contexte | Applications |
| Authentification requise ? | Oui |
| Formats de réponse | JSON |
Paramètres
| Paramètre | Type | Description |
|---|
| marker_id | String | L’id du marker à renvoyer. |
Réponse
La réponse pour les deploy markers et les custom markers est différente. Les
deploy markers contiennent plus de données sur un déploiement donné, tandis
que les custom markers ne contiennent que les données fournies lors de la
création.
Deploy marker
{
"id": "50a61f1b660cd3677775ccb0",
"created_at": "2015-07-21T15:06:31.737+02:00",
"closed_at": null,
"live_for": 107413,
"live_for_in_words": "1d",
"gem_version": null,
"repository": "git@github.com:company/repository.git",
"revision": "fe001015311af4769a4dad76bdbce4c8f5d022af",
"short_revision": "fe00101",
"git_compare_url": "https://github.com/company/repository/compare/aaa...bbb",
"user": "user",
"exception_count": 200,
"exception_rate": 8.81
}
Custom marker
{
"kind": "custom",
"icon": "💩",
"message": "Accidentlly dropped production DB",
"created_at": "2015-07-21T15:06:31.737+02:00"
}
Notification marker
{
"kind": "notification",
"message": "Appsignal API issues.",
"created_at": "2015-07-21T15:06:31.737+02:00"
}
Mise à jour d’un marker
Ce point de terminaison met à jour un seul marker et renvoie la représentation
JSON du marker mis à jour.
| |
|---|
| Point de terminaison | /api/\[app_id\]/markers/\[marker_id\].json |
| Méthode de requête | PUT |
| Contexte | Applications |
| Authentification requise ? | Oui |
| Formats de réponse | JSON |
Paramètres
| Paramètre | Type | Description |
|---|
| marker_id | String | L’id du marker à mettre à jour. |
Charge utile
La charge utile est identique à une requête de création/POST
et diffère selon le type de marker.
Réponse
La réponse est la même qu’une requête show/GET et diffère
selon le type de marker.
Suppression d’un marker
Ce point de terminaison supprime un seul marker.
| |
|---|
| Point de terminaison | /api/\[app_id\]/markers/\[marker_id\].json |
| Méthode de requête | DELETE |
| Contexte | Applications |
| Authentification requise ? | Oui |
| Formats de réponse | JSON |
Paramètres
| Paramètre | Type | Description |
|---|
| marker_id | String | L’id du marker à supprimer. |
Réponse
Le corps de réponse de cette requête est vide. Le code de statut indiquera si
elle a réussi ou non.