Plugin de Latência

Atrasa as respostas em um número aleatório de milissegundos do intervalo configurado. Suporta tanto pedidos HTTP como comunicação STDIO.

Dev Proxy simulando latência para uma solicitação de API.

Exemplo de configuração

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "LatencyPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "latencyPlugin"
    }
  ],
  "latencyPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/latencyplugin.schema.json",
    "minMs": 200,
    "maxMs": 10000
  }
}

Propriedades de configuração

Propriedade Descrição Inadimplência
minMs A quantidade mínima de atraso adicionada a uma solicitação em milissegundos. Deve ser menor ou igual a maxMs. 0
maxMs A quantidade máxima de atraso adicionada a uma solicitação em milissegundos. 5 000

Opções de linha de comando

Nenhum

Remarks

O Dev Proxy valida a configuração do plugin quando este inicia. Se minMs for maior que maxMs, o Proxy de desenvolvimento não inicia e apresenta um erro, por exemplo:

LatencyPlugin: minMs (500) must be less than or equal to maxMs (100).

Para adicionar um atraso fixo, defina minMs e maxMs ao mesmo valor.

Apoio ao STDIO

Quando usas o LatencyPluginstdio comando with the comando, o plugin adiciona latência artificial às respostas stdout. Simular latência é útil para testar como a sua aplicação lida com respostas lentas do Protocolo de Contexto do Modelo (MCP) ou outras ferramentas baseadas em STDIO.

Exemplo de configuração para STDIO

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "LatencyPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "latencyPlugin"
    },
    {
      "name": "MockStdioResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockStdioResponsePlugin"
    }
  ],
  "latencyPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/latencyplugin.schema.json",
    "minMs": 100,
    "maxMs": 500
  },
  "mockStdioResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/mockstdioresponseplugin.schema.json",
    "mocksFile": "stdio-mocks.json"
  }
}

Em seguida, execute:

devproxy stdio npx -y @modelcontextprotocol/server-filesystem

Próximo passo