dotnet-trace teljesítményelemzési segédprogram
Ez a cikk a következő verziókra vonatkozik: ✔️ dotnet-trace
3.0.47001 és újabb verziók
Telepítés
Kétféleképpen tölthető le és telepíthető dotnet-trace
:
dotnet globális eszköz:
A NuGet-csomag legújabb kiadási verziójának
dotnet-trace
telepítéséhez használja a dotnet eszköz telepítési parancsát:dotnet tool install --global dotnet-trace
Közvetlen letöltés:
Töltse le a platformnak megfelelő végrehajtható eszközt:
OS Platform Windows x86 x64 | Arm-x64 | | Linux x64 | Arm | Arm64 | musl-x64 | musl-Arm64
Szinopszis
dotnet-trace [-h, --help] [--version] <command>
Leírás
Az dotnet-trace
eszköz:
- Platformfüggetlen .NET Core-eszköz.
- Lehetővé teszi egy futó folyamat .NET Core-nyomkövetéseinek gyűjtését natív profilkészítő nélkül.
- A .NET Core-futtatókörnyezetre
EventPipe
épül. - Ugyanezt a felhasználói élményt nyújtja Windows, Linux vagy macOS rendszeren is.
Beállítások
-h|--help
Parancssori súgót jelenít meg.
--version
Megjeleníti a dotnet-trace segédprogram verzióját.
--duration
Mennyi ideig futtassa a nyomkövetést.
--duration 00:00:00:05
5 másodpercig futtatja.
Parancsok
Parancs |
---|
dotnet-trace collect |
dotnet-trace konvertálás |
dotnet-trace ps |
dotnet-trace list-profiles |
dotnet-trace jelentés |
dotnet-trace collect
Diagnosztikai nyomkövetést gyűjt egy futó folyamatból, vagy elindít egy gyermekfolyamatot, és nyomon követi azt (.NET 5 vagy újabb). Ha azt szeretné, hogy az eszköz futtasson egy gyermekfolyamatot, és nyomon kövesse azt az indításkor, fűzze hozzá --
a collect parancshoz.
Szinopszis
dotnet-trace collect [--buffersize <size>] [--clreventlevel <clreventlevel>] [--clrevents <clrevents>]
[--format <Chromium|NetTrace|Speedscope>] [-h|--help] [--duration dd:hh:mm:ss]
[-n, --name <name>] [--diagnostic-port] [-o|--output <trace-file-path>] [-p|--process-id <pid>]
[--profile <profile-name>] [--providers <list-of-comma-separated-providers>]
[-- <command>] (for target applications running .NET 5 or later)
[--show-child-io] [--resume-runtime]
[--stopping-event-provider-name <stoppingEventProviderName>]
[--stopping-event-event-name <stoppingEventEventName>]
[--stopping-event-payload-filter <stoppingEventPayloadFilter>]
Beállítások
--buffersize <size>
A memóriabeli puffer méretét megabájtban állítja be. Alapértelmezett 256 MB.
Feljegyzés
Ha a célfolyamat gyorsabban bocsát ki eseményeket, mint amennyit a lemezre írhat, a puffer túlcsordulhat, és egyes eseményeket elvethet. Ezt a problémát a puffer méretének növelésével vagy a rögzítendő események számának csökkentésével háríthatja el.
--clreventlevel <clreventlevel>
A kibocsátandó CLR-események részletessége. Az alábbi táblázat az elérhető eseményszinteket mutatja be.
Sztring Számérték logalways
0
critical
1
error
2
warning
3
informational
4
verbose
5
--clrevents <clrevents>
A CLR-futtatókörnyezet-szolgáltató kulcsszavainak listája, amelyeket jelek választanak el egymástól
+
. Ez egy egyszerű leképezés, amellyel sztring aliasok használatával adhat meg esemény kulcsszavakat a hexa értékek helyett. Például ugyanazt az eseménykészletet kéri le,dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:3:4
mint adotnet-trace collect --clrevents gc+gchandle --clreventlevel informational
. Az alábbi táblázat az elérhető kulcsszavak listáját mutatja:Kulcsszó sztring aliasa Kulcsszó hexa értéke gc
0x1
gchandle
0x2
fusion
0x4
loader
0x8
jit
0x10
ngen
0x20
startenumeration
0x40
endenumeration
0x80
security
0x400
appdomainresourcemanagement
0x800
jittracing
0x1000
interop
0x2000
contention
0x4000
exception
0x8000
threading
0x10000
jittedmethodiltonativemap
0x20000
overrideandsuppressngenevents
0x40000
type
0x80000
gcheapdump
0x100000
gcsampledobjectallocationhigh
0x200000
gcheapsurvivalandmovement
0x400000
gcheapcollect
0x800000
gcheapandtypenames
0x1000000
gcsampledobjectallocationlow
0x2000000
perftrack
0x20000000
stack
0x40000000
threadtransfer
0x80000000
debugger
0x100000000
monitoring
0x200000000
codesymbols
0x400000000
eventsource
0x800000000
compilation
0x1000000000
compilationdiagnostic
0x2000000000
methoddiagnostic
0x4000000000
typediagnostic
0x8000000000
A CLR-szolgáltatóról részletesebben a .NET futtatókörnyezet-szolgáltató referenciadokumentációjában olvashat.
--format {Chromium|NetTrace|Speedscope}
Beállítja a nyomkövetési fájl konvertálásának kimeneti formátumát. Az alapértelmezett érték
NetTrace
.-n, --name <name>
Annak a folyamatnak a neve, amelyből a nyomkövetést gyűjti.
--diagnostic-port <path-to-port>
A létrehozandó diagnosztikai port neve. A nyomkövetés alkalmazásindításból való gyűjtéséről a diagnosztikai port használata című témakörben olvashat, amelyből megtudhatja, hogyan gyűjthet nyomkövetést az alkalmazásindításból.
--duration <time-to-run>
A nyomkövetés futtatásának ideje. Használja a
dd:hh:mm:ss
formátumot. Például00:00:00:05
5 másodpercig futtatja.-o|--output <trace-file-path>
Az összegyűjtött nyomkövetési adatok kimeneti elérési útja. Ha nincs megadva, alapértelmezés szerint
<appname>_<yyyyMMdd>_<HHmmss>.nettrace
a "myapp_20210315_111514.nettrace" lesz.-p|--process-id <PID>
A nyomkövetést összegyűjtő folyamatazonosító.
--profile <profile-name>
A szolgáltatókonfigurációk nevesített előre definiált készlete, amely lehetővé teszi a gyakori nyomkövetési forgatókönyvek tömör megadását. A következő profilok érhetők el:
Profil | Leírás |
---|---|
cpu-sampling |
Hasznos a processzorhasználat és az általános .NET-futtatókörnyezeti információk nyomon követéséhez. Ez az alapértelmezett beállítás, ha nincs megadva profil vagy szolgáltató. |
gc-verbose |
Nyomon követi a GC-gyűjteményeket és -mintákat az objektumfoglalásokon. |
gc-collect |
A GC-gyűjteményeket csak nagyon alacsony terhelés mellett követi nyomon. |
--providers <list-of-comma-separated-providers>
Az engedélyezendő szolgáltatók vesszővel tagolt listája
EventPipe
. Ezek a szolgáltatók kiegészítik azokat a szolgáltatókat, amelyeket a--profile <profile-name>
. Ha van inkonzisztenciája egy adott szolgáltatónak, ez a konfiguráció elsőbbséget élvez a profil implicit konfigurációjával szemben.A szolgáltatók listája a következő formában érhető el:
Provider[,Provider]
Provider
a következő formában van:KnownProviderName[:Flags[:Level][:KeyValueArgs]]
.KeyValueArgs
a következő formában van:[key1=value1][;key2=value2]
.
Ha többet szeretne megtudni a .NET ismert szolgáltatóiról, tekintse meg a jól ismert eseményszolgáltatókat.
-- <command>
(.NET 5 vagy újabb verziót futtató célalkalmazások esetén)A gyűjteménykonfigurációs paraméterek után a felhasználó hozzáfűzhet
--
egy parancsot, amellyel elindíthat egy .NET-alkalmazást legalább 5.0-s futtatókörnyezettel. Ez hasznos lehet a folyamat korai szakaszában előforduló problémák diagnosztizálásakor, például az indítási teljesítménysel vagy a szerelvénybetöltő és a kötőanyag hibáival kapcsolatban.Feljegyzés
Ezzel a beállítással figyeli az első .NET-folyamatot, amely visszakomlik az eszközhöz, ami azt jelenti, hogy ha a parancs több .NET-alkalmazást indít el, az csak az első alkalmazást fogja összegyűjteni. Ezért javasoljuk, hogy használja ezt a lehetőséget önálló alkalmazásokban, vagy használja a
dotnet exec <app.dll>
lehetőséget.--show-child-io
Egy elindított gyermekfolyamat bemeneti és kimeneti adatfolyamait jeleníti meg az aktuális konzolon.
--resume-runtime
A munkamenet inicializálása után folytassa a futtatókörnyezetet, alapértelmezés szerint igaz lesz. Tiltsa le a futtatókörnyezet folytatását a --resume-runtime:false paranccsel.
--stopping-event-provider-name
Egy másként értelmezett sztring, amely leállítja a nyomkövetést, amikor egy egyező szolgáltatónévvel rendelkező eseményt ér el. Egy konkrétabb leállítási eseményhez adja meg és/vagy
--stopping-event-payload-filter
adja meg--stopping-event-event-name
a következőt: például--stopping-event-provider-name Microsoft-Windows-DotNETRuntime
állítsa le a nyomkövetést az eseményszolgáltató általMicrosoft-Windows-DotNETRuntime
kibocsátott első esemény eléréséhez.--stopping-event-event-name
Egy másként értelmezett sztring, amely leállítja a nyomkövetést, amikor egy eseményt a megfelelő eseménynévvel ér el. Be
--stopping-event-provider-name
kell állítani. Egy konkrétabb leállítási eseményhez adja meg--stopping-event-payload-filter
a . például--stopping-event-provider-name Microsoft-Windows-DotNETRuntime --stopping-event-event-name Method/JittingStarted
állítsa le a nyomkövetést az eseményszolgáltató általMicrosoft-Windows-DotNETRuntime
kibocsátott elsőMethod/JittingStarted
esemény eléréséhez.--stopping-event-payload-filter
Vesszővel elválasztott [payload_field_name]:[payload_field_value] párként értelmezett sztring, amely az összes megadott hasznos adatpárt tartalmazó esemény lenyomásakor leállítja a nyomkövetést. Szükség van
--stopping-event-provider-name
a beállításra és--stopping-event-event-name
a beállításra. például--stopping-event-provider-name Microsoft-Windows-DotNETRuntime --stopping-event-event-name Method/JittingStarted --stopping-event-payload-filter MethodNameSpace:Program,MethodName:OnButtonClick
állítsa le a nyomkövetést az eseményszolgáltató által kibocsátott névtérben lévőProgram
metódusOnButtonClick
elsőMethod/JittingStarted
eseményeMicrosoft-Windows-DotNETRuntime
után.
Feljegyzés
- A nyomkövetés leállítása hosszú időt (akár perceket) is igénybe vehet a nagy alkalmazások esetében. A futtatókörnyezetnek át kell küldenie a típusgyorsítótárat a nyomkövetésben rögzített összes felügyelt kódhoz.
- Linux és macOS rendszeren ez a parancs elvárja a célalkalmazást, és
dotnet-trace
ugyanaztTMPDIR
a környezeti változót használja. Ellenkező esetben a parancs időtúllépést fog végrehajtani.
- A nyomkövetést a célfolyamatot
dotnet-trace
futtató felhasználóval azonos felhasználóként vagy gyökérként kell futtatni. Ellenkező esetben az eszköz nem fog kapcsolatot létesíteni a célfolyamattal.
- Ha futás
dotnet-trace collect
közben kezeletlen kivételt tapasztal, az hiányos nyomkövetést eredményez. Ha a kivétel kiváltó okának megkeresése a prioritás, keresse meg az összeomláskor található memóriaképek gyűjtését. A kezeletlen kivétel miatt a rendszer csonkolja a nyomkövetést, amikor a futtatókörnyezet leáll, hogy megakadályozza az egyéb nem kívánt viselkedést, például lefagyást vagy adatsérülést. Annak ellenére, hogy a nyomkövetés hiányos, továbbra is megnyithatja, hogy lássa, mi történt a hibához vezetően. Hiányoznak azonban a lefutási adatok (ez a nyomkövetés végén történik), így a veremek feloldatlanok lehetnek (attól függően, hogy a szolgáltatók milyen szolgáltatókat kapcsoltak be). Nyissa meg a nyomkövetést a PerfView parancssori jelölővel történő végrehajtásával/ContinueOnError
. A naplók tartalmazzák a kivétel aktivált helyét is.
- Ha a beállításokon keresztül
--stopping-event-*
ad meg egy leállási eseményt, mivel az EventStream aszinkron módon van elemezve, a megadott leállási esemény beállításainak megfelelő nyomkövetési esemény elemzése és az EventPipeSession leállítása között lesznek események.
dotnet-trace konvertálás
A nyomkövetéseket nettrace
alternatív formátumokká alakítja át, hogy alternatív nyomkövetési elemzési eszközökkel használható legyen.
Szinopszis
dotnet-trace convert [<input-filename>] [--format <Chromium|NetTrace|Speedscope>] [-h|--help] [-o|--output <output-filename>]
Argumentumok
<input-filename>
Konvertálandó bemeneti nyomkövetési fájl. A trace.nettrace alapértelmezett értéke.
Beállítások
--format <Chromium|NetTrace|Speedscope>
Beállítja a nyomkövetési fájl konvertálásának kimeneti formátumát.
-o|--output <output-filename>
Kimeneti fájlnév. A program hozzáadja a célformátum bővítményét.
Feljegyzés
A fájlok chromium
speedscope
konvertálása nettrace
visszafordíthatatlan. speedscope
és chromium
a fájlok nem rendelkeznek a fájlok rekonstruálásához nettrace
szükséges összes információval. A convert
parancs azonban megőrzi az eredeti nettrace
fájlt, ezért ne törölje ezt a fájlt, ha a jövőben meg szeretné nyitni.
dotnet-trace ps
Felsorolja azokat a dotnet-folyamatokat, amelyekből a nyomkövetések gyűjthetők.
dotnet-trace
A 6.0.320703-as és újabb verziókban az egyes folyamatok által elindított parancssori argumentumok is megjelennek, ha elérhetők.
Feljegyzés
A számbavételi 64 bites folyamatok teljes körű információinak lekéréséhez az eszköz 64 bites verzióját kell használnia dotnet-trace
.
Szinopszis
dotnet-trace ps [-h|--help]
Példa
Tegyük fel, hogy a paranccsal dotnet run --configuration Release
elindít egy hosszú ideig futó alkalmazást. Egy másik ablakban futtassa a dotnet-trace ps
parancsot. A megjelenő kimenet a következő. Ha elérhető, a parancssori argumentumok a 6.0.320703-as és újabb verzióban dotnet-trace
jelennek meg.
> dotnet-trace ps
21932 dotnet C:\Program Files\dotnet\dotnet.exe run --configuration Release
36656 dotnet C:\Program Files\dotnet\dotnet.exe
dotnet-trace list-profiles
Az előre összeállított nyomkövetési profilokat listázza, és leírja, hogy mely szolgáltatók és szűrők találhatók az egyes profilokban.
Szinopszis
dotnet-trace list-profiles [-h|--help]
dotnet-trace jelentés
Jelentés létrehozása stdout-ba egy korábban létrehozott nyomkövetésből.
Szinopszis
dotnet-trace report [-h|--help] <tracefile> [command]
Argumentumok
<tracefile>
Az elemzett nyomkövetés fájlútvonala.
Parancsok
dotnet-trace jelentés topN
Megkeresi azokat a leggyakoribb N metódusokat, amelyek a híváscsatán voltak a leghosszabb ideig.
Szinopszis
dotnet-trace report <tracefile> topN [-n|--number <n>] [--inclusive] [-v|--verbose] [-h|--help]
Beállítások
-n|--number <n>
Megadja a híváshívás legfontosabb N metódusait.
--inclusive
A felső N metódusok kimenete a befogadó idő alapján. Ha nincs megadva, alapértelmezés szerint a kizárólagos időt használja a rendszer.
-v|--verbose
Adja ki az egyes metódusok paramétereit teljes egészében. Ha nincs megadva, a paraméterek csonkulnak.
Nyomkövetés összegyűjtése dotnet-trace használatával
Nyomkövetések gyűjtése a következő használatával dotnet-trace
:
Kérje le a .NET Core-alkalmazás folyamatazonosítóját (PID) a nyomkövetések gyűjtéséhez.
- Windows rendszeren használhatja például a Feladatkezelőt vagy a
tasklist
parancsot. - Linuxon például a
ps
parancs. - dotnet-trace ps
- Windows rendszeren használhatja például a Feladatkezelőt vagy a
Futtassa az alábbi parancsot:
dotnet-trace collect --process-id <PID>
Az előző parancs a következőhöz hasonló kimenetet hoz létre:
Press <Enter> to exit... Connecting to process: <Full-Path-To-Process-Being-Profiled>/dotnet.exe Collecting to file: <Full-Path-To-Trace>/trace.nettrace Session Id: <SessionId> Recording trace 721.025 (KB)
A kulcs lenyomásával állítsa le a gyűjteményt
<Enter>
.dotnet-trace
befejezi a nyomkövetés.nettrace fájlba történő naplózási eseményeket.
Gyermekalkalmazás indítása és nyomkövetés gyűjtése az indításból dotnet-trace használatával
Néha hasznos lehet egy folyamat nyomának összegyűjtése az indításból. A .NET 5-ös vagy újabb verzióját futtató alkalmazások esetében ezt a dotnet-trace használatával teheti meg.
Ez parancssori argumentumokkal arg1
indul elhello.exe
, arg2
és nyomkövetést gyűjt a futtatókörnyezet indításakor:
dotnet-trace collect -- hello.exe arg1 arg2
Az előző parancs a következőhöz hasonló kimenetet hoz létre:
No profile or providers specified, defaulting to trace profile 'cpu-sampling'
Provider Name Keywords Level Enabled By
Microsoft-DotNETCore-SampleProfiler 0x0000F00000000000 Informational(4) --profile
Microsoft-Windows-DotNETRuntime 0x00000014C14FCCBD Informational(4) --profile
Process : E:\temp\gcperfsim\bin\Debug\net5.0\gcperfsim.exe
Output File : E:\temp\gcperfsim\trace.nettrace
[00:00:00:05] Recording trace 122.244 (KB)
Press <Enter> or <Ctrl+C> to exit...
A nyomkövetést leállíthatja a lenyomással vagy <Ctrl + C>
a kulccsal<Enter>
. Ha ezt teszi, az is kilép hello.exe
.
Feljegyzés
A dotnet-trace használatával történő hello.exe
indítás átirányítja a bemenetét/kimenetét, és alapértelmezés szerint nem fogja tudni használni a konzolon. Használja a kapcsolót a --show-child-io
stdin/stdout használatához.
Ha a CTRL+C vagy a SIGTERM billentyűkombinációval lép ki az eszközből, az biztonságosan befejezi az eszközt és a gyermekfolyamatot is.
Ha a gyermekfolyamat az eszköz előtt kilép, az eszköz is kilép, és a nyomkövetésnek biztonságosan megtekinthetőnek kell lennie.
Nyomkövetés gyűjtése az alkalmazásindításból a diagnosztikai port használatával
A diagnosztikai port a .NET 5-ben hozzáadott futtatókörnyezeti funkció, amely lehetővé teszi a nyomkövetés indítását az alkalmazás indításakor. Ehhez dotnet-trace
használhatja dotnet-trace collect -- <command>
a fenti példákban leírt módon, vagy használhatja a --diagnostic-port
lehetőséget.
Az alkalmazás gyermekfolyamatként való elindításának legegyszerűbb dotnet-trace <collect|monitor> -- <command>
módja az alkalmazás indítási folyamatából való gyors nyomon követésének.
Ha azonban pontosabban szeretné szabályozni a nyomkövetés alatt álló alkalmazás élettartamát (például csak az első 10 percre figyeli az alkalmazást, és folytatja a végrehajtást), vagy ha a parancssori felület használatával kell kommunikálnia az alkalmazással, a beállítással --diagnostic-port
szabályozhatja a figyelt célalkalmazást és dotnet-trace
a .
Az alábbi
dotnet-trace
parancs létrehoz egy elnevezettmyport.sock
diagnosztikai szoftvercsatornát, és várja meg a kapcsolatot.dotnet-trace collect --diagnostic-port myport.sock
Hozam:
Waiting for connection on myport.sock Start an application with the following environment variable: DOTNET_DiagnosticPorts=/home/user/myport.sock
Egy külön konzolon indítsa el a célalkalmazást a kimeneti értékre
dotnet-trace
beállított környezeti változóvalDOTNET_DiagnosticPorts
.export DOTNET_DiagnosticPorts=/home/user/myport.sock ./my-dotnet-app arg1 arg2
Ennek ezután engedélyeznie
dotnet-trace
kell a nyomkövetésmy-dotnet-app
indítását:Waiting for connection on myport.sock Start an application with the following environment variable: DOTNET_DiagnosticPorts=myport.sock Starting a counter session. Press Q to quit.
Fontos
Az alkalmazás
dotnet run
indítása problémás lehet, mert a dotnet parancssori felület számos olyan gyermekfolyamatot hozhat létre, amelyek nem az Ön alkalmazásai, és amelyekhezdotnet-trace
az alkalmazás előtt csatlakozhatnak, így az alkalmazást futásidőben fel kell függeszteni. Javasoljuk, hogy közvetlenül használja az alkalmazás önálló verzióját, vagy indítsadotnet exec
el az alkalmazást.
A dotnet-trace-ből rögzített nyomkövetés megtekintése
Windows rendszeren a .nettrace-fájlokat a Visual Studióban vagy a PerfView-ban tekintheti meg elemzés céljából.
Linuxon a nyomkövetést úgy tekintheti meg, hogy a kimeneti formátumot a következőre speedscope
módosítjadotnet-trace
. Módosítsa a kimeneti fájlformátumot a -f|--format
beállítással. Választhat ( nettrace
az alapértelmezett beállítás) és a speedscope
. Ez a dotnet-trace
beállítás -f speedscope
létrehoz egy speedscope
fájlt. Speedscope
fájlokat a következő helyen nyithatja meg: https://www.speedscope.app.
A nem Windows-platformokon gyűjtött nyomkövetések esetében a nyomkövetési fájlt áthelyezheti egy Windows-gépre, és megtekintheti a Visual Studióban vagy a PerfView-ban.
Feljegyzés
A .NET Core-futtatókörnyezet nyomkövetéseket hoz létre a nettrace
formátumban. A nyomkövetéseket a rendszer a nyomkövetés befejezése után sebességmérővé alakítja (ha meg van adva). Mivel egyes átalakítások adatvesztést okozhatnak, az eredeti nettrace
fájl megmarad a konvertált fájl mellett.
Az .rsp fájl használata a hosszú parancsok beírásának elkerülése érdekében
Elindíthat dotnet-trace
egy .rsp
fájlt, amely tartalmazza az átadandó argumentumokat. Ez akkor lehet hasznos, ha olyan szolgáltatókat engedélyez, amelyek hosszadalmas argumentumokat várnak, vagy ha karaktereket csíkozó rendszerhéj-környezetet használnak.
A következő szolgáltató például nehézkes lehet, ha minden nyomkövetési alkalommal beír:
dotnet-trace collect --providers Microsoft-Diagnostics-DiagnosticSource:0x3:5:FilterAndPayloadSpecs="SqlClientDiagnosticListener/System.Data.SqlClient.WriteCommandBefore@Activity1Start:-Command;Command.CommandText;ConnectionId;Operation;Command.Connection.ServerVersion;Command.CommandTimeout;Command.CommandType;Command.Connection.ConnectionString;Command.Connection.Database;Command.Connection.DataSource;Command.Connection.PacketSize\r\nSqlClientDiagnosticListener/System.Data.SqlClient.WriteCommandAfter@Activity1Stop:\r\nMicrosoft.EntityFrameworkCore/Microsoft.EntityFrameworkCore.Database.Command.CommandExecuting@Activity2Start:-Command;Command.CommandText;ConnectionId;IsAsync;Command.Connection.ClientConnectionId;Command.Connection.ServerVersion;Command.CommandTimeout;Command.CommandType;Command.Connection.ConnectionString;Command.Connection.Database;Command.Connection.DataSource;Command.Connection.PacketSize\r\nMicrosoft.EntityFrameworkCore/Microsoft.EntityFrameworkCore.Database.Command.CommandExecuted@Activity2Stop:",OtherProvider,AnotherProvider
Az előző példa emellett az argumentum részeként is szerepel "
. Mivel az idézőjeleket nem minden rendszerhéj egyformán kezeli, különböző problémák léphetnek fel a különböző rendszerhéjak használatakor. A beírandó zsh
parancs például eltér a következő parancstól cmd
: .
Ahelyett, hogy minden alkalommal beírja ezt a szöveget, mentheti a következő szöveget egy úgynevezett myprofile.rsp
fájlba.
--providers
Microsoft-Diagnostics-DiagnosticSource:0x3:5:FilterAndPayloadSpecs="SqlClientDiagnosticListener/System.Data.SqlClient.WriteCommandBefore@Activity1Start:-Command;Command.CommandText;ConnectionId;Operation;Command.Connection.ServerVersion;Command.CommandTimeout;Command.CommandType;Command.Connection.ConnectionString;Command.Connection.Database;Command.Connection.DataSource;Command.Connection.PacketSize\r\nSqlClientDiagnosticListener/System.Data.SqlClient.WriteCommandAfter@Activity1Stop:\r\nMicrosoft.EntityFrameworkCore/Microsoft.EntityFrameworkCore.Database.Command.CommandExecuting@Activity2Start:-Command;Command.CommandText;ConnectionId;IsAsync;Command.Connection.ClientConnectionId;Command.Connection.ServerVersion;Command.CommandTimeout;Command.CommandType;Command.Connection.ConnectionString;Command.Connection.Database;Command.Connection.DataSource;Command.Connection.PacketSize\r\nMicrosoft.EntityFrameworkCore/Microsoft.EntityFrameworkCore.Database.Command.CommandExecuted@Activity2Stop:",OtherProvider,AnotherProvider
A mentést myprofile.rsp
követően a következő paranccsal indíthatja el dotnet-trace
ezt a konfigurációt:
dotnet-trace @myprofile.rsp