Zum Hauptinhalt springen
Marker sind kleine Symbole, die in Graphen verwendet werden, um eine Änderung anzuzeigen. Das kann ein Deployment mittels eines „Deploy Markers” oder ein benutzerdefiniertes Ereignis mit einem „Custom Marker” sein. Dieser Marker-Endpunkt ermöglicht das Erstellen und Auflisten von Markern, die pro Anwendung verfügbar sind.

Marker-Typen

Deploy Marker

Deploy Marker sind kleine Punkte am unteren Rand jedes Graphen, die anzeigen, wann eine neue Revision einer Anwendung deployt wurde. Sie sind eine großartige Möglichkeit, Deployments miteinander zu vergleichen und zu sehen, ob die neue Version die Anwendungsleistung verbessert oder verschlechtert hat. Eine Liste dieser Marker wird auch auf der Seite „Deploys” auf AppSignal.com im Anwendungskontext angezeigt.
Weitere Informationen finden Sie auch auf unserer Seite zu Deploy Markern.

Custom Marker

Custom Marker bieten eine Möglichkeit, Graphen mehr Kontext hinzuzufügen, sodass Sie selbst Anmerkungen ergänzen können. Erstellen Sie einen Custom Marker für Skalierungsoperationen, wenn es einen plötzlichen Anstieg des Traffics gab oder wenn eine Datenbank Probleme verursacht hat.
Weitere Informationen finden Sie auch auf unserer Seite zu Custom Markern.

Marker erstellen

Dieser Endpunkt ermöglicht das Erstellen von Deploy- und Custom-Markern. Beim Erstellen der Payload für diese Anfrage können Sie über den Wert kind auswählen, welche Art von Marker erstellt werden soll.
Endpunkt/api/\[app_id\]/markers.json
Request-MethodePOST
KontextAnwendungen
Erfordert Authentifizierung?Ja
Response-FormateJSON

Deploy Marker

Diese Methode zum Melden von Deploy-Markern ist veraltet und kann in Zukunft jederzeit entfernt werden. Das Melden von Deploy-Markern mit dieser Methode ist nur für kleine Anwendungen sinnvoll, die eine einzige Anwendungsinstanz verwenden. Sie erstellt zu einem bestimmten Zeitpunkt einen neuen Deploy-Marker, unabhängig davon, welche Version die Anwendung tatsächlich ausführt. Das bedeutet auch, dass es fehleranfälliger ist, da Daten, die nicht zum Deployment gehören sollten, diesem zugeordnet werden können. Wir erkennen Deployments automatisch, indem wir die REVISION-Datei lesen, die Capistrano seit Ruby-Gem 4.5.18 zum Release-Verzeichnis hinzufügt.
ParameterTypBeschreibung
kindStringDie Art des zu erstellenden Markers – „deploy”.
created_atDatum - ISO 8601Zeitpunkt, zu dem der Marker eingefügt werden soll. Leer lassen, um die aktuelle Zeit zu verwenden.
repositoryStringGit-Link oder -Referenz, z. B. „main”.
revisionStringGit-Revisionsreferenz. Wird verwendet, um Git-Diff-Links in der UI zu erstellen.
userStringNutzer, der das Deployment initiiert hat.

Payload-Beispiel

{
  "marker": {
    "kind": "deploy",
    "created_at": "2015-07-21T15:06:31.737+02:00",
    "repository": "git@github.com:company/repository.git",
    "revision": "fe001015311af4769a4dad76bdbce4c8f5d022af",
    "user": "user"
  }
}

Payload-Beispiel mit 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]"}}'
Alle Anfragen an AppSignal-API-Endpunkte erfordern ein persönliches API-Token, das als URL-Query-Parameter zur Authentifizierung übergeben wird.

Custom Marker

Wird verwendet, um Ereignisse zu kennzeichnen, die sich auf Ihre Performance/Fehlerrate auswirken können. Beispiele sind: Hoch-/Herunterskalierung der Cloud-Infrastruktur, Wartung der Datenbank, Ursache für Fehlerspitzen. Wenn Sie Custom Marker erstellen möchten, aber kein persönliches API-Token verwenden möchten, können Sie stattdessen den Public Endpoint verwenden.
ParameterTypBeschreibung
kindStringDie Art des zu erstellenden Markers – „custom”.
created_atDatum - ISO 8601Zeitpunkt, zu dem der Marker eingefügt werden soll. Leer lassen, um die aktuelle Zeit zu verwenden.
iconString - OptionalEmoji, das für diesen Custom Marker verwendet werden soll, Standard ist 🚀.
messageString - OptionalNachricht, die beim Überfahren des Markers in der UI angezeigt wird. Auf 200 Zeichen gekürzt.

Payload-Beispiel

{
  "marker": {
    "kind": "custom",
    "created_at": "2015-07-21T15:06:31.737+02:00",
    "icon": "💩",
    "message": "Accidentlly dropped production DB"
  }
}

Marker auflisten

Dieser Endpunkt gibt eine Liste der Marker zurück. Er kombiniert sowohl Deploy- als auch Custom-Marker.
Endpunkt/api/\[app_id\]/markers.json
Request-MethodeGET
KontextAnwendungen
Erfordert Authentifizierung?Ja
Response-FormateJSON

Parameter

ParameterTypBeschreibung
kindStringDie Art des zu erstellenden Markers – „custom”.
fromDatum - ISO 8601 / Integer - UNIX-ZeitstempelAlle Zeiten sind in UTC.
toDatum - ISO 8601 / Integer - UNIX-ZeitstempelAlle Zeiten sind in UTC.
limitIntegerBegrenzt die Anzahl der zurückgegebenen Marker.
count_onlyBooleanAuf „true” setzen, um nur die Anzahl der existierenden Marker zurückzugeben.

Response

{
  "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"
    }
  ]
}
Mit "count_only": true.
{
  "count": 4212
}

Marker anzeigen

Dieser Endpunkt gibt die JSON-Darstellung eines einzelnen Markers zurück.
Endpunkt/api/\[app_id\]/markers/\[marker_id\].json
Request-MethodeGET
KontextAnwendungen
Erfordert Authentifizierung?Ja
Response-FormateJSON

Parameter

ParameterTypBeschreibung
marker_idStringDie ID des zurückzugebenden Markers.

Response

Die Response für Deploy Marker und Custom Marker unterscheidet sich. Deploy Marker enthalten mehr Daten zu einem bestimmten Deployment, während Custom Marker nur die beim Erstellen angegebenen Daten enthalten.

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"
}

Marker aktualisieren

Dieser Endpunkt aktualisiert einen einzelnen Marker und gibt die JSON-Darstellung des aktualisierten Markers zurück.
Endpunkt/api/\[app_id\]/markers/\[marker_id\].json
Request-MethodePUT
KontextAnwendungen
Erfordert Authentifizierung?Ja
Response-FormateJSON

Parameter

ParameterTypBeschreibung
marker_idStringDie ID des zu aktualisierenden Markers.

Payload

Die Payload ist dieselbe wie bei einer create/POST-Anfrage und unterscheidet sich je nach Marker-Typ.

Response

Die Response ist dieselbe wie bei einer show/GET-Anfrage und unterscheidet sich je nach Marker-Typ.

Marker löschen

Dieser Endpunkt löscht einen einzelnen Marker.
Endpunkt/api/\[app_id\]/markers/\[marker_id\].json
Request-MethodeDELETE
KontextAnwendungen
Erfordert Authentifizierung?Ja
Response-FormateJSON

Parameter

ParameterTypBeschreibung
marker_idStringDie ID des zu löschenden Markers.

Response

Der Response-Body dieser Anfrage ist leer. Der Statuscode gibt an, ob die Anfrage erfolgreich war oder nicht.