Zum Hauptinhalt springen
Standardmäßig erfassen die AppSignal-Integrationen Request-Parameter für Web-Anfragen in unterstützten Bibliotheken. Dazu gehören Query-Parameter und der POST-Request-Body*. Für Background-Jobs speichern wir die Job-Argumente in den Parametern.
*: Das AppSignal-for-PHP-Paket und die durch unsere OpenTelemetry-Beta unterstützten Sprachen speichern die Request-Query-Parameter und Request-Payload-Daten separat. Weitere Informationen zum separaten Setzen von Request-Payload-Daten finden Sie im Abschnitt Request-Payload-Daten.
🔐 Senden Sie keine personenbezogenen Daten (Personal Identifiable Information, PII) an AppSignal. Filtern Sie PII (z. B. Namen, E-Mail-Adressen) und verwenden Sie stattdessen eine ID, einen Hash oder einen pseudonymisierten Bezeichner.

Verwenden Sie Link Templates, um sie in Ihrer Anwendung zurückzuverknüpfen.
Sie können benutzerdefinierte Parameter an einer Transaktion oder einem Span setzen. Das Ändern der Parameter einer Transaktion überschreibt die durch die AppSignal-Instrumentierungen gesetzten Daten. Alle Parameter werden gefiltert durch unsere Integrationen, bevor sie an unsere Server gesendet werden. Die folgende Tabelle enthält eine Liste der akzeptierten Stammwerte pro Sprache. Jedes verschachtelte Objekt kann Werte enthalten, die zu gültigem JSON führen (Strings, Integer, Floats, Booleans, Nulls usw.).
SpracheAkzeptierte Stammwerte
RubyArrays, Hashes
JavaScriptArrays, Objekte
ElixirLists, Maps
PythonLists, Maps
GoJSON-serialisierter String
JavaJSON-serialisierter String
PHPArrays, Objekte
Das untenstehende Codebeispiel zeigt, wie benutzerdefinierte Request-Parameter gesetzt werden:
# Werte werden auf der obersten Ebene zusammengeführt
Appsignal.add_params(
  :post => {
    :title => "My title",
    :body => "Post text."
  }
)
Appsignal.add_params(:user => { :login => "some_name" })
Appsignal.add_params(:user => { :id => 123 })
# Parameter:
# {
#   :post => { :title => "My title", :body => "Post text." },
#   :user => { :id => 123 }
# }
Für bestimmte Sprachen ist zusätzliches Setup erforderlich. Bitte folgen Sie den Anweisungen für diese Sprachen: params

Request-Payload-Daten

Das AppSignal-for-PHP-Paket und die durch unsere OpenTelemetry-Beta unterstützten Sprachen speichern die Request-Query-Parameter und Request-Payload-Daten separat. Dieser Abschnitt beschreibt, wie die Request-Payload-Daten von POST-Anfragen gesetzt werden. Sie können benutzerdefinierte Request-Payload-Daten an einem Span setzen. Das Ändern der Request-Payload-Daten eines Spans überschreibt die durch die AppSignal-Instrumentierungen gesetzten Daten. Alle Parameter werden gefiltert durch unsere Integrationen, bevor sie an unsere Server gesendet werden. Die folgende Tabelle enthält eine Liste der akzeptierten Stammwerte pro Sprache. Jedes verschachtelte Objekt kann Werte enthalten, die zu gültigem JSON führen (Strings, Integer, Floats, Booleans, Nulls usw.).
SpracheAkzeptierte Stammwerte
GoJSON-serialisierter String
JavaJSON-serialisierter String
PHPArrays, Objekte
Das untenstehende Codebeispiel zeigt, wie benutzerdefinierte Request-Payload-Daten gesetzt werden:
// Zusätzliches Setup ist erforderlich, um zuerst einen neuen Span abzurufen oder zu erstellen
import (
	"encoding/json"

	"go.opentelemetry.io/otel/attribute"
	"go.opentelemetry.io/otel/trace"
)

payload := map[string]interface{}{
	"param1": "value1",
	"param2": "value2",
	"nested": map[string]interface{}{
		"param3": "value3",
		"param4": "value4",
	},
}
json, _ := json.Marshal(payload)
span.SetAttributes(attribute.String("appsignal.request.payload", string(json)))
Für bestimmte Sprachen ist zusätzliches Setup erforderlich. Bitte folgen Sie den Anweisungen für diese Sprachen:

Einschränkungen

Wenn die Anwendung Request-Query-Parameter oder Request-Payload-Daten mehrmals setzt, führt das Ruby-Gem die Werte auf der Stammebene zusammen. Für andere Integrationen wird nur der zuletzt gesetzte Wert gespeichert.