Π― Π΄Π΅Π»Π°Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΠ°ΠΊ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ, Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»Π° ΠΈ ΡΡΠ΅ΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ .Net. Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠ°ΠΊ EventSource, EventPipe, ETW, Lttng, EventCounter, EventListener, DiagnosticsSource ΠΈ Activity. ΠΡΠΎΡ ΠΏΠΎΡΠΎΠΊ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΌΡ ΠΊΡΠ°Ρ, ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΊ Π²ΡΠΏΡΡΠΊΡ ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π½Π° docs.microsoft.com, Π½ΠΎ Π²Π·Π°ΠΌΠ΅Π½ ΠΎΠ½, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ Π²Π°Ρ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° ΡΡΠΎΡ Π²ΡΠΏΡΡΠΊ, ΡΡΠΎΠ±Ρ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π½ΠΎΠ²ΠΎΡΡΡΠΌΠΈ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΠΉΡΠ΅ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π½Π°ΠΏΡΡΠΌΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ Π²Π½Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ / Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ EventPipe ΠΈ DiagnosticSourceEventSource. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ EventPipe, Π° Π½Π΅ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠ½ΡΡ SDK ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² IL Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΡΠΎΠ·Π΄Π°Π» ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π΅.
https://github.com/dotnet/coreclr/pull/27522
https://github.com/dotnet/corefx/pull/42104
ΠΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π°Π΄ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡΠ΅ΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π½ΠΎΠ²ΡΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ Π² .Net Core 3.0, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ dotnet-counters ΠΈ dotnet-trace. ΠΡΠ·ΡΠ²Ρ ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ (Ρ ΠΎΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ https://github.com/dotnet/diagnostics/issues/515 ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ). Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
@tarekgh ΡΡΠ΅ΡΠ΄Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π» Π½Π°Π΄ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Activity Π΄Π»Ρ .NET 5. ΠΡΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΏΡΠΎΡΠ°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Activity Π² ΡΠ²ΠΎΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ»ΡΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ OpenTelemetry. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ # 31373 ΠΈ Π΄Π°ΠΉΡΠ΅ Π½Π°ΠΌ Π·Π½Π°ΡΡ, ΡΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ . Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@tarekgh ΡΡΠ΅ΡΠ΄Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π» Π½Π°Π΄ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Activity Π΄Π»Ρ .NET 5. ΠΡΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΏΡΠΎΡΠ°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Activity Π² ΡΠ²ΠΎΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ»ΡΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ OpenTelemetry. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ # 31373 ΠΈ Π΄Π°ΠΉΡΠ΅ Π½Π°ΠΌ Π·Π½Π°ΡΡ, ΡΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ . Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!