174 references to FunctionId
Microsoft.CodeAnalysis.Features (2)
CodeFixes\Suppression\AbstractSuppressionBatchFixAllProvider.cs (2)
61var functionId = FunctionId.CodeFixes_FixAllOccurrencesComputation_Document_Merge; 162var functionId = FunctionId.CodeFixes_FixAllOccurrencesComputation_Project_Merge;
Microsoft.CodeAnalysis.Workspaces (172)
CaseCorrection\AbstractCaseCorrectionService.cs (3)
46using (Logger.LogBlock(FunctionId.CaseCorrection_CaseCorrect, cancellationToken)) 51using (Logger.LogBlock(FunctionId.CaseCorrection_AddReplacements, cancellationToken)) 56using (Logger.LogBlock(FunctionId.CaseCorrection_ReplaceTokens, cancellationToken))
CodeActions\CodeAction.cs (1)
263using var _ = TelemetryLogging.LogBlockTimeAggregated(FunctionId.SuggestedAction_Preview_Summary, $"Total");
CodeActions\Operations\ApplyChangesOperation.cs (9)
61result ? FunctionId.ApplyChangesOperation_WorkspaceVersionMatch_ApplicationSucceeded : FunctionId.ApplyChangesOperation_WorkspaceVersionMatch_ApplicationFailed, 86Logger.Log(FunctionId.ApplyChangesOperation_WorkspaceVersionMismatch_ApplicationFailed_IncompatibleSolutionChange, logLevel: LogLevel.Information); 110Logger.Log(FunctionId.ApplyChangesOperation_WorkspaceVersionMismatch_ApplicationFailed_IncompatibleProjectChange, logLevel: LogLevel.Information); 121Logger.Log(FunctionId.ApplyChangesOperation_WorkspaceVersionMismatch_ApplicationFailed_NoChangedDocument, logLevel: LogLevel.Information); 134Logger.Log(FunctionId.ApplyChangesOperation_WorkspaceVersionMismatch_ApplicationFailed_NoTextChange, logLevel: LogLevel.Information); 142Logger.Log(FunctionId.ApplyChangesOperation_WorkspaceVersionMismatch_ApplicationFailed_DocumentRemoved, logLevel: LogLevel.Information); 151Logger.Log(FunctionId.ApplyChangesOperation_WorkspaceVersionMismatch_ApplicationFailed_TextChangeConflict, logLevel: LogLevel.Information); 159Logger.Log(FunctionId.ApplyChangesOperation_WorkspaceVersionMismatch_ApplicationSucceeded, logLevel: LogLevel.Information);
CodeCleanup\AbstractCodeCleanerService.cs (6)
31using (Logger.LogBlock(FunctionId.CodeCleanup_CleanupAsync, cancellationToken)) 75using (Logger.LogBlock(FunctionId.CodeCleanup_Cleanup, cancellationToken)) 462using (Logger.LogBlock(FunctionId.CodeCleanup_IterateAllCodeCleanupProviders, cancellationToken)) 494using (Logger.LogBlock(FunctionId.CodeCleanup_IterateOneCodeCleanup, GetCodeCleanerTypeName, codeCleaner, cancellationToken)) 544using (Logger.LogBlock(FunctionId.CodeCleanup_IterateAllCodeCleanupProviders, cancellationToken)) 571using (Logger.LogBlock(FunctionId.CodeCleanup_IterateOneCodeCleanup, GetCodeCleanerTypeName, codeCleaner, cancellationToken))
CodeFixes\FixAllOccurrences\FixAllContext.DiagnosticProvider.cs (2)
58FunctionId.CodeFixes_FixAllOccurrencesComputation_Document_Diagnostics, 71FunctionId.CodeFixes_FixAllOccurrencesComputation_Project_Diagnostics,
CodeFixesAndRefactorings\FixAllLogger.cs (12)
44FunctionId functionId; 49functionId = FunctionId.CodeFixes_FixAllOccurrencesContext; 54functionId = FunctionId.Refactoring_FixAllOccurrencesContext; 111var functionId = fixAllKind switch 113FixAllKind.CodeFix => FunctionId.CodeFixes_FixAllOccurrencesComputation, 114FixAllKind.Refactoring => FunctionId.Refactoring_FixAllOccurrencesComputation, 137var functionId = fixAllKind switch 139FixAllKind.CodeFix => FunctionId.CodeFixes_FixAllOccurrencesPreviewChanges, 140FixAllKind.Refactoring => FunctionId.Refactoring_FixAllOccurrencesPreviewChanges, 158Logger.Log(FunctionId.CodeFixes_FixAllOccurrencesComputation_Document_Diagnostics, KeyValueLogMessage.Create(m => 168Logger.Log(FunctionId.CodeFixes_FixAllOccurrencesComputation_Project_Diagnostics, KeyValueLogMessage.Create(m => 176public static void LogFixesToMergeStats(FunctionId functionId, int correlationId, int count)
FindSymbols\Declarations\DeclarationFinder.cs (2)
30using (Logger.LogBlock(FunctionId.SymbolFinder_Project_AddDeclarationsAsync, cancellationToken)) 80using (Logger.LogBlock(FunctionId.SymbolFinder_Assembly_AddDeclarationsAsync, cancellationToken))
FindSymbols\FindReferences\DependentTypeFinder_Remote.cs (4)
60var functionId = kind switch 62DependentTypesKind.DerivedClasses => FunctionId.DependentTypeFinder_FindAndCacheDerivedClassesAsync, 63DependentTypesKind.DerivedInterfaces => FunctionId.DependentTypeFinder_FindAndCacheDerivedInterfacesAsync, 64DependentTypesKind.ImplementingTypes => FunctionId.DependentTypeFinder_FindAndCacheImplementingTypesAsync,
FindSymbols\FindReferences\FindReferencesSearchEngine.cs (1)
324using (Logger.LogBlock(FunctionId.FindReference_ProcessDocumentAsync, cancellationToken))
FindSymbols\SymbolFinder_Declarations_CustomQueries.cs (2)
56using (Logger.LogBlock(FunctionId.SymbolFinder_Solution_Predicate_FindSourceDeclarationsAsync, cancellationToken)) 101using (Logger.LogBlock(FunctionId.SymbolFinder_Project_Predicate_FindSourceDeclarationsAsync, cancellationToken))
FindSymbols\SymbolFinder_Declarations_SourceDeclarations.cs (4)
29using (Logger.LogBlock(FunctionId.SymbolFinder_Solution_Name_FindSourceDeclarationsAsync, cancellationToken)) 49using (Logger.LogBlock(FunctionId.SymbolFinder_Project_Name_FindSourceDeclarationsAsync, cancellationToken)) 80using (Logger.LogBlock(FunctionId.SymbolFinder_Solution_Pattern_FindSourceDeclarationsAsync, cancellationToken)) 108using (Logger.LogBlock(FunctionId.SymbolFinder_Project_Pattern_FindSourceDeclarationsAsync, cancellationToken))
FindSymbols\SymbolFinder_FindLiteralReferences.cs (1)
22using (Logger.LogBlock(FunctionId.FindReference, cancellationToken))
FindSymbols\SymbolFinder_FindReferences_Current.cs (1)
29using (Logger.LogBlock(FunctionId.FindReference, cancellationToken))
FindSymbols\SymbolFinder_FindRenamableReferences.cs (1)
20using (Logger.LogBlock(FunctionId.FindReference_Rename, cancellationToken))
FindSymbols\SymbolTree\SymbolTreeInfo_Serialization.cs (3)
36using (Logger.LogBlock(FunctionId.SymbolTreeInfo_TryLoadOrCreate, cancellationToken)) 54using (Logger.LogBlock(FunctionId.SymbolTreeInfo_Create, cancellationToken)) 266Logger.Log(FunctionId.SymbolTreeInfo_ExceptionInCacheRead);
Log\AggregateLogger.cs (4)
114public bool IsEnabled(FunctionId functionId) 117public void Log(FunctionId functionId, LogMessage logMessage) 131public void LogBlockStart(FunctionId functionId, LogMessage logMessage, int uniquePairId, CancellationToken cancellationToken) 145public void LogBlockEnd(FunctionId functionId, LogMessage logMessage, int uniquePairId, int delta, CancellationToken cancellationToken)
Log\EmptyLogger.cs (4)
18public bool IsEnabled(FunctionId functionId) 21public void Log(FunctionId functionId, LogMessage logMessage) 25public void LogBlockStart(FunctionId functionId, LogMessage logMessage, int uniquePairId, CancellationToken cancellationToken) 29public void LogBlockEnd(FunctionId functionId, LogMessage logMessage, int uniquePairId, int delta, CancellationToken cancellationToken)
Log\EtwLogger.cs (5)
16internal sealed class EtwLogger(Func<FunctionId, bool> isEnabledPredicate) : ILogger 23public bool IsEnabled(FunctionId functionId) 26public void Log(FunctionId functionId, LogMessage logMessage) 29public void LogBlockStart(FunctionId functionId, LogMessage logMessage, int uniquePairId, CancellationToken cancellationToken) 32public void LogBlockEnd(FunctionId functionId, LogMessage logMessage, int uniquePairId, int delta, CancellationToken cancellationToken)
Log\FunctionIdExtensions.cs (4)
13private static readonly Lazy<ImmutableDictionary<FunctionId, string>> s_functionIdsToString = new( 14() => Enum.GetValues(typeof(FunctionId)).Cast<FunctionId>().ToImmutableDictionary(f => f, f => f.ToString())); 16public static string Convert(this FunctionId functionId) => s_functionIdsToString.Value[functionId];
Log\RoslynEventSource.cs (5)
46public void Log(string message, FunctionId functionId) 50public void BlockStart(string message, FunctionId functionId, int blockId) 54public void BlockStop(FunctionId functionId, int tick, int blockId) 62public void BlockCanceled(FunctionId functionId, int tick, int blockId) 108var functions = from f in typeof(FunctionId).GetFields()
Log\RoslynEventSource.LogBlock.cs (6)
22public static LogBlock LogInformationalBlock(FunctionId functionId, object entity, CancellationToken cancellationToken) 32public static LogBlock LogInformationalBlock(FunctionId functionId, string message, CancellationToken cancellationToken) 41private readonly FunctionId _functionId; 57FunctionId functionId, 77FunctionId functionId, 89FunctionId functionId,
Log\TraceLogger.cs (5)
14internal sealed class TraceLogger(Func<FunctionId, bool>? isEnabledPredicate) : ILogger 18public bool IsEnabled(FunctionId functionId) 21public void Log(FunctionId functionId, LogMessage logMessage) 24public void LogBlockStart(FunctionId functionId, LogMessage logMessage, int uniquePairId, CancellationToken cancellationToken) 27public void LogBlockEnd(FunctionId functionId, LogMessage logMessage, int uniquePairId, int delta, CancellationToken cancellationToken)
Log\WorkspaceErrorLogger.cs (1)
24=> Logger.Log(FunctionId.Extension_Exception, (source, exception) => source.GetType().Name + " : " + ToLogFormat(exception), source, exception, LogLevel.Error);
Rename\ConflictEngine\ConflictResolver.cs (1)
61using (Logger.LogBlock(FunctionId.Renamer_ResolveConflictsAsync, cancellationToken))
Rename\LightweightRenameLocations.cs (1)
81using (Logger.LogBlock(FunctionId.Renamer_FindRenameLocationsAsync, cancellationToken))
Rename\Renamer.cs (1)
158using (Logger.LogBlock(FunctionId.Renamer_RenameSymbolAsync, cancellationToken))
Rename\SymbolicRenameLocations.cs (1)
62using (Logger.LogBlock(FunctionId.Rename_AllRenameLocations, cancellationToken))
SemanticModelReuse\AbstractSemanticModelReuseLanguageService.cs (1)
35Logger.Log(FunctionId.SemanticModelReuseLanguageService_TryGetSpeculativeSemanticModelAsync_Equivalent, KeyValueLogMessage.Create(m =>
Serialization\SerializerService.cs (3)
54using (Logger.LogBlock(FunctionId.Serializer_CreateChecksum, s_logKind, kind, cancellationToken)) 88using (Logger.LogBlock(FunctionId.Serializer_Serialize, s_logKind, kind, cancellationToken)) 237using (Logger.LogBlock(FunctionId.Serializer_Deserialize, s_logKind, kind, cancellationToken))
SourceGeneratorTelemetry\SourceGeneratorTelemetryCollectorWorkspaceService.cs (1)
64public void ReportStatisticsAndClear(FunctionId functionId)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (1)
48using (Logger.LogBlock(FunctionId.Formatting_ContextInitialization, CancellationToken.None))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractAggregatedFormattingResult.cs (2)
69using (Logger.LogBlock(FunctionId.Formatting_AggregateCreateTextChanges, cancellationToken)) 101using (Logger.LogBlock(FunctionId.Formatting_AggregateCreateFormattedRoot, cancellationToken))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.cs (6)
115using (Logger.LogBlock(FunctionId.Formatting_Format, FormatSummary, cancellationToken)) 224using (Logger.LogBlock(FunctionId.Formatting_CollectTokenOperation, cancellationToken)) 343using (Logger.LogBlock(FunctionId.Formatting_ApplyAlignOperation, cancellationToken)) 373using (Logger.LogBlock(FunctionId.Formatting_ApplyAnchorOperation, cancellationToken)) 428using (Logger.LogBlock(FunctionId.Formatting_ApplySpaceAndLine, cancellationToken)) 485using (Logger.LogBlock(FunctionId.Formatting_BuildContext, cancellationToken))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (2)
56using (Logger.LogBlock(FunctionId.Formatting_CreateTextChanges, cancellationToken)) 90using (Logger.LogBlock(FunctionId.Formatting_CreateFormattedRoot, cancellationToken))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
53using (Logger.LogBlock(FunctionId.Formatting_TokenStreamConstruction, CancellationToken.None))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Log\ILogger.cs (4)
17bool IsEnabled(FunctionId functionId); 22void Log(FunctionId functionId, LogMessage logMessage); 27void LogBlockStart(FunctionId functionId, LogMessage logMessage, int uniquePairId, CancellationToken cancellationToken); 32void LogBlockEnd(FunctionId functionId, LogMessage logMessage, int uniquePairId, int delta, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Log\Logger.cs (16)
43private static bool TryGetActiveLogger(FunctionId functionId, [NotNullWhen(true)] out ILogger? activeLogger) 59public static void Log(FunctionId functionId, string? message = null, LogLevel logLevel = LogLevel.Debug) 71public static void Log(FunctionId functionId, Func<string> messageGetter, LogLevel logLevel = LogLevel.Debug) 86public static void Log<TArg>(FunctionId functionId, Func<TArg, string> messageGetter, TArg arg, LogLevel logLevel = LogLevel.Debug) 100public static void Log<TArg0, TArg1>(FunctionId functionId, Func<TArg0, TArg1, string> messageGetter, TArg0 arg0, TArg1 arg1, LogLevel logLevel = LogLevel.Debug) 114public static void Log<TArg0, TArg1, TArg2>(FunctionId functionId, Func<TArg0, TArg1, TArg2, string> messageGetter, TArg0 arg0, TArg1 arg1, TArg2 arg2, LogLevel logLevel = LogLevel.Debug) 128public static void Log<TArg0, TArg1, TArg2, TArg3>(FunctionId functionId, Func<TArg0, TArg1, TArg2, TArg3, string> messageGetter, TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, LogLevel logLevel = LogLevel.Debug) 141public static void Log(FunctionId functionId, LogMessage logMessage) 159public static IDisposable LogBlock(FunctionId functionId, CancellationToken token, LogLevel logLevel = LogLevel.Trace) 165public static IDisposable LogBlock(FunctionId functionId, string? message, CancellationToken token, LogLevel logLevel = LogLevel.Trace) 174public static IDisposable LogBlock(FunctionId functionId, Func<string> messageGetter, CancellationToken token, LogLevel logLevel = LogLevel.Trace) 183public static IDisposable LogBlock<TArg>(FunctionId functionId, Func<TArg, string> messageGetter, TArg arg, CancellationToken token, LogLevel logLevel = LogLevel.Trace) 192public static IDisposable LogBlock<TArg0, TArg1>(FunctionId functionId, Func<TArg0, TArg1, string> messageGetter, TArg0 arg0, TArg1 arg1, CancellationToken token, LogLevel logLevel = LogLevel.Trace) 201public static IDisposable LogBlock<TArg0, TArg1, TArg2>(FunctionId functionId, Func<TArg0, TArg1, TArg2, string> messageGetter, TArg0 arg0, TArg1 arg1, TArg2 arg2, CancellationToken token, LogLevel logLevel = LogLevel.Trace) 210public static IDisposable LogBlock<TArg0, TArg1, TArg2, TArg3>(FunctionId functionId, Func<TArg0, TArg1, TArg2, TArg3, string> messageGetter, TArg0 arg0, TArg1 arg1, TArg2 arg2, TArg3 arg3, CancellationToken token, LogLevel logLevel = LogLevel.Trace) 218public static IDisposable LogBlock(FunctionId functionId, LogMessage logMessage, CancellationToken token)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Log\Logger.LogBlock.cs (3)
19private static IDisposable CreateLogBlock(FunctionId functionId, LogMessage message, int blockId, CancellationToken cancellationToken) 40private FunctionId _functionId; 44public void Construct(ILogger logger, FunctionId functionId, LogMessage logMessage, int blockId, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Serialization.cs (1)
30Logger.Log(FunctionId.BKTree_ExceptionInCacheRead);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\NonReentrantLock.cs (1)
125using (Logger.LogBlock(FunctionId.Misc_NonReentrantLock_BlockingWait, cancellationToken))
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (1)
60using (Logger.LogBlock(FunctionId.Simplifier_ReduceAsync, cancellationToken))
Storage\SQLite\v2\Interop\SqlConnection.cs (1)
247Logger.Log(FunctionId.SQLite_SqlException, SQLitePersistentStorage.GetLogMessage(ex));
Storage\SQLite\v2\SQLitePersistentStorage.cs (1)
171Logger.Log(FunctionId.SQLite_StorageDisabled, GetLogMessage(exception));
Storage\StorageDatabaseLogger.cs (1)
40Logger.Log(FunctionId.StorageDatabase_Exceptions, KeyValueLogMessage.Create(m =>
Telemetry\IRemoteProcessTelemetryService.cs (1)
18ValueTask EnableLoggingAsync(ImmutableArray<string> loggerTypeNames, ImmutableArray<FunctionId> functionIds, CancellationToken cancellationToken);
Telemetry\ITelemetryLogProvider.cs (2)
15public ITelemetryLog? GetLog(FunctionId functionId); 23public ITelemetryLog? GetAggregatingLog(FunctionId functionId, double[]? bucketBoundaries = null);
Telemetry\TelemetryLogging.cs (7)
39public static void Log(FunctionId functionId, KeyValueLogMessage logMessage) 53public static IDisposable? LogBlockTime(FunctionId functionId, KeyValueLogMessage logMessage, int minThresholdMs = -1) 62public static void LogAggregated(FunctionId functionId, TelemetryLoggingInterpolatedStringHandler name, int value) 77public static void LogAggregated(FunctionId functionId, KeyValueLogMessage logMessage) 91public static IDisposable? LogBlockTimeAggregated(FunctionId functionId, TelemetryLoggingInterpolatedStringHandler metricName, int minThresholdMs = -1) 107public static ITelemetryLog? GetLog(FunctionId functionId) 115public static ITelemetryLog? GetAggregatingLog(FunctionId functionId, double[]? bucketBoundaries = null)
TemporaryStorage\TemporaryStorageService.cs (3)
110using (Logger.LogBlock(FunctionId.TemporaryStorageServiceFactory_WriteText, cancellationToken)) 151using (Logger.LogBlock(FunctionId.TemporaryStorageServiceFactory_WriteStream, CancellationToken.None)) 280using (Logger.LogBlock(FunctionId.TemporaryStorageServiceFactory_ReadText, cancellationToken))
TemporaryStorage\TemporaryStorageService.TemporaryStorageStreamHandle.cs (1)
23using (Logger.LogBlock(FunctionId.TemporaryStorageServiceFactory_ReadStream, CancellationToken.None))
Utilities\SpellChecker.cs (1)
59Logger.Log(FunctionId.SpellChecker_ExceptionInCacheRead);
Workspace\ProjectSystem\ProjectSystemProject.cs (1)
315Logger.Log(FunctionId.Workspace_Project_CompilationThrownAway, KeyValueLogMessage.Create(m =>
Workspace\Solution\Document.cs (1)
426using (Logger.LogBlock(FunctionId.Workspace_Document_GetTextChanges, this.Name, cancellationToken))
Workspace\Solution\DocumentState.cs (4)
138using (Logger.LogBlock(FunctionId.Workspace_Document_State_FullyParseSyntaxTree, s_fullParseLog, filePath, mode, cancellationToken)) 154using (Logger.LogBlock(FunctionId.Workspace_Document_State_FullyParseSyntaxTree, s_fullParseLog, filePath, mode, cancellationToken)) 200using (Logger.LogBlock(FunctionId.Workspace_Document_State_IncrementallyParseSyntaxTree, cancellationToken)) 222using (Logger.LogBlock(FunctionId.Workspace_Document_State_IncrementallyParseSyntaxTree, cancellationToken))
Workspace\Solution\FileTextLoader.cs (1)
245Logger.Log(FunctionId.FileTextLoader_FileLengthThresholdExceeded, KeyValueLogMessage.Create(m =>
Workspace\Solution\ProjectState_Checksum.cs (1)
45using (Logger.LogBlock(FunctionId.ProjectState_ComputeChecksumsAsync, FilePath, cancellationToken))
Workspace\Solution\SolutionCompilationState.cs (1)
1243using (Logger.LogBlock(FunctionId.Workspace_SkeletonAssembly_GetMetadataOnlyImage, cancellationToken))
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (1)
244using (Logger.LogBlock(FunctionId.Workspace_Project_CompilationTracker_BuildCompilationAsync,
Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs (2)
243using (Logger.LogBlock(FunctionId.Workspace_SkeletonAssembly_EmitMetadataOnlyImage, cancellationToken)) 279Logger.Log(FunctionId.MetadataOnlyImage_EmitFailure, KeyValueLogMessage.Create(m =>
Workspace\Solution\SolutionCompilationState_Checksum.cs (1)
111using (Logger.LogBlock(FunctionId.SolutionCompilationState_ComputeChecksumsAsync, this.SolutionState.FilePath, cancellationToken))
Workspace\Solution\SolutionState_Checksum.cs (1)
111using (Logger.LogBlock(FunctionId.SolutionState_ComputeChecksumsAsync, this.FilePath, cancellationToken))
Workspace\Solution\TextDocumentState_Checksum.cs (1)
37using (Logger.LogBlock(FunctionId.DocumentState_ComputeChecksumsAsync, FilePath, cancellationToken))
Workspace\Solution\VersionSource\RecoverableTextAndVersion.cs (2)
175using (Logger.LogBlock(FunctionId.Workspace_Recoverable_RecoverTextAsync, cancellationToken)) 185using (Logger.LogBlock(FunctionId.Workspace_Recoverable_RecoverText, cancellationToken))
Workspace\Workspace.cs (3)
1486using (Logger.LogBlock(FunctionId.Workspace_ApplyChanges, CancellationToken.None)) 1491Logger.Log(FunctionId.Workspace_ApplyChanges, "Apply Failed: workspaces do not match"); 1501FunctionId.Workspace_ApplyChanges,
Workspace\Workspace_Events.cs (1)
67using (Logger.LogBlock(FunctionId.Workspace_Events, (s, p, d, k) => $"{s.Id} - {p} - {d} {kind.ToString()}", newSolution, projectId, documentId, kind, CancellationToken.None))