IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

Appmetrics C# (Jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 21 kwietnia 2026

AppMetrics C# to potężne narzędzie zaprojektowane w celu usprawnienia monitorowania aplikacji i analizy wydajności. Dzięki streszczeniom AppMetrics upraszcza się złożoność związaną ze śledzeniem różnych aspektów aplikacji. Niezależnie od tego, czy korzystasz z .NET Core, czy z .NET Framework, ta biblioteka .NET umożliwia wydajne rejestrowanie typów metrycznych. Możesz pobierać wskaźniki i korzystać z typów wskaźników obsługiwanych przez AppMetrics, aby uzyskać kompleksowe informacje.

Biblioteka .NET obsługuje pobieranie metryk i umożliwia ich czyszczenie w określonych odstępach czasu, zapewniając terminowe gromadzenie danych. Oferuje również metodę rozszerzeń, zapewniającą punkty rozszerzalności dla większej elastyczności. Jako rozwiązanie wielopłatformowe, AppMetrics nadaje się do różnych środowisk i zapewnia spójne monitorowanie wydajności.

IronPDF: Advanced PDF Library for C# Developers to kolejna niezbędna biblioteka dla programistów C#, szczególnie podczas pracy z dokumentami PDF. Umożliwia tworzenie, edycję i wyodrębnianie plików PDF bezpośrednio w aplikacjach .NET Core. Może to być szczególnie przydatne w sytuacjach, gdy trzeba wygenerować raporty, faktury lub inne dokumenty w formacie PDF z poziomu aplikacji.

Pierwsze kroki z AppMetrics

Aby zintegrować wielopłatformowe AppMetrics z projektem .NET, należy najpierw zainstalować bibliotekę AppMetrics. Można to zrobić za pomocą pakietów NuGet, menedżera pakietów dla platformy .NET. W ramach projektu uruchom następujące polecenie w konsoli NuGet Package Manager Console:

PM > Install-Package App.Metrics.AspNetCore

Appmetrics C# (Jak to działa dla deweloperów): Rysunek 1 - AppMetrics

To polecenie dodaje wszystkie niezbedne zaleznosci do twojego projektu, umozliwiajac rozpoczecie konfiguracji AppMetrics.

Przyklad podstawowego kodu: Monitorowanie zapytan HTTP

Oto jak mozesz skonfigurowac podstawowe monitorowanie zapytan HTTP w swojej aplikacji .NET uzywajac AppMetrics. Najpierw, zbuduj metryki w pliku Startup.cs. Dodaj nastepujacy kod do metody ConfigureServices:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMetrics(); // Add basic metrics services
    services.AddMetricsTrackingMiddleware(); // Enable middleware for tracking
    services.AddMetricsEndpoints(); // Add endpoints for metrics exposure
}

Nastepnie, w metodzie Configure tego samego pliku, upewnij sie, ze dodajesz middleware AppMetrics do obslugi monitorowania:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseMetricsAllMiddleware(); // Register the middleware to capture all metrics
}

Ta konfiguracja automatycznie zacznie przechwytywac metryki dotyczace przychodzacych zapytan HTTP do twojej aplikacji, takie jak liczba zapytan, czas trwania zapytan i wskazniki bledow.

Implementacja funkcji AppMetrics

Rejestrowanie niestandardowych metryk

Aby tworzyc i rejestrowac niestandardowe metryki lub mierzyc rzeczy w twojej aplikacji, AppMetrics oferuje elastyczny sposob definiowania tego, co wymaga sledzenia. Oto przyklad rejestrowania prostego licznika do sledzenia logowan uzytkownikow:

public class LoginTracker
{
    private readonly IMetrics _metrics;

    public LoginTracker(IMetrics metrics)
    {
        _metrics = metrics;
    }

    public void TrackLogin(string userId)
    {
        // Increment login counter for the specified user ID
        _metrics.Measure.Counter.Increment(MetricsRegistry.Logins, new MetricTags("UserId", userId));
    }
}

W tym kodzie, za kazdym razem, gdy jest wywolywana funkcja TrackLogin, licznik logowan zwieksza sie dla okreslonego ID uzytkownika.

Mierzenie wydajnosci aplikacji

AppMetrics moze rowniez sluzyc do mierzenia wydajnosci aplikacji. Na przyklad, mozesz sledzic czas trwania okreslonej metody uzywajac timerow:

public void ProcessData()
{
    // Measure time taken by the database query process
    using (_metrics.Measure.Timer.Time(MetricsRegistry.DatabaseQueryTimer))
    {
        // Code to execute a database query goes here
    }
}

Ten timer rejestruje, jak dlugo metoda ProcessData zajmuje wykonanie, dostarczajac wglad w wydajnosc zapytan do bazy danych.

Raportowanie metryk do pulpitu nawigacyjnego

Aby wizualizowac i monitorowac rozne typy metryk, AppMetrics moze raportowac dane do roznych pulpitow nawigacyjnych. Oto jak mozesz skonfigurowac raportowanie do pulpitu InfluxDB:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMetricsReportingHostedService();
    services.AddMetrics(builder =>
    {
        builder.Report.ToInfluxDb(options =>
        {
            options.InfluxDb.BaseUri = new Uri("http://your-influxdb-server"); // Configure InfluxDB server URI
            options.InfluxDb.Database = "appmetricsdb"; // Specify the database name
            options.InfluxDb.UserName = "user"; // Set database username
            options.InfluxDb.Password = "password"; // Set database password
            options.HttpPolicy.BackoffPeriod = TimeSpan.FromSeconds(30); // Set backoff period
            options.HttpPolicy.FailuresBeforeBackoff = 5; // Set failure count before backoff
            options.HttpPolicy.Timeout = TimeSpan.FromSeconds(10); // Set HTTP timeout duration
            options.FlushInterval = TimeSpan.FromSeconds(5); // Set interval for reporting metrics
        });
    });
}

Sledzenie wykorzystania pamieci

Monitorowanie uzycia pamieci systemowej jest kluczowe dla optymalizacji wydajnosci. Oto jak mozesz sledzic wolna pamiec:

public void CheckSystemMemory()
{
    var freeMemory = GC.GetTotalMemory(false); // Get total free memory
    _metrics.Measure.Gauge.SetValue(MetricsRegistry.FreeMemory, freeMemory); // Set gauge to measure free memory
}

Ten wskaznik mierzy dostepna wolna pamiec dla twojej aplikacji, pomagajac zrozumiec wzorce zurzycia pamieci.

Obsluga metryk w okreslonych odstępach czasu

AppMetrics moze byc skonfigurowany do obslugi zbierania metryk w okreslonych odstępach czasu. To pomaga utrzymac wydajnosc bez zbyt czestego logowania danych:

public void ConfigureScheduledReporting(IApplicationBuilder app)
{
    var metrics = app.ApplicationServices.GetService<IMetricsRoot>(); // Retrieve the IMetricsRoot instance
    var scheduler = new AppMetricsTaskScheduler(
        TimeSpan.FromSeconds(60), // Set the interval for metrics collection
        async () =>
        {
            await Task.WhenAll(metrics.ReportRunner.RunAllAsync()); // Run all reports asynchronously
        });
    scheduler.Start(); // Start the scheduler
}

Ta konfiguracja ustawia metryki do raportowania co 60 sekund, zapewniajac stalą monitorowanie wydajnosci bez przeciazenia systemu ciaglym logowaniem danych.

Integrating AppMetrics with IronPDF

Podczas pracy z metrykami i generowaniem PDF w aplikacjach C#, laczenie AppMetrics C# z IronPDF moze byc bardzo korzystne. Ta integracja pozwala na generowanie raportow w formacie PDF bezposrednio z danych metryk, co jest uzyteczne przy przegladach wydajnosci, prezentacjach dla klientow, a nawet audytach wewnetrznych.

Wprowadzenie do IronPDF

IronPDF jest kompleksowa biblioteka umozliwiajaca deweloperom tworzenie, odczytywanie i edytowanie dokumentow PDF z uzyciem C#. Co odroznia IronPDF to jego zdolnosc do konwersji HTML do PDF za pomoca IronPDF, co czyni go szczegolnie wartosciowym do generowania raportow opartych na web. Ta funkcjonalnosc zapewnia, ze aspekty wizualne twoich raportow sa zachowane, oferujac duzy poziom zgodnosci z formularzem internetowym do drukowanego.

Use Case of Merging IronPDF with AppMetrics C#

Rozwaz sytuacje, w ktorej musisz dostarczyc miesieczne raporty wydajnosci swojej aplikacji do interesariuszy. Te raporty zawieraja metryki, takie jak czasy odpowiedzi, wskazniki bledow, sesje uzytkownikow i inne. Dzieki otwartoźrodlowemu AppMetrics C#, mozesz bezproblemowo rejestrowac te metryki. Laczac te funkcjonalnosc z IronPDF, mozesz automatycznie generowac i rozdzielac te metryki w starannie sformatowanym dokumencie PDF.

Przykładowy kod przedstawiający przypadek użycia

Poniżej znajduje sie kompletny przyklad, jak to wdrozyc. Przyklad ten zaklada, ze juz skonfigurowales zarówno IronPDF, jak i AppMetrics C# w swoim projekcie.

using App.Metrics;
using App.Metrics.Formatters.Prometheus;
using IronPdf;
public class MetricsToPdfConverter
{
    private readonly IMetricsRoot _metrics;

    public MetricsToPdfConverter(IMetricsRoot metrics)
    {
        _metrics = metrics;
    }

    public void GeneratePdfReport(string outputPath)
    {
        // Step 1: Capture the metrics snapshot
        var metricsData = _metrics.Snapshot.Get();
        var formatter = new MetricsPrometheusTextOutputFormatter();
        using var stream = new MemoryStream();
        formatter.WriteAsync(stream, metricsData).Wait();

        // Step 2: Convert the metrics snapshot to string format
        stream.Position = 0;
        var reader = new StreamReader(stream);
        var metricsText = reader.ReadToEnd();

        // Step 3: Use IronPDF to convert the metrics text to a PDF document
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1> Metrics Report </h1> <pre>" + metricsText + "</pre>");

        // Step 4: Save the PDF document
        pdf.SaveAs(outputPath);
    }
}

// Usage
var metrics = new MetricsBuilder().Build();
var pdfConverter = new MetricsToPdfConverter(metrics);
pdfConverter.GeneratePdfReport("MonthlyPerformanceReport.pdf");

Appmetrics C# (Jak to działa dla deweloperów): Rysunek 2 - Wynikowy raport PDF

Ta integracja nie tylko automatyzuje proces generowania raportow, ale takze zapewnia, ze raporty sa latwo czytelne i profesjonalnie sformatowane, idealne na spotkania z interesariuszami lub do archiwizacji.

Wnioski

Appmetrics C# (Jak to działa dla deweloperów): Rysunek 3 - Licencjonowanie

W podsumowaniu, polaczenie AppMetrics C# z IronPDF w projektach .NET oferuje solidne rozwiazanie zarowno dla monitorowania wydajnosci aplikacji, jak i generowania wysokiej jakosci raportow PDF. Ta integracja umozliwia bezproblemowe przejscie od przechwytywania szczegolowych danych wydajnosciowych za pomoca AppMetrics do prezentowania ich w przejrzystym, profesjonalnym formacie dzieki IronPDF.

IronPDF jest szczegolnie przydatny dla deweloperow C# pragnacych obslugiwac pliki PDF wewnatrz swoich aplikacji. Ulatwia tworzenie i manipulacje dokumentami PDF oraz oferuje unikalna zdolnosc do bezposredniej konwersji HTML do PDF. Jeśli rozważasz włączenie IronPDF do swoich projektów, oferują bezpłatną wersję próbną IronPDF, aby rozpocząć, a licencje zaczynają się od $999, co stanowi opłacalny sposób na zwiększenie możliwości obsługi dokumentów.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta