Sobes.tech
Junior — Middle

Vai jūs varat sniegt piemēru par starplāņa izmantošanu katras pieprasījuma apstrādes ilguma novērtēšanai?

sobes.tech AI

Atbilde no AI

Starppos (middleware) slānis, lai novērtētu pieprasījuma apstrādes ilgumu, bieži tiek īstenots, pārtraucot izsaukumu un mērot laiku pirms un pēc apstrādes.

Piemērs C# ar ASP.NET Core middleware:

public class RequestTimingMiddleware
{
    private readonly RequestDelegate _next;

    public RequestTimingMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        var stopwatch = Stopwatch.StartNew();

        await _next(context); // nodod kontroli nākamajai sastāvdaļai

        stopwatch.Stop();
        var elapsedMs = stopwatch.ElapsedMilliseconds;

        Console.WriteLine($"Pieprasījums [{context.Request.Method}] {context.Request.Path} ilga {elapsedMs} ms.");
    }
}

// Startup.cs vai Program.cs pievienojiet middleware:
// app.UseMiddleware<RequestTimingMiddleware>();

Šis starpposms mēra katra HTTP pieprasījuma apstrādes laiku un rezultātu parāda konsolē. Šī pieeja palīdz uzraudzīt veiktspēju un identificēt šaurās vietas.