> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Faraday

export const VersionRequirements = ({versions = []}) => {
  if (!Array.isArray(versions) || versions.length === 0) {
    return null;
  }
  const boundaries = {
    upper: " or lower",
    exact: "",
    lower: " or higher"
  };
  const containerStyle = {
    marginTop: "0.5rem",
    marginBottom: "1.5rem"
  };
  const lineStyle = {
    display: "block",
    margin: "0 0 0.35rem 0",
    fontSize: "0.875rem",
    lineHeight: "1.4"
  };
  const pillBaseStyle = {
    display: "inline-block",
    padding: "0.1em 0.4em",
    borderRadius: "0.25rem",
    border: "1px solid",
    fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
    fontSize: "0.85em",
    fontWeight: 500
  };
  const pillColors = {
    "AppSignal for Elixir": {
      background: "#f3e8ff",
      borderColor: "#e9d5ff",
      color: "#9333ea"
    },
    "AppSignal for Front-end": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Go": {
      background: "#ccfbf1",
      borderColor: "#99f6e4",
      color: "#0d9488"
    },
    "AppSignal for JavaScript": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Node.js": {
      background: "#dcfce7",
      borderColor: "#bbf7d0",
      color: "#16a34a"
    },
    "AppSignal for Python": {
      background: "#dbeafe",
      borderColor: "#bfdbfe",
      color: "#2563eb"
    },
    "AppSignal for Ruby": {
      background: "#fee2e2",
      borderColor: "#fecaca",
      color: "#dc2626"
    },
    "AppSignal for Rust": {
      background: "#ffedd5",
      borderColor: "#fed7aa",
      color: "#ea580c"
    }
  };
  const defaultPillColor = {
    background: "#f4f4f5",
    borderColor: "#e4e4e7",
    color: "#52525b"
  };
  const getPillStyle = name => ({
    ...pillBaseStyle,
    ...pillColors[name] || defaultPillColor
  });
  const getBoundText = bound => {
    return boundaries[bound] || boundaries.lower;
  };
  return <div style={containerStyle}>
      {versions.map((v, i) => <p key={`${v.name}-${v.version}-${v.bound || "lower"}-${i}`} style={lineStyle}>
          This feature requires{" "}
          <code style={getPillStyle(v.name)}>{v.name}</code> version {v.version}
          {getBoundText(v.bound)}.
        </p>)}
    </div>;
};

<VersionRequirements
  versions={[
{ name: "AppSignal for Ruby", version: "4.9.0" }
]}
/>

[Faraday](https://github.com/lostisland/faraday) est une bibliothèque cliente HTTP qui fournit une interface unique sur plusieurs adaptateurs HTTP. AppSignal instrumente automatiquement les requêtes Faraday lorsque la gem Faraday est détectée au démarrage. Aucune configuration manuelle n'est requise.

Faraday envoie les requêtes via un adaptateur sous-jacent, qui est Net::HTTP par défaut. AppSignal instrumente également certains de ces adaptateurs, tels que [Net::HTTP](/ruby/integrations/net-http). Pour éviter d'enregistrer deux fois la même requête, AppSignal enregistre chaque requête Faraday une seule fois en tant qu'événement Faraday et n'instrumente pas l'adaptateur pour cette requête.

## Surveillance des performances

Les requêtes effectuées avec Faraday apparaissent dans la chronologie des événements des actions de performance de votre application sous forme d'événements `request.faraday`, indiquant la méthode HTTP et l'hôte. Elles apparaissent également dans le panneau de performance « Slow API requests », où vous pouvez examiner les requêtes que votre application effectue vers d'autres services et l'impact qu'elles ont sur ses performances.

## Désactiver l'intégration

Pour désactiver l'intégration Faraday, définissez l'[option de configuration `instrument_faraday`](/ruby/configuration/options#option-instrument_faraday) sur `false`.
