> ## 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.

# Filtrar parâmetros de função

export const Compatibility = ({versions = [], label = "Available in"}) => {
  if (!Array.isArray(versions) || versions.length === 0) {
    return null;
  }
  const defaultPillStyle = {
    borderColor: "#d4d4d8",
    background: "#f4f4f5",
    color: "#3f3f46"
  };
  const pillStyles = {
    "AppSignal for Elixir": {
      background: "#f3e8ff",
      borderColor: "#d8b4fe",
      color: "#6b21a8"
    },
    "AppSignal for Front-end": {
      background: "#fef9c3",
      borderColor: "#fde047",
      color: "#854d0e"
    },
    "AppSignal for Go": {
      background: "#ccfbf1",
      borderColor: "#5eead4",
      color: "#115e59"
    },
    "AppSignal for JavaScript": {
      background: "#fef9c3",
      borderColor: "#fde047",
      color: "#854d0e"
    },
    "AppSignal for Node.js": {
      background: "#dcfce7",
      borderColor: "#86efac",
      color: "#166534"
    },
    "AppSignal for Python": {
      background: "#dbeafe",
      borderColor: "#93c5fd",
      color: "#1e40af"
    },
    "AppSignal for Ruby": {
      background: "#fee2e2",
      borderColor: "#fca5a5",
      color: "#991b1b"
    },
    "AppSignal for Rust": {
      background: "#ffedd5",
      borderColor: "#fdba74",
      color: "#9a3412"
    }
  };
  const getPillStyle = name => ({
    ...defaultPillStyle,
    ...pillStyles[name] || ({})
  });
  return <div className="not-prose my-4 rounded-lg border border-zinc-200 bg-zinc-50 px-4 py-3 text-sm dark:border-white/10 dark:bg-white/5">
      <div className="flex flex-wrap items-center gap-x-2 gap-y-1">
        <span className="font-semibold text-zinc-700 dark:text-zinc-200">
          {label}:
        </span>
        {versions.map((v, i) => <span key={`${v.name}-${v.version}-${i}`} className="inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium" style={getPillStyle(v.name)}>
            <span>{v.name}</span>
            <span className="opacity-70">
              {v.version}
              {v.exact ? "" : "+"}
            </span>
          </span>)}
      </div>
    </div>;
};

<Compatibility versions={[{ name: "AppSignal Collector", version: "0.6.0" }]} />

Você pode armazenar parâmetros de função para linguagens suportadas por meio de nosso beta de OpenTelemetry.
Armazenar parâmetros de função torna possível visualizar os parâmetros com os quais jobs em segundo plano ou scripts foram iniciados.
Isso não tem o objetivo de armazenar os parâmetros de cada chamada de função em um trace, apenas os parâmetros de nível superior.

Os dados de parâmetros de função podem conter informações identificáveis do usuário, como endereços de e-mail, tokens de API, etc.
Para proteger os dados sensíveis do seu aplicativo, você deve garantir que esses dados sejam filtrados antes de serem enviados aos servidores do AppSignal.
Dessa forma, seu aplicativo não vaza nenhum dado sensível.

<Warning>
  Sua aplicação não deve coletar informações de identificação do usuário (como
  nomes pessoais, endereços de e-mail, senhas, etc.). Use as ferramentas descritas
  neste guia para limitar e filtrar esses dados.
</Warning>

## Filtragem de parâmetros de função

A filtragem de parâmetros de função funciona com uma denylist: uma lista de chaves a serem filtradas e não enviadas.
Você pode definir uma opção "filter function parameters" com uma lista de chaves de parâmetro a serem filtradas.

Os valores dos parâmetros que você configurou para serem filtrados serão substituídos pelo valor `[FILTERED]`.
Dessa forma, a lista de parâmetros nos dados do app no AppSignal.com ainda inclui a chave do parâmetro, mas não o valor, para que você ainda tenha visibilidade de que um valor teve dados potencialmente sensíveis filtrados antes de serem enviados ao AppSignal.

### Exemplo

Por exemplo, uma aplicação com esta configuração do AppSignal:

<CodeGroup>
  ```yaml YAML theme={null}
  filter_function_parameters: ["secret_key"]
  ```
</CodeGroup>

Resulta nesta visualização para os parâmetros de um trace no AppSignal.com:

<CodeGroup>
  ```json JSON theme={null}
  {
    "secret_key": "[FILTERED]"
  }
  ```
</CodeGroup>

Este guia mostrará como configurar a denylist de filtragem de parâmetros de função do seu aplicativo, com base na linguagem que seu aplicativo usa:

* [Go](#go)
* [Java](#java)
* [PHP](#php)

## Go

Use a [denylist `filter_function_parameters`](/go/configuration/options#option-filter_function_parameters) para filtragem de parâmetros de função. Defina a [opção `send_function_parameters`](/go/configuration/options#option-send_function_parameters) como `true` para evitar o envio de quaisquer parâmetros de função.

Para mais informações sobre como configurar o OpenTelemetry para apps Go, veja a [página de configuração do Go](/go/configuration/options).

<CodeGroup>
  ```go Go theme={null}
  res := resource.NewWithAttributes(
  	attribute.StringSlice("appsignal.config.filter_function_parameters", []string{"api_token", "secret"}),
  )
  ```
</CodeGroup>

## Java

Use a [denylist `filter_function_parameters`](/java/configuration/options#option-filter_function_parameters) para filtragem de parâmetros de função. Defina a [opção `send_function_parameters`](/java/configuration/options#option-send_function_parameters) como `true` para evitar o envio de quaisquer parâmetros de função.

Para mais informações sobre como configurar o OpenTelemetry para apps Java, veja a [página de configuração do Java](/java/configuration/options).

<CodeGroup>
  ```bash Bash theme={null}
  function encode() {
    echo -n "$@" | sed 's/,/%2C/g'
  }

  export OTEL_RESOURCE_ATTRIBUTES="\
    appsignal.config.filter_function_parameters=$(encode "api_token,secret"),\
    ..."
  ```
</CodeGroup>

## PHP

Use a [denylist `filter_function_parameters`](/php/configuration/options#option-filter_function_parameters) para filtragem de parâmetros de função. Defina a [opção `send_function_parameters`](/php/configuration/options#option-send_function_parameters) como `true` para evitar o envio de quaisquer parâmetros de função.

Para mais informações sobre como configurar o AppSignal para PHP, veja a [página de configuração do PHP](/php/configuration/options).

<CodeGroup>
  ```php PHP theme={null}
  return [
      'filter_function_parameters' => ['api_token', 'secret'],
      // ... outras opções
  ];
  ```
</CodeGroup>
