Passer au contenu principal

Index des échantillons

Points de terminaison [GET] :
Point de terminaisonDescription
/api/[app_id]/samples.jsonRenvoie TOUS les types d’échantillons
/api/[app_id]/samples/performance.jsonRenvoie les échantillons de performance
/api/[app_id]/samples/errors.jsonRenvoie les échantillons d’erreurs
Paramètres :
ParamTypeDescription
action_idstringExemple : BlogPostsController-hash-show
exceptionstringExemple : NoMethodError
sincetimestamp/integerTous les horaires sont UTC
beforetimestamp/integerTous les horaires sont UTC
limitintegerNombre d’entrées renvoyées (par défaut 10)
count_onlyboolean(true/false) Pour renvoyer uniquement un nombre
Échappez les actions en remplaçant :
  • # par -hash-
  • / par -slash-
  • . par -dot-
Ainsi, BlogPostsController#show devient : BlogPostsController-hash-show Un exemple de requête complète serait :
Shell
https://appsignal.com/api/5114f7e38c5ce90000000011/samples.json?token=HseUe&action_id=AccountsController-hash-index&exception=ActionView::Template::Error&since=1374843246

Résultat

Ce point de terminaison renvoie le JSON suivant (un échantillon lent et un échantillon d’erreur) :
{
  "count": 2,
  "log_entries": [
    {
      "id": "51f29e7b183d700800150358_SlowController#show_1476962400",
      "action": "SlowController#show",
      "path": "/slow-request",
      "duration": 3182.545407,
      "status": 200,
      "time": 1476962400,
      "is_exception": false,
      "exception": {
        "name": null
      }
    },
    {
      "id": "57f653fa16b7e24cb0dc9e2b_ErrorController#trigger_1475761080",
      "action": "ErrorController#trigger",
      "path": "/error-request",
      "duration": null,
      "status": null,
      "time": 1475761080,
      "is_exception": true,
      "exception": {
        "name": "ActionView::Template::Error"
      }
    }
  ]
}

Affichage d’un échantillon

Point de terminaison [GET] : /api/[app_id]/samples/[id].json Paramètres :
ParamTypeDescription
idstringID d’échantillon assaini (exemple : 51f29e7b183d700800150358_SlowController-hash-show_1476962400)

Résultat

Voici une entrée de log SLOW :
{
  "id": "51f29e7b183d700800150358_SlowController#show_1476962400",
  "action": "slow#request",
  "db_runtime": 500.0,
  "duration": 300.0,
  "environment": {},
  "hostname": "app1",
  "is_exception": null,
  "kind": "http_request",
  "params": {},
  "path": "/blog",
  "request_format": "html",
  "request_method": "GET",
  "session_data": {},
  "status": "200",
  "view_runtime": 500.0,
  "time": 1002700800,
  "end": 978339601,
  "allocation_count": 110101,
  "events": [
      {
          "action": "query",
          "duration": 250.0,
          "group": "mongoid",
          "name": "query.mongoid",
          "payload": {
              "query": "this is a mongoid query"
          },
          "time": 0,
          "end": 0
          "digest": 00000,
          "allocation_count": 1010101

      }
  ],
  "exception": null
}
Voici une entrée de log ERROR :
{
  "id": "57f653fa16b7e24cb0dc9e2b_ErrorController#trigger_1475761080",
  "action": "Error#trigger",
  "db_runtime": 500.0,
  "duration": null,
  "environment": {
    "HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh"
  },
  "hostname": "app1",
  "is_exception": true,
  "kind": "http_request",
  "params": {
    "id": 1,
    "get": "something"
  },
  "path": "/blog",
  "request_format": "html",
  "request_method": "GET",
  "session_data": {
    "current_user_id": 1
  },
  "status": "200",
  "view_runtime": 500.0,
  "time": 1002700800,
  "end": 978339601,
  "events": [],
  "tags": {
    "user": "john doe",
    "id": 1
  },
  "exception": {
    "message": "The method was not found",
    "name": "NoMethodError",
    "backtrace": ["Backtrace line 1", "Backtrace line 2", "Backtrace line 3"]
  }
}
Remarque : Si vous avez besoin d’une recherche plus avancée, telle que la recherche d’échantillons par tag, vous pouvez le faire en utilisant notre API GraphQL. Consultez la documentation de l’API GraphQL pour des exemples de requêtes et plus de détails.