App-vNext / Polly.Extensions.Http

Polly.Extensions.Http is an extensions package containing opinionated convenience methods for configuring Polly policies to handle transient faults typical of calls through HttpClient.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Missing Dependency logging on retry.

HenrikSommer-Energinet opened this issue · comments

Polly retry is not logging telemetry dependency on retry.

I have create a azure function that is using polly retry:

public override void Configure(IFunctionsHostBuilder builder)
{
    var asyncRetryPolicy = HttpPolicyExtensions
        .HandleTransientHttpError()
        .Or<TimeoutRejectedException>()
        .RetryAsync(1);

    builder.Services.AddHttpClient<LocalClient>(client => client.Timeout = TimeSpan.FromSeconds(15))
        .AddPolicyHandler(asyncRetryPolicy);
}

public class LocalClient
{
    private readonly HttpClient _client;

    public LocalClient(HttpClient client)
    {
        _client = client;
    }

    public async Task<string> GetAsync()
    {
        var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://localhost:7074/api/monitor/test");

        HttpResponseMessage result = await _client.SendAsync(httpRequestMessage);

        return result.StatusCode.ToString();
    }
}

the enpoint http://localhost:7074/api/monitor/test is setup so it allways return status code 500

When LocalClient.GetAsync is called 2 request is made to http://localhost:7074/api/monitor/test as expected, but when i look in application insights, only the first request is logged as an dependency.

image

Are there any one looking at this?