Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Voici Dottrace .NET Core
, un outil puissant dans l'écosystème .NET qui sert d'outil .NET
essentiel pour le profilage des performances. En tant que profileur de performance `.NET', l'outil .NET trace permet aux développeurs de capturer des fichiers de trace détaillés qui donnent un aperçu des événements d'exécution d'un processus en cours d'exécution. Cet outil est indispensable pour optimiser les applications construites sur le Framework .NET.
Que vous effectuiez des tests unitaires ou que vous intégriez des builds d'intégration continue, Dottrace vous permet de surveiller et d'analyser efficacement les performances de vos applications. Grâce à cet outil, vous pouvez mieux comprendre le comportement de votre application, ce qui garantit des performances et une fiabilité optimales.
ironPDF est une bibliothèque complète pour travailler avec des PDF dans des applications .NET
. Il permet de créer, de modifier et d'extraire le contenu des fichiers PDF. IronPDF prend en charge des fonctions telles que la conversion de HTML en PDF, la fusion et le fractionnement de PDF. Cette bibliothèque est un outil précieux pour toute application qui doit générer ou manipuler des documents PDF. Cet article utilisera cette bibliothèque en conjonction avec Dottrace pour présenter une application réelle de l'efficacité de Dottrace et d'IronPDF.
Tout d'abord, vous devez installer Dottrace .NET Core à l'aide de NuGet. Ouvrez Visual Studio et suivez les étapes suivantes :
DottraceExample
et cliquez sur Create.JetBrains.dotTrace.CommandLineTools
.Sélectionnez le paquet et cliquez sur Installer.
Ceci installe Dottrace comme une dépendance dans votre projet.
Créons une application console de base pour établir un profil. Remplaçons le code dans Program.cs
par ce qui suit :
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
Créez et exécutez votre application en appuyant sur F5. Une fois que l'application est en cours d'exécution, vous aurez besoin de son identifiant de processus pour établir le profil. Vous pouvez trouver l'ID du processus en utilisant la fenêtre Outils de diagnostic de Visual Studio ou en consultant le Gestionnaire de tâches.
Pour profiler votre application à l'aide de Dottrace, ouvrez une fenêtre de terminal ou la console du gestionnaire de paquets dans Visual Studio et exécutez :
dotnet trace collect --process-id <your-process-id> --output trace.nettrace
Remplacez <votre-id-process>
par l'ID du processus de votre application en cours d'exécution.
Une fois votre application terminée, vous aurez un fichier trace.nettrace
. Ce fichier contient toutes les données de profilage collectées pendant l'exécution de l'application. Vous pouvez analyser ce fichier dans Visual Studio. Procédez comme suit :
Sélectionnez le fichier trace.nettrace
et cliquez sur Ouvrir.
Visual Studio affiche des données détaillées sur les performances, ce qui vous permet d'identifier et de corriger les goulets d'étranglement.
Maintenant que vous avez configuré Dottrace et créé un exemple de profilage de base, vous pouvez passer à la mise en œuvre de fonctionnalités plus avancées.
L'une des principales fonctionnalités de Dottrace .NET Core est l'analyse de l'utilisation du processeur. Cela vous aide à identifier les parties de votre code qui consomment le plus de ressources CPU. Voici comment procéder :
Tout d'abord, démarrez votre application dans Visual Studio. Ensuite, dans le terminal ou Package Manager Console, exécutez :
dotnet trace collect --process-id <your-process-id> --output cpu_usage.nettrace
Remplacez <votre-process-id>
par l'identifiant du processus de votre application. Une fois la session de profilage terminée, ouvrez le fichier cpu_usage.nettrace
dans 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
Ce code simule une opération gourmande en ressources humaines. Lorsque vous analysez le fichier cpu_usage.nettrace
, vous verrez que la boucle prend une quantité significative de temps CPU.
Dottrace .NET Core peut également vous aider à surveiller l'allocation de la mémoire dans votre application. Ceci est crucial pour identifier les fuites de mémoire et optimiser l'utilisation de la mémoire.
Exécutez votre application et recueillez les données relatives à l'allocation de mémoire :
dotnet trace collect --process-id <your-process-id> --output memory_allocation.nettrace
Après la session, ouvrez le fichier memory_allocation.nettrace
dans 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
Ce code alloue de la mémoire dans une boucle. L'analyse du fichier memory_allocation.nettrace
montrera combien de mémoire est allouée et où cela se produit dans votre code.
Le profilage des opérations d'E/S est une autre caractéristique essentielle. Il vous aide à comprendre l'impact de la lecture et de l'écriture sur les performances des fichiers.
Lancez votre application et collectez les données d'E/S :
dotnet trace collect --process-id <your-process-id> --output io_operations.nettrace
Ouvrez le fichier io_operations.nettrace
dans Visual Studio pour l'analyser :
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
Ce code écrit et lit dans un fichier. L'analyse du fichier io_operations.nettrace
révèlera le temps passé sur les opérations d'entrées-sorties.
L'identification des goulets d'étranglement est l'un des principaux objectifs de l'utilisation de Dottrace. En analysant les fichiers de trace collectés, vous pouvez identifier les parties les plus lentes de votre code.
Démarrez votre application et collectez les données de performance :
dotnet trace collect --process-id <your-process-id> --output performance_bottlenecks.nettrace
Ouvrez le fichier performance_bottlenecks.nettrace
dans 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
Ce code simule un retard dans l'application. L'analyse du fichier performance_bottlenecks.nettrace
montrera où l'on passe le plus de temps, ce qui vous aidera à optimiser ces parties.
Ces exemples couvrent les principales fonctionnalités de Dottrace .NET Core. Vous pouvez désormais analyser l'utilisation du processeur, surveiller l'allocation de la mémoire, établir le profil des opérations d'E/S, identifier les goulets d'étranglement en matière de performances et établir le profil dans les environnements de production. Chaque fonctionnalité vous permet d'optimiser et d'améliorer vos applications .NET Core.
ironPDF est une puissante bibliothèque .NET qui vous permet de générer, d'éditer et de gérer facilement des fichiers PDF dans vos applications C#. Que vous ayez besoin de créer de nouveaux PDF à partir de zéro, de convertir du HTML en PDF ou de manipuler des PDF existants, IronPDF offre un ensemble riche de fonctionnalités permettant d'accomplir ces tâches efficacement. Il est avantageux pour les applications qui nécessitent la génération et le traitement de PDF, telles que les systèmes de reporting, les solutions de gestion de documents et les applications web.
Prenons le cas d'une application web qui génère des rapports PDF pour les utilisateurs. En utilisant Dottrace, vous pouvez suivre les performances du processus de génération de PDF, identifier les problèmes de performance à l'aide du fichier de trace et apporter des améliorations pour améliorer l'expérience de l'utilisateur. Cette intégration est particulièrement précieuse pour les applications qui traitent de gros volumes de documents PDF ou qui nécessitent un traitement très performant.
Vous trouverez ci-dessous un exemple de code complet qui démontre comment intégrer IronPDF avec Dottrace. Cet exemple crée une conversion simple de HTML en PDF et utilise Dottrace pour surveiller les performances de l'opération.
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
Dans cet exemple, nous commençons par créer une TraceEventSession
pour capturer les données de performance à l'aide de Dottrace. Nous générons ensuite un PDF à partir d'une simple chaîne HTML à l'aide d'IronPDF. Après avoir enregistré le PDF, nous arrêtons la session de traçage.
Cela nous permet de surveiller les performances du processus de génération de PDF et de recueillir des informations précieuses sur son exécution.
En intégrant Dottrace à IronPDF, vous pouvez améliorer de manière significative la performance et la fiabilité de vos processus de génération de PDF. Cette intégration fournit des informations précieuses sur la manière dont votre application gère les tâches PDF, ce qui vous permet d'optimiser les opérations et de garantir une expérience utilisateur fluide. IronPDF offre un ensemble complet de fonctionnalités pour travailler avec les PDF, ce qui en fait un outil essentiel pour tout développeur .NET
.
IronPDF propose une version d'essai gratuite et des licences à partir de 749 $, ce qui vous permet d'évaluer ses capacités avant de procéder à un achat. La combinaison de la puissance de Dottrace et d'IronPDF peut vous aider à créer des applications performantes et efficaces qui répondent aux besoins de vos utilisateurs.
9 produits de l'API .NET pour vos documents de bureau