# Explicador de comando-contexto de iRules

> Cole uma iRule: cada bloco when explicado com a descrição oficial do evento, seus comandos inventariados e vinculados, a ordem de avaliação por priority documentada, e uma auditoria de CMP que captura as construções que rebaixam seu virtual server para um único TMM.

- Tool: https://ronutz.com/pt-BR/tools/f5-irules-command-context
- Family: Redes

---

# Explicador de comandos / contexto de iRules

Uma iRule é Tcl com um contrato: o código roda quando eventos disparam, comandos valem em alguns eventos e não em outros, e um punhado de construções silenciosamente custa todos os núcleos de CPU menos um. Esta ferramenta lê o contrato de volta.

Cole uma iRule e cada bloco `when` vira um cartão. A identidade do evento vem da Master List of iRule Events no clouddocs, condensada fielmente, com seu módulo e um link para a página de referência; eventos fora da tabela curada de escopo BIG-IP LTM - Local Traffic Manager ainda são interpretados e sinalizados, em vez de adivinhados. Os comandos do bloco são inventariados, com namespace e simples, cada um vinculado diretamente à sua página de referência.

Quando um evento aparece em mais de um bloco, a ordem de avaliação é renderizada conforme as regras documentadas do comando priority: valores de 0 a 1000, padrão 500, menor roda primeiro, mesma prioridade roda em ordem de inserção, e entre múltiplas iRules em um virtual a ordem de listagem das regras desempata o resto.

A auditoria de CMP é a parte que paga o aluguel, e cada achado tem fonte na página de CMP Compatibility. Variáveis globais não são compatíveis com CMP; o validador captura a forma global a partir da v10 e o virtual server é rebaixado, o que significa que cada conexão dele cai em um único TMM. A alternativa documentada para estáticos compartilhados é o namespace `static::`, e a ferramenta diz isso na hora. Chaves geradas em RULE_INIT ganham uma instância por TMM, então a descriptografia entre TMMs falha; perfis de estatísticas contam por instância de TMM. A auditoria nomeia cada um desses casos onde os vê.

Uma nota de honestidade, projetada de propósito: as listas de validade por comando vivem na página de referência de cada comando e variam por versão, então a ferramenta vincula a página de cada comando em vez de reproduzir tabelas de validade que não verificou. Um único nome de evento renderiza seu cartão; a palavra `events` renderiza o catálogo agrupado por módulo.

A iRule é interpretada e lida, nunca executada. Tudo roda localmente; nada do que você cola sai da página.

## Standards and references

- [F5 iRules API Reference: Master List of iRule Events (event identities, module grouping)](https://clouddocs.f5.com/api/irules/Events.html) - the curated event table's names and one-line descriptions
- [F5 iRules API Reference: priority (evaluation order: 0-1000, default 500, lower first, insertion order breaks ties, rule listing order across iRules on a virtual)](https://clouddocs.f5.com/api/irules/priority.html) - the multi-block ordering analysis
- [F5 iRules API Reference: CMP Compatibility (global-variable demotion and the v10 validator, static:: alternative, RULE_INIT per-TMM keys, per-TMM statistics profiles)](https://clouddocs.f5.com/api/irules/CMPCompatibility.html) - every CMP finding this tool raises
- [F5 iRules API Reference: Master List of iRule Commands (module naming and per-command page links)](https://clouddocs.f5.com/api/irules/Commands.html) - the command-page URL pattern each inventory entry links

## Related reading

- [CMP: Os Núcleos Que Você Pagou, e as Linhas de iRule Que os Devolvem](https://ronutz.com/pt-BR/learn/bigip-cmp-clustered-multiprocessing.md): O clustered multiprocessing roda um TMM por núcleo e espalha os fluxos entre eles. Um virtual server rebaixado roda tudo no TMM0. A lista de rebaixamento é curta e documentada: variáveis globais acima de tudo, com static:: como cura, mais duas armadilhas por TMM (chaves em RULE_INIT, perfis de estatísticas) que não rebaixam mas quebram premissas em silêncio.
