Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Wir stellen Dottrace .NET Core
vor, ein leistungsfähiges Tool im .NET-Ökosystem, das als unverzichtbares .NET
-Tool für das Performance-Profiling dient. Als .NET
Performance-Profiler ermöglicht das .NET Trace-Tool Entwicklern, detaillierte Trace-Dateien zu erfassen, die Einblicke in die Laufzeitereignisse eines laufenden Prozesses geben. Dieses Tool ist unverzichtbar für die Optimierung von Anwendungen, die auf dem .NET-Framework basieren.
Ob Sie Unit-Tests durchführen oder kontinuierliche Integrations-Builds integrieren, mit Dottrace können Sie die Leistung Ihrer Anwendungen effektiv überwachen und analysieren. Durch den Einsatz dieses Tools erhalten Sie ein tieferes Verständnis für das Verhalten Ihrer Anwendung und können so Spitzenleistungen und Zuverlässigkeit gewährleisten.
ironPDF for .NET" ist eine umfassende Bibliothek für die Arbeit mit PDFs in .NET-Anwendungen. Sie können damit Inhalte von PDF-Dateien erstellen, bearbeiten und extrahieren. IronPDF unterstützt Funktionen wie die Konvertierung von HTML in PDF, das Zusammenführen und Aufteilen von PDF-Dateien. Diese Bibliothek ist ein wertvolles Werkzeug für jede Anwendung, die PDF-Dokumente erzeugen oder bearbeiten muss. In diesem Artikel wird diese Bibliothek in Verbindung mit Dottrace verwendet, um eine reale Anwendung der Wirksamkeit von Dottrace und IronPDF darzustellen.
Zuerst müssen Sie Dottrace .NET Core mit NuGet installieren. Öffnen Sie Visual Studio und führen Sie die folgenden Schritte aus:
Öffnen Sie Visual Studio.
Wählen Sie Ein neues Projekt erstellen.
Wählen Sie Konsolenanwendung(.NET Core) und klicken Sie auf Next.
Nennen Sie Ihr Projekt DottraceExample
und klicken Sie auf Create.
Klicken Sie im Solution Explorer mit der rechten Maustaste auf das Projekt und wählen Sie NuGet-Pakete verwalten.
Suchen Sie im NuGet Package Manager nach JetBrains.dotTrace.CommandLineTools
.
Wählen Sie das Paket aus und klicken Sie auf Installieren.
Dadurch wird Dottrace als Abhängigkeit in Ihrem Projekt installiert.
Erstellen wir eine einfache Konsolenanwendung für das Profil. Ersetzen Sie den Code in Program.cs
durch den folgenden:
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Starting application...");
Thread.Sleep(5000); // Simulating a time-consuming operation
Console.WriteLine("Application finished.");
}
}
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Starting application...");
Thread.Sleep(5000); // Simulating a time-consuming operation
Console.WriteLine("Application finished.");
}
}
Imports System
Imports System.Threading
Friend Class Program
Shared Sub Main(ByVal args() As String)
Console.WriteLine("Starting application...")
Thread.Sleep(5000) ' Simulating a time-consuming operation
Console.WriteLine("Application finished.")
End Sub
End Class
Erstellen und starten Sie Ihre Anwendung, indem Sie F5 drücken. Sobald die Anwendung läuft, benötigen Sie ihre Prozess-ID für die Profilerstellung. Sie können die Prozess-ID über das Fenster Diagnosetools von Visual Studio oder über den Task Manager ermitteln.
Um Ihre Anwendung mit Dottrace zu profilieren, öffnen Sie ein Terminalfenster oder die Package Manager Console in Visual Studio und führen Sie diese aus:
dotnet trace collect --process-id <your-process-id> --output trace.nettrace
Ersetzen Sie <Ihre-Prozess-ID>
durch die tatsächliche Prozess-ID Ihrer laufenden Anwendung.
Wenn Ihre Anwendung beendet ist, haben Sie eine Datei "trace.nettrace". Diese Datei enthält alle Profildaten, die während der Ausführung der Anwendung gesammelt wurden. Sie können diese Datei in Visual Studio analysieren. Folgen Sie diesen Schritten:
Öffnen Sie Visual Studio.
Gehen Sie zu Datei > Öffnen > Datei.
Wählen Sie die Datei "trace.nettrace" und klicken Sie auf Öffnen.
Visual Studio zeigt detaillierte Leistungsdaten an, so dass Sie Leistungsengpässe erkennen und beheben können.
Nachdem Sie Dottrace eingerichtet und ein grundlegendes Beispiel für die Profilerstellung erstellt haben, können Sie nun mit der Implementierung fortgeschrittener Funktionen fortfahren.
Eine der wichtigsten Funktionen von Dottrace .NET Core ist die Analyse der CPU-Auslastung. So können Sie feststellen, welche Teile Ihres Codes die meisten CPU-Ressourcen verbrauchen. Und so geht's:
Starten Sie zunächst Ihre Anwendung in Visual Studio. Führen Sie dann im Terminal oder in der Paketmanager-Konsole aus:
dotnet trace collect --process-id <your-process-id> --output cpu_usage.nettrace
Ersetzen Sie <Ihre-Prozess-ID>
durch die tatsächliche Prozess-ID Ihrer Anwendung. Sobald die Profilerstellung abgeschlossen ist, öffnen Sie die Datei "cpu_usage.nettrace" in Visual Studio:
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
var sw = new Stopwatch();
sw.Start();
// Simulate a CPU-intensive operation
for (int i = 0; i < 1000000000; i++) { }
sw.Stop();
Console.WriteLine($"Elapsed Time: {sw.ElapsedMilliseconds} ms");
}
}
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
var sw = new Stopwatch();
sw.Start();
// Simulate a CPU-intensive operation
for (int i = 0; i < 1000000000; i++) { }
sw.Stop();
Console.WriteLine($"Elapsed Time: {sw.ElapsedMilliseconds} ms");
}
}
Imports System
Imports System.Diagnostics
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim sw = New Stopwatch()
sw.Start()
' Simulate a CPU-intensive operation
For i As Integer = 0 To 999999999
Next i
sw.Stop()
Console.WriteLine($"Elapsed Time: {sw.ElapsedMilliseconds} ms")
End Sub
End Class
Dieser Code simuliert einen CPU-intensiven Vorgang. Wenn Sie die Datei "cpu_usage.nettrace" analysieren, werden Sie feststellen, dass die Schleife einen erheblichen Teil der CPU-Zeit beansprucht.
Dottrace .NET Core kann Ihnen auch helfen, die Speicherzuweisung in Ihrer Anwendung zu überwachen. Dies ist entscheidend für die Erkennung von Speicherlecks und die Optimierung der Speichernutzung.
Führen Sie Ihre Anwendung aus und sammeln Sie Daten zur Speicherzuweisung:
dotnet trace collect --process-id <your-process-id> --output memory_allocation.nettrace
Nach der Sitzung öffnen Sie die Datei memory_allocation.nettrace
in Visual Studio:
using System;
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 10000; i++)
{
var data = new byte[1024]; // Allocate 1KB
}
Console.WriteLine("Memory allocation completed.");
}
}
using System;
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 10000; i++)
{
var data = new byte[1024]; // Allocate 1KB
}
Console.WriteLine("Memory allocation completed.");
}
}
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
For i As Integer = 0 To 9999
Dim data = New Byte(1023){} ' Allocate 1KB
Next i
Console.WriteLine("Memory allocation completed.")
End Sub
End Class
Dieser Code ordnet Speicher in einer Schleife zu. Die Analyse der Datei memory_allocation.nettrace
zeigt, wie viel Speicher zugewiesen wird und wo dies in Ihrem Code geschieht.
Das Profiling von E/A-Vorgängen ist eine weitere wichtige Funktion. Sie hilft Ihnen, die Auswirkungen des Lesens von und Schreibens in Dateien auf die Leistung zu verstehen.
Starten Sie Ihre Anwendung und sammeln Sie E/A-Daten:
dotnet trace collect --process-id <your-process-id> --output io_operations.nettrace
Öffnen Sie die Datei io_operations.nettrace
in Visual Studio zur Analyse:
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
var filePath = "test.txt";
// Write to file
using (var writer = new StreamWriter(filePath))
{
for (int i = 0; i < 1000; i++)
{
writer.WriteLine("This is a test line.");
}
}
// Read from file
using (var reader = new StreamReader(filePath))
{
while (reader.ReadLine() != null) { }
}
Console.WriteLine("I/O operations completed.");
}
}
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
var filePath = "test.txt";
// Write to file
using (var writer = new StreamWriter(filePath))
{
for (int i = 0; i < 1000; i++)
{
writer.WriteLine("This is a test line.");
}
}
// Read from file
using (var reader = new StreamReader(filePath))
{
while (reader.ReadLine() != null) { }
}
Console.WriteLine("I/O operations completed.");
}
}
Imports System
Imports System.IO
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim filePath = "test.txt"
' Write to file
Using writer = New StreamWriter(filePath)
For i As Integer = 0 To 999
writer.WriteLine("This is a test line.")
Next i
End Using
' Read from file
Using reader = New StreamReader(filePath)
Do While reader.ReadLine() IsNot Nothing
Loop
End Using
Console.WriteLine("I/O operations completed.")
End Sub
End Class
Dieser Code schreibt in eine Datei und liest aus ihr. Die Analyse der Datei io_operations.nettrace
gibt Aufschluss über die für E/A-Operationen aufgewendete Zeit.
Die Identifizierung von Leistungsengpässen ist einer der Hauptzwecke der Verwendung von Dottrace. Durch die Analyse der gesammelten Trace-Dateien können Sie die langsamen Teile Ihres Codes ausfindig machen.
Starten Sie Ihre Anwendung und sammeln Sie Leistungsdaten:
dotnet trace collect --process-id <your-process-id> --output performance_bottlenecks.nettrace
Öffnen Sie die Datei "performance_bottlenecks.nettrace" in Visual Studio:
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Starting application...");
// Simulate a time-consuming operation
Thread.Sleep(5000);
Console.WriteLine("Application finished.");
}
}
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Starting application...");
// Simulate a time-consuming operation
Thread.Sleep(5000);
Console.WriteLine("Application finished.");
}
}
Imports System
Imports System.Threading
Friend Class Program
Shared Sub Main(ByVal args() As String)
Console.WriteLine("Starting application...")
' Simulate a time-consuming operation
Thread.Sleep(5000)
Console.WriteLine("Application finished.")
End Sub
End Class
Dieser Code simuliert eine Verzögerung in der Anwendung. Die Analyse der Datei "performance_bottlenecks.nettrace" zeigt, wo die meiste Zeit verbracht wird, und hilft Ihnen, diese Bereiche zu optimieren.
Diese Beispiele decken die wichtigsten Funktionen von Dottrace .NET Core ab. Sie können jetzt die CPU-Auslastung analysieren, die Speicherzuweisung überwachen, Profile von E/A-Vorgängen erstellen, Leistungsengpässe identifizieren und Profile in Produktionsumgebungen erstellen. Jede Funktion hilft Ihnen, Ihre .NET Core-Anwendungen zu optimieren und zu verbessern.
ironPDF" ist eine leistungsstarke .NET-Bibliothek, mit der Sie PDFs in Ihren C#-Anwendungen einfach erzeugen, bearbeiten und verwalten können. Egal, ob Sie neue PDFs von Grund auf erstellen, HTML in PDF konvertieren oder bestehende PDFs bearbeiten müssen, IronPDF bietet eine Vielzahl von Funktionen, um diese Aufgaben effizient zu erledigen. Es ist von Vorteil für Anwendungen, die eine PDF-Erstellung und -Verarbeitung erfordern, wie z. B. Berichtssysteme, Dokumentenmanagementlösungen und Webanwendungen.
Stellen Sie sich ein Szenario vor, in dem Sie eine Webanwendung haben, die PDF-Berichte für Benutzer erstellt. Mit Dottrace können Sie die Leistung des PDF-Erzeugungsprozesses verfolgen, Leistungsprobleme anhand der Trace-Datei identifizieren und Verbesserungen vornehmen, um die Benutzerfreundlichkeit zu erhöhen. Diese Integration ist besonders wertvoll für Anwendungen, die große Mengen an PDF-Dokumenten verarbeiten oder eine leistungsstarke Verarbeitung erfordern.
Nachfolgend finden Sie ein vollständiges Codebeispiel, das die Integration von IronPDF mit Dottrace demonstriert. In diesem Beispiel wird eine einfache HTML-zu-PDF-Konvertierung erstellt und Dottrace verwendet, um die Leistung des Vorgangs zu überwachen.
using System;
using IronPdf;
using Microsoft.Diagnostics.Tracing;
using Microsoft.Diagnostics.Tracing.Session;
class Program
{
static void Main(string[] args)
{
// Start tracing session
using (var session = new TraceEventSession("MySession"))
{
session.EnableProvider("Microsoft-Windows-DotNETRuntime");
// Perform PDF generation
var pdfDocument = GeneratePdf("Hello, world!");
// Save the PDF to a file
pdfDocument.SaveAs("example.pdf");
// Stop tracing session
session.Stop();
}
Console.WriteLine("PDF generated and performance traced successfully.");
}
static PdfDocument GeneratePdf(string htmlContent)
{
// Create an instance of the HtmlToPdf renderer
var renderer = new ChromePdfRenderer();
// Convert HTML to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
return pdfDocument;
}
}
using System;
using IronPdf;
using Microsoft.Diagnostics.Tracing;
using Microsoft.Diagnostics.Tracing.Session;
class Program
{
static void Main(string[] args)
{
// Start tracing session
using (var session = new TraceEventSession("MySession"))
{
session.EnableProvider("Microsoft-Windows-DotNETRuntime");
// Perform PDF generation
var pdfDocument = GeneratePdf("Hello, world!");
// Save the PDF to a file
pdfDocument.SaveAs("example.pdf");
// Stop tracing session
session.Stop();
}
Console.WriteLine("PDF generated and performance traced successfully.");
}
static PdfDocument GeneratePdf(string htmlContent)
{
// Create an instance of the HtmlToPdf renderer
var renderer = new ChromePdfRenderer();
// Convert HTML to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
return pdfDocument;
}
}
Imports System
Imports IronPdf
Imports Microsoft.Diagnostics.Tracing
Imports Microsoft.Diagnostics.Tracing.Session
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Start tracing session
Using session = New TraceEventSession("MySession")
session.EnableProvider("Microsoft-Windows-DotNETRuntime")
' Perform PDF generation
Dim pdfDocument = GeneratePdf("Hello, world!")
' Save the PDF to a file
pdfDocument.SaveAs("example.pdf")
' Stop tracing session
session.Stop()
End Using
Console.WriteLine("PDF generated and performance traced successfully.")
End Sub
Private Shared Function GeneratePdf(ByVal htmlContent As String) As PdfDocument
' Create an instance of the HtmlToPdf renderer
Dim renderer = New ChromePdfRenderer()
' Convert HTML to PDF
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
Return pdfDocument
End Function
End Class
In diesem Beispiel beginnen wir mit der Erstellung einer TraceEventSession
, um Leistungsdaten mit Dottrace zu erfassen. Anschließend erzeugen wir mit IronPDF ein PDF aus einem einfachen HTML-String. Nach dem Speichern der PDF-Datei beenden wir die Verfolgungssitzung.
So können wir die Leistung des PDF-Erzeugungsprozesses überwachen und wertvolle Erkenntnisse über seine Ausführung gewinnen.
Erforschen Sie dieIronPDF-Lizenzierungsoptionen seite, um mehr über die verfügbaren Lizenzen und ihre jeweiligen Preise zu erfahren.
Durch die Integration von Dottrace in IronPDF können Sie die Leistung und Zuverlässigkeit Ihrer PDF-Erzeugungsprozesse erheblich steigern. Diese Integration liefert wertvolle Erkenntnisse darüber, wie Ihre Anwendung mit PDF-Aufgaben umgeht, und hilft Ihnen, die Abläufe zu optimieren und eine reibungslose Benutzererfahrung zu gewährleisten. IronPDF bietet einen umfassenden Satz von Funktionen für die Arbeit mit PDFs, was es zu einem unverzichtbaren Werkzeug für jeden .NET
-Entwickler macht.
IronPDF bietet eine kostenlose Testversion an, und Lizenzen beginnen bei $749, sodass Sie seine Fähigkeiten vor dem Kauf bewerten können. Durch die Kombination von Dottrace und IronPDF können Sie leistungsstarke und effiziente Anwendungen erstellen, die den Anforderungen Ihrer Benutzer entsprechen.
9 .NET API-Produkte für Ihre Bürodokumente