AppSignal ondersteunt meerdere OpenTelemetry-taalintegraties. Het datamodel sluit echter niet altijd perfect aan, wat van invloed kan zijn op hoe OpenTelemetry-gegevens in de AppSignal-interface worden weergegeven. Door de attributen die op deze pagina worden vermeld te gebruiken, kunt u de weergave van trace- en span-gegevens aanpassen.
🔐 Stuur geen Persoonlijk Identificeerbare Informatie (PII) naar AppSignal. Filter PII (bijv. namen, e-mailadressen) en gebruik in plaats daarvan een ID, hash of gepseudonimiseerde identificator.
Voor onder HIPAA vallende entiteiten vindt u meer informatie over het ondertekenen van een Business Associate Agreement (BAA) in onze documentatie over Business Add-Ons.
Toegang tot een span
Wanneer u de trace of span aanpast, importeer dan eerst de OpenTelemetry trace-module in het bestand waarin u de gerapporteerde tracegegevens wilt aanpassen.from opentelemetry import trace
Maak met die trace-module een nieuwe span aan:tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("Span name") as span:
# Stel attribuutwaarden in
span.set_attribute("attribute name", "attribute value")
Of haal de huidige actieve span op:span = trace.get_current_span()
# Stel attribuutwaarden in
span.set_attribute("attribute name", "attribute value")
Wanneer u de trace of span aanpast, importeer dan eerst de OpenTelemetry trace-module in het bestand waarin u de gerapporteerde tracegegevens wilt aanpassen.import (
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/trace"
)
Maak met die trace-module een nieuwe span aan:var tracer = otel.Tracer("my-tracer-name")
func httpHandler(w http.ResponseWriter, r *http.Request) {
ctx, span := tracer.Start(r.Context(), "hello-span")
defer span.End()
// Stel attributen in
}
Opmerking: In deze voorbeelden vertrouwen we op de context van het HTTP-request, gegeven door r.Context().
Het ontvangen van de context kan in uw applicatie anders zijn.Of haal de huidige actieve span op:func httpHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
span := trace.SpanFromContext(ctx)
// Stel attributen in
}
AppSignal-attributen
Namespace
Dit attribuut is van toepassing op de volledige trace. Het kan worden ingesteld op een child-span en hoeft niet op de bovenste parent-span te worden ingesteld. Dit attribuut kan slechts één keer per trace worden ingesteld. Als het meerdere keren wordt ingesteld, wordt alleen het attribuut van één span in de trace toegepast.
- Attribuutnaam:
appsignal.namespace
- Waardetype:
String
Groepeer traces per namespace voor een betere organisatie in de AppSignal-interface.
Namespaces worden gegroepeerd per OpenTelemetry-servicenaam met het formaat <Service name>/<Namespace>, bijv. “Web server/admin” of “Background worker/billing”. Met dit attribuut kunt u alleen het namespace-deel configureren. De standaard namespace voor alle traces is <Service name>/default.
span.set_attribute("appsignal.namespace", "admin")
Root-actienaam
Dit attribuut is van toepassing op de volledige trace. Het kan worden ingesteld op een child-span en hoeft niet op de bovenste parent-span te worden ingesteld. Dit attribuut kan slechts één keer per trace worden ingesteld. Als het meerdere keren wordt ingesteld, wordt alleen het attribuut van één span in de trace toegepast.
- Attribuutnaam:
appsignal.action_name
- Waardetype:
String
Stel de actienaam van de trace in die wordt gebruikt om incidenten aan te maken en tracing te groeperen op AppSignal.com. Dit overschrijft elke automatische mapping die door de AppSignal-ondersteuning voor specifieke instrumentatie wordt uitgevoerd. Het is handig voor traces die niet door ondersteunde libraries worden aangemaakt. Als uw trace samen met andere niet-benoemde of slecht gegroepeerde traces wordt gegroepeerd, ontbreekt mogelijk dit attribuut.
Wij streven ernaar onze automatische groepering in de loop van de tijd te verbeteren, dus laat het ons weten wanneer u merkt dat dit attribuut nodig is.
span.set_attribute("appsignal.action_name", "ControllerName#action")
- Attribuutnaam:
appsignal.tag.<tag_name>
- Waardetype:
String
Tag traces om ze op de detailpagina’s van traces naar voren te brengen en traces in de AppSignal-interface te filteren. Er kunnen meerdere tags worden ingesteld op spans in een trace. Tags kunnen worden toegevoegd aan elke span in een trace op elk niveau van de trace.
U kunt link-templates gebruiken om tags te koppelen aan een specifieke URL, zoals een gebruikersprofiel of beheerpagina.
De sleutel van het tag-attribuut bestaat uit twee delen: het voorvoegsel appsignal.tag en de tag-sleutel. Voor de tag user_id wordt dit appsignal.tag.user_id als attribuutsleutel.
span.set_attribute("appsignal.tag.<tag_name>", "string") # Voorbeeldformaat
span.set_attribute("appsignal.tag.user_id", user.id)
Functieparameters
De waarde van dit attribuut moet worden geserialiseerd naar een JSON-string. Een Hash of object uit de integratie-taal wordt niet rechtstreeks ondersteund en wordt stilzwijgend genegeerd.
- Attribuutnaam:
appsignal.function.parameters
- Waardetype: JSON-geserialiseerd object
Rapporteer de parameters van een functieaanroep met dit attribuut.
Gebruik dit om parameters in te stellen die aan een achtergrondtaak, een taak of een functieaanroep worden meegegeven die u wilt bijhouden.
De waarden die in dit span-attribuut worden ingesteld, kunnen worden gefilterd met de configuratieoptie appsignal.config.filter_function_parameters.
span.set_attribute("appsignal.function.parameters", json.dumps({
"param1": "value1",
"param2": "value2"
}))
De waarde van dit attribuut moet worden geserialiseerd naar een JSON-string. Een Hash of object uit de integratie-taal wordt niet rechtstreeks ondersteund en wordt stilzwijgend genegeerd.
- Attribuutnaam:
http.response.header.<key>
- Waardetype: Array van Strings
Rapporteer de headers van de response met behulp van een OpenTelemetry span-attribuut.
Dit span-attribuut is ook gedocumenteerd in de OpenTelemetry HTTP span-specificatie.
span.set_attribute("http.response.header.content-type", ["application/json"])
span.set_attribute("http.response.header.custom-header", ["abc", "def"])
De waarde van dit attribuut moet worden geserialiseerd naar een JSON-string. Een Hash of object uit de integratie-taal wordt niet rechtstreeks ondersteund en wordt stilzwijgend genegeerd.
- Attribuutnaam:
http.request.header.<key>
- Waardetype: Array van Strings
Rapporteer de headers van het request met behulp van een OpenTelemetry span-attribuut.
Dit span-attribuut is ook gedocumenteerd in de OpenTelemetry HTTP span-specificatie.
span.set_attribute("http.request.header.content-type", ["application/json"])
span.set_attribute("http.request.header.custom-header", ["abc", "def"])
Request query-parameters
De waarde van dit attribuut moet worden geserialiseerd naar een JSON-string. Een Hash of object uit de integratie-taal wordt niet rechtstreeks ondersteund en wordt stilzwijgend genegeerd.
- Attribuutnaam:
appsignal.request.query_parameters
- Waardetype: JSON-geserialiseerd object
Rapporteer de query-parameters van een inkomend HTTP-request met dit attribuut.
De waarden die in dit span-attribuut worden ingesteld, kunnen worden gefilterd met de configuratieoptie appsignal.config.filter_request_query_parameters.
span.set_attribute("appsignal.request.query_parameters", json.dumps({
"category": "shoes",
"filter": "color:blue"
}))
Request-payload
De waarde van dit attribuut moet worden geserialiseerd naar een JSON-string. Een Hash of object uit de integratie-taal wordt niet rechtstreeks ondersteund en wordt stilzwijgend genegeerd.
- Attribuutnaam:
appsignal.request.payload
- Waardetype: JSON-geserialiseerd object
Rapporteer de payload van een inkomend HTTP-request met dit attribuut.
De waarden die in dit span-attribuut worden ingesteld, kunnen worden gefilterd met de configuratieoptie appsignal.config.filter_request_payload.
span.set_attribute("appsignal.request.payload", json.dumps({
"title": "My new blog post"
"body": "Lorem ipsum"
}))
Request-sessiegegevens
De waarde van dit attribuut moet worden geserialiseerd naar een JSON-string. Een Hash of object uit de integratie-taal wordt niet rechtstreeks ondersteund en wordt stilzwijgend genegeerd.
- Attribuutnaam:
appsignal.request.session_data
- Waardetype: JSON-geserialiseerd object
Rapporteer de sessiegegevens van een inkomend HTTP-request met dit attribuut.
De waarden die in dit span-attribuut worden ingesteld, kunnen worden gefilterd met de configuratieoptie appsignal.config.filter_request_session_data.
span.set_attribute("appsignal.request.session_data", json.dumps({
"user_id": 123
"theme": "dark"
}))