Pular para o conteúdo principal

Listagem de samples

Endpoints [GET]:
EndpointDescrição
/api/[app_id]/samples.jsonRetorna TODOS os tipos de samples
/api/[app_id]/samples/performance.jsonRetorna samples de performance
/api/[app_id]/samples/errors.jsonRetorna samples de erros
Parâmetros:
ParamTipoDescrição
action_idstringExemplo: BlogPostsController-hash-show
exceptionstringExemplo: NoMethodError
sincetimestamp/integerTodos os horários estão em UTC
beforetimestamp/integerTodos os horários estão em UTC
limitintegerA quantidade de entradas retornadas (padrão é 10)
count_onlyboolean(true/false) Para retornar apenas uma contagem
Escape as actions substituindo:
  • # por -hash-
  • / por -slash-
  • . por -dot-
Então BlogPostsController#show se torna: BlogPostsController-hash-show Um exemplo de requisição completa seria:
Shell
https://appsignal.com/api/5114f7e38c5ce90000000011/samples.json?token=HseUe&action_id=AccountsController-hash-index&exception=ActionView::Template::Error&since=1374843246

Resultado

Este endpoint retorna o seguinte JSON (um sample lento e um sample de erro):
{
  "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"
      }
    }
  ]
}

Exibição de sample

Endpoint [GET]: /api/[app_id]/samples/[id].json Parâmetros:
ParamTipoDescrição
idstringId do sample saneado (exemplo: 51f29e7b183d700800150358_SlowController-hash-show_1476962400)

Resultado

Esta é uma entrada de log LENTA:
{
  "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
}
Esta é uma entrada de log de ERRO:
{
  "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"]
  }
}
Observação: Se você precisar de consultas mais avançadas, como pesquisar samples por tag, você pode fazer isso usando nossa API GraphQL. Confira a documentação da API GraphQL para exemplos de consultas e mais detalhes.