This commit is contained in:
2021-10-19 17:54:48 +00:00
parent 177b8d3863
commit 8a1e009850
2 changed files with 18 additions and 1 deletions

View File

@@ -764,3 +764,19 @@ HOW TO SEE WHO CALLED A METHOD DURING RUNTIME
keywords: caller, call method stack trace stacktrace
//System.Diagnostics.Debug.WriteLine((new System.Diagnostics.StackTrace()).GetFrame(1).GetMethod().Name);
//System.Diagnostics.Debug.WriteLine((new System.Diagnostics.StackTrace()).ToString().Substring(56,80));
Profiling / perf testing / performance testing
How to peformance test
get process id for AyaNova
C:\temp\xfer\perf>dotnet-trace ps
12048 AyaNova C:\temp\xfer\v8test\win-x64\ayanova\AyaNova.exe
collect data with dotnet trace:
dotnet-trace collect --process-id 12048 --format Speedscope
Use speedscope or built in to Chrome flame graph
https://www.hanselman.com/blog/dotnettrace-for-net-core-tracing-in-perfview-speedscope-chromium-event-trace-profiling-flame-graphs-and-more
how to read a flame graph:
https://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html

View File

@@ -122,6 +122,7 @@ namespace AyaNova.Biz
public static async Task ProcessUpdateTagsInRepositoryAsync(AyContext ct, List<string> newTags, List<string> originalTags = null)
{
//todo: Recode this as a procedure like search indexing or at least a direct sql call
//just in case no new tags are present which could mean a user removed all tags from a record so this
//needs to proceed with the code below even if newTags is null as long as originalTags isn't also null
if (newTags == null) newTags = new List<string>();