Ga naar inhoud

netwerk kader

Hier zijn enkele tips om uw webapplicaties uit te rusten met detectietools.

Integraties

Als u een van de volgende bibliotheken gebruikt, bekijk dan de integratiedocumentatie:

Controleer anders of uw server WSGI of ASGI gebruikt en controleer de bijbehorende integratie.

Leg HTTP-serververzoeken en antwoordkoppen vast

Bij sommige methoden, zoals logfire.instrument_fastapi(), kunt u capture_headers=True doorgeven om alle verzoek- en antwoordkoppen in een tijdsbestek te loggen, wat meestal alles is wat u nodig heeft.

Als u meer controle wilt, zijn er drie omgevingsvariabelen die de OpenTelemetry-detectiebibliotheek informeren om verzoek- en antwoordkoppen vast te leggen:

  • OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST
  • OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE
  • OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS

Elk accepteert een door komma 's gescheiden lijst van reguliere expressies die niet hoofdlettergevoelig zijn, gecontroleerd tegen kopnamen. De eerste twee bepalen welke verzoek / antwoordkoppen worden vastgelegd en toegevoegd aan de eigenschap span. De derde bepaalt welke koptekstwaarden worden bewerkt.

Maak bijvoorbeeld de volgende instellingen om alle kopteksten vast te leggen:

OTEL _ INSTRUMENTATION _ HTTP _ CAPTURE _ HEADERS _ SERVER _ REQUEST = ". *"
OTEL _ INSTRUMENTATION _ HTTP _ CAPTURE _ HEADERS _ SERVER _ RESPONSE = ". *"

(Dit is wat capture_headers=True doet.)

Gespecialiseerd in het vastleggen van content-type-verzoekkoppen en verzoekkoppen die beginnen met X-:

OTEL _ INSTRUMENTATION _ HTTP _ CAPTURE _ HEADERS _ SERVER _ REQUEST = "inhoudstype, X-".

Vervang de Authorization-headerwaarde door [REDACTED] om te voorkomen dat gebruikersreferenties worden onthuld.

OTEL _ INSTRUMENTATION _ HTTP _ CAPTURE _ HEADERS _ SANITIZE _ FIELDS = "Autorisatie"

(Hoewel het meestal beter is om te vertrouwen op de opruimfunctie van Logfire.)

Duur van HTTP-aanvraag per percentiel

Over het algemeen is het interessant om de HTTP-verzoekduur voor elk percentiel te visualiseren. In tegenstelling tot gemiddelden, die kunnen worden beïnvloed door extremen, stellen percentielen ons in staat om de maximale duur voor 50%, 90%, 95% of 99% van de verzoeken te begrijpen.

Het volgende is een voorbeeldquery om die percentielen voor HTTP-aanvraagduur te berekenen:

MET dataset ALS (
  KIES UIT
    time _ bucket ('% time _ bucket _ duration%', start _ timestamp) als x,
    (Uittreksel (tijdvak van eind _ tijdstempel - start _ tijdstempel) * 1000) als duur _ ms
  VAN records
  WAAR attributen? 'htp.methode'
)
KIES UIT
  X,
  percentile _ cont (0,99) BINNEN GROEP (BESTELLEN OP duur _ ms) als percentile _ 99,
  percentile _ cont (0,95) BINNEN GROEP (BESTELLEN OP duur _ ms) als percentile _ 95,
  percentile _ cont (0,90) BINNEN GROEP (BESTELLEN OP duur _ ms) als percentile _ 90,
  percentile _ cont (0,50) BINNEN GROEP (BESTELLEN OP duur _ ms) als percentiel _ 50
UIT dataset
GROEP DOOR x
BESTELLEN DOOR x DESC;

Merk op hoe we records hebben gefilterd met de http.method attribuutset. Dit is een goed startpunt voor het ophalen van sporen met betrekking tot HTTP-verzoeken, maar afhankelijk van uw installatie moet u mogelijk meer filters toevoegen.

Deze vraag is een goede kandidaat voor een tijdreeksgrafiek in een dashboard.

Verzoekt duur per percentiel als tijdreeksgrafiek


本文总阅读量次